//
inline int GetPointSize(void) const
{
- return m_bNativeFontInfoOk ? m_vNativeFontInfo.GetPointSize()
- : m_nPointSize;
+ //
+ // We don't use the actual native font point size since it is
+ // the chosen physical font, which is usually only and approximation
+ // of the desired outline font. The actual displayable point size
+ // is the one stored in the refData
+ //
+ return m_nPointSize;
}
inline int GetFamily(void) const
long lRc;
short nIndex = 0;
PFONTMETRICS pFM = NULL;
+ ERRORID vError;
+ wxString sError;
if (!m_bNativeFontInfoOk)
{
}
if (!m_hFont)
{
+ vError = ::WinGetLastError(vHabmain);
+ sError = wxPMErrorToStr(vError);
wxLogLastError("CreateFont");
}
//
memcpy(&m_vFattrs, &m_vNativeFontInfo.fa, sizeof(m_vFattrs));
memcpy(&m_vFname, &m_vNativeFontInfo.fn, sizeof(m_vFname));
- m_nPointSize = m_vNativeFontInfo.fm.lEmHeight;
+ //
+ // Going to leave the point size alone. Mostly we use outline fonts
+ // that can be set to any point size inside of Presentation Parameters,
+ // regardless of whether or not the actual font is registered in the system.
+ // The GpiCreateLogFont will do enough by selecting the right family,
+ // and face name.
+ //
if (strcmp(m_vNativeFontInfo.fa.szFacename, "Times New Roman") == 0)
m_nFamily = wxROMAN;
else if (strcmp(m_vNativeFontInfo.fa.szFacename, "Tms Rmn") == 0)
if ( m_hFont )
{
- if (!::GpiSetCharSet(m_hPS, LCID_DEFAULT))
- {
- wxLogLastError(wxT("DeleteObject(font)"));
- }
::GpiDeleteSetId(m_hPS, 1L); /* delete the logical font */
m_nFontId = 0;
m_hFont = 0;
,&vInfo
))
{
-#if wxUSE_FONTMAP
- if (wxTheFontMapper->GetAltForEncoding( eEncoding
+ if (wxFontMapper::Get()->GetAltForEncoding( eEncoding
,&vInfo
))
{
}
}
else
-#endif // wxUSE_FONTMAP
{
// unsupported encoding, replace with the default
vInfo.charset = 850;
M_FONTDATA->SetPS(hPS);
RealizeResource();
-} // end of wxFont::SetUnderlined
+} // end of wxFont::SetPS