X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a23692f070dc2682defb005bd7287ad18091732a..22e3c5bd85233ba23fbb62cd421a7dd173adfa73:/src/os2/font.cpp diff --git a/src/os2/font.cpp b/src/os2/font.cpp index de67ef4211..dfa8111a51 100644 --- a/src/os2/font.cpp +++ b/src/os2/font.cpp @@ -28,12 +28,14 @@ #include "wx/utils.h" #include "wx/app.h" #include "wx/font.h" + #include "wx/log.h" #endif // WX_PRECOMP #include "wx/os2/private.h" #include "wx/fontutil.h" #include "wx/fontmap.h" +#include "wx/encinfo.h" #include "wx/tokenzr.h" @@ -49,7 +51,7 @@ public: wxFontRefData() { Init(-1, wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL, FALSE, - "", wxFONTENCODING_DEFAULT); + wxEmptyString, wxFONTENCODING_DEFAULT); } wxFontRefData( int nSize @@ -374,8 +376,6 @@ bool wxFontRefData::Alloc( wxString sFaceName; long flId = m_hFont; long lRc; - short nIndex = 0; - PFONTMETRICS pFM = NULL; ERRORID vError; wxString sError; @@ -441,7 +441,7 @@ bool wxFontRefData::Alloc( m_nFamily = wxROMAN; else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "WarpSans") == 0) m_nFamily = wxDECORATIVE; - else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helvitica") == 0) + else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helvetica") == 0) m_nFamily = wxSWISS; else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Helv") == 0) m_nFamily = wxSWISS; @@ -454,11 +454,13 @@ bool wxFontRefData::Alloc( else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System Monospaced") == 0) m_nFamily = wxTELETYPE; else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System VIO") == 0) - m_nFamily = wxDEFAULT; + m_nFamily = wxMODERN; else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "System Proportional") == 0) m_nFamily = wxMODERN; else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Arial") == 0) m_nFamily = wxSWISS; + else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Swiss") == 0) + m_nFamily = wxSWISS; else m_nFamily = wxSWISS; @@ -492,7 +494,7 @@ bool wxFontRefData::Alloc( m_nWeight = wxFONTWEIGHT_NORMAL; } m_bUnderlined = ((m_vNativeFontInfo.fa.fsSelection & FATTR_SEL_UNDERSCORE) != 0); - m_sFaceName = m_vNativeFontInfo.fa.szFacename; + m_sFaceName = (wxChar*)m_vNativeFontInfo.fa.szFacename; m_vEncoding = wxGetFontEncFromCharSet(m_vNativeFontInfo.fa.usCodePage); // @@ -580,7 +582,7 @@ bool wxNativeFontInfo::GetUnderlined() const wxString wxNativeFontInfo::GetFaceName() const { - return fm.szFacename; + return (wxChar*)fm.szFacename; } // end of wxNativeFontInfo::GetFaceName wxFontFamily wxNativeFontInfo::GetFamily() const @@ -600,7 +602,7 @@ wxFontFamily wxNativeFontInfo::GetFamily() const nFamily = wxROMAN; else if (strcmp(fm.szFamilyname, "WarpSans") == 0) nFamily = wxDECORATIVE; - else if (strcmp(fm.szFamilyname, "Helvitica") == 0) + else if (strcmp(fm.szFamilyname, "Helvetica") == 0) nFamily = wxSWISS; else if (strcmp(fm.szFamilyname, "Helv") == 0) nFamily = wxSWISS; @@ -613,11 +615,13 @@ wxFontFamily wxNativeFontInfo::GetFamily() const else if (strcmp(fm.szFamilyname, "System Monospaced") == 0) nFamily = wxTELETYPE; else if (strcmp(fm.szFamilyname, "System VIO") == 0) - nFamily = wxDEFAULT; + nFamily = wxMODERN; else if (strcmp(fm.szFamilyname, "System Proportional") == 0) nFamily = wxMODERN; else if (strcmp(fm.szFamilyname, "Arial") == 0) nFamily = wxSWISS; + else if (strcmp(fm.szFamilyname, "Swiss") == 0) + nFamily = wxSWISS; else nFamily = wxSWISS; return (wxFontFamily)nFamily; @@ -691,7 +695,7 @@ void wxNativeFontInfo::SetFaceName( wxString sFacename ) { - wxStrncpy(fa.szFacename, sFacename, WXSIZEOF(fa.szFacename)); + wxStrncpy((wxChar*)fa.szFacename, sFacename, WXSIZEOF(fa.szFacename)); } // end of wxNativeFontInfo::SetFaceName void wxNativeFontInfo::SetFamily( @@ -703,7 +707,7 @@ void wxNativeFontInfo::SetFamily( switch (eFamily) { case wxSCRIPT: - sFacename = wxT("Script"); + sFacename = wxT("Tms Rmn"); break; case wxDECORATIVE: @@ -711,15 +715,15 @@ void wxNativeFontInfo::SetFamily( break; case wxROMAN: - sFacename = wxT("Times New Roman"); + sFacename = wxT("Tms Rmn"); break; case wxTELETYPE: - sFacename = wxT("Courier New") ; + sFacename = wxT("Courier") ; break; case wxMODERN: - sFacename = wxT("Courier New") ; + sFacename = wxT("System VIO") ; break; case wxSWISS: @@ -731,7 +735,7 @@ void wxNativeFontInfo::SetFamily( sFacename = wxT("System VIO") ; } - if (!wxStrlen(fa.szFacename) ) + if (!wxStrlen((wxChar*)fa.szFacename) ) { SetFaceName(sFacename); } @@ -834,7 +838,7 @@ bool wxNativeFontInfo::FromString( sToken = vTokenizer.GetNextToken(); if(!sToken) return FALSE; - wxStrcpy(fa.szFacename, sToken.c_str()); + wxStrcpy((wxChar*)fa.szFacename, sToken.c_str()); return TRUE; } // end of wxNativeFontInfo::FromString @@ -1068,7 +1072,7 @@ void wxFont::SetEncoding( RealizeResource(); } // end of wxFont::SetEncoding -void wxFont::SetNativeFontInfo( +void wxFont::DoSetNativeFontInfo( const wxNativeFontInfo& rInfo ) { @@ -1134,11 +1138,10 @@ wxFontEncoding wxFont::GetEncoding() const return M_FONTDATA->GetEncoding(); } // end of wxFont::GetEncoding -wxNativeFontInfo* wxFont::GetNativeFontInfo() const +const wxNativeFontInfo* wxFont::GetNativeFontInfo() const { - if (M_FONTDATA->HasNativeFontInfo()) - return new wxNativeFontInfo(M_FONTDATA->GetNativeFontInfo()); - return 0; + return M_FONTDATA->HasNativeFontInfo() ? &(M_FONTDATA->GetNativeFontInfo()) + : NULL; } // end of wxFont::GetNativeFontInfo //