X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07df68c89aeba256e14a6da36fb5661826968824..31ad423e4fb556ec225a63b161154d3bf3445c1b:/src/os2/font.cpp diff --git a/src/os2/font.cpp b/src/os2/font.cpp index 1429413d81..517053a915 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" @@ -348,14 +350,19 @@ void wxFontRefData::Init( m_bNativeFontInfoOk = TRUE; m_vNativeFontInfo = rInfo; - if (m_hPS == NULLHANDLE) + if (hPS == NULLHANDLE) { m_hPS = ::WinGetPS(HWND_DESKTOP); m_bInternalPS = TRUE; } else m_hPS = (HPS)hPS; -} + + m_nFontId = 0; + m_bTemporary = FALSE; + m_pFM = (PFONTMETRICS)NULL; + m_nNumFonts = 0; +} // end of wxFontRefData::Init wxFontRefData::~wxFontRefData() { @@ -369,8 +376,6 @@ bool wxFontRefData::Alloc( wxString sFaceName; long flId = m_hFont; long lRc; - short nIndex = 0; - PFONTMETRICS pFM = NULL; ERRORID vError; wxString sError; @@ -436,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; @@ -449,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 = wxTELETYPE; + 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 = wxMODERN; + m_nFamily = wxSWISS; + else if (strcmp(m_vNativeFontInfo.fm.szFamilyname, "Swiss") == 0) + m_nFamily = wxSWISS; else m_nFamily = wxSWISS; @@ -595,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; @@ -608,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 = wxTELETYPE; + nFamily = wxMODERN; else if (strcmp(fm.szFamilyname, "System Proportional") == 0) nFamily = wxMODERN; else if (strcmp(fm.szFamilyname, "Arial") == 0) - nFamily = wxMODERN; + nFamily = wxSWISS; + else if (strcmp(fm.szFamilyname, "Swiss") == 0) + nFamily = wxSWISS; else nFamily = wxSWISS; return (wxFontFamily)nFamily; @@ -698,7 +707,7 @@ void wxNativeFontInfo::SetFamily( switch (eFamily) { case wxSCRIPT: - sFacename = wxT("Script"); + sFacename = wxT("Tms Rmn"); break; case wxDECORATIVE: @@ -706,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("Arial") ; + sFacename = wxT("System VIO") ; break; case wxSWISS: @@ -723,7 +732,7 @@ void wxNativeFontInfo::SetFamily( case wxDEFAULT: default: - sFacename = wxT("System Proportional") ; + sFacename = wxT("System VIO") ; } if (!wxStrlen(fa.szFacename) ) @@ -1063,7 +1072,7 @@ void wxFont::SetEncoding( RealizeResource(); } // end of wxFont::SetEncoding -void wxFont::SetNativeFontInfo( +void wxFont::DoSetNativeFontInfo( const wxNativeFontInfo& rInfo ) { @@ -1129,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 //