return lf.lfFaceName;
}
+wxFontFamily wxNativeFontInfo::GetFamily() const
+{
+ // extract family from pitch-and-family
+ int lfFamily = lf.lfPitchAndFamily;
+ int family;
+
+ if ( lfFamily & FIXED_PITCH )
+ lfFamily -= FIXED_PITCH;
+ if ( lfFamily & VARIABLE_PITCH )
+ lfFamily -= VARIABLE_PITCH;
+
+ switch ( lfFamily )
+ {
+ case FF_ROMAN:
+ family = wxROMAN;
+ break;
+
+ case FF_SWISS:
+ family = wxSWISS;
+ break;
+
+ case FF_SCRIPT:
+ family = wxSCRIPT;
+ break;
+
+ case FF_MODERN:
+ family = wxMODERN;
+ break;
+
+ case FF_DECORATIVE:
+ family = wxDECORATIVE;
+ break;
+
+ default:
+ family = wxSWISS;
+ }
+ return (wxFontFamily)family;
+}
+
wxFontEncoding wxNativeFontInfo::GetEncoding() const
{
return wxGetFontEncFromCharSet(lf.lfCharSet);
void wxNativeFontInfo::SetFaceName(wxString facename)
{
- wxStrncpy(lf.lfFaceName, facename, sizeof(lf.lfFaceName));
+ wxStrncpy(lf.lfFaceName, facename, WXSIZEOF(lf.lfFaceName));
}
void wxNativeFontInfo::SetFamily(wxFontFamily family)
if ( !wxGetNativeFontEncoding(encoding, &info) )
{
#if wxUSE_FONTMAP
- if ( !wxTheFontMapper->GetAltForEncoding(encoding, &info) )
+ if ( wxTheFontMapper->GetAltForEncoding(encoding, &info) )
+ {
+ if ( !info.facename.empty() )
+ {
+ // if we have this encoding only in some particular facename, use
+ // the facename - it is better to show the correct characters in a
+ // wrong facename than unreadable text in a correct one
+ SetFaceName(info.facename);
+ }
+ }
+ else
#endif // wxUSE_FONTMAP
{
// unsupported encoding, replace with the default
info.charset = ANSI_CHARSET;
}
- else if ( !info.facename.empty() )
- {
- // if we have this encoding only in some particular facename, use
- // the facename - it is better to show the correct characters in a
- // wrong facename than unreadable text in a correct one
- SetFaceName(info.facename);
- }
}
lf.lfCharSet = info.charset;