!wxTestFontEncoding(info) )
{
#if wxUSE_FONTMAP
- if ( !wxTheFontMapper->GetAltForEncoding(encoding, &info) )
+ if ( !wxFontMapper::Get()->GetAltForEncoding(encoding, &info) )
#endif // wxUSE_FONTMAP
{
// unspported encoding - replace it with the default
default: xfamily = wxT("*");
}
#if wxUSE_NANOX
+ int xweight;
+ switch (weight)
+ {
+ case wxBOLD:
+ {
+ xweight = MWLF_WEIGHT_BOLD;
+ break;
+ }
+ case wxLIGHT:
+ {
+ xweight = MWLF_WEIGHT_LIGHT;
+ break;
+ }
+ case wxNORMAL:
+ {
+ xweight = MWLF_WEIGHT_NORMAL;
+ break;
+ }
+
+ default:
+ {
+ xweight = MWLF_WEIGHT_DEFAULT;
+ break;
+ }
+ }
GR_SCREEN_INFO screenInfo;
GrGetScreenInfo(& screenInfo);
int yPixelsPerCM = screenInfo.ydpcm;
- // A point is 1/20 of an inch.
+ // A point is 1/72 of an inch.
// An inch is 2.541 cm.
- // So pixelHeight = (pointSize / 20) (inches) * 2.541 (for cm) * yPixelsPerCM (for pixels)
-
- int pixelHeight = (int) ( (((float)pointSize) / 20.0) * 2.541 * (float) yPixelsPerCM) ;
+ // So pixelHeight = (pointSize / 72) (inches) * 2.541 (for cm) * yPixelsPerCM (for pixels)
+ // In fact pointSize is 10 * the normal point size so
+ // divide by 10.
+
+ int pixelHeight = (int) ( (((float)pointSize) / 720.0) * 2.541 * (float) yPixelsPerCM) ;
+
+ // An alternative: assume that the screen is 72 dpi.
+ //int pixelHeight = (int) (((float)pointSize / 720.0) * 72.0) ;
+ //int pixelHeight = (int) ((float)pointSize / 10.0) ;
GR_LOGFONT logFont;
logFont.lfHeight = pixelHeight;
logFont.lfWidth = 0;
logFont.lfEscapement = 0;
logFont.lfOrientation = 0;
- logFont.lfWeight = weight; // TODO: check of conversion req'd
+ logFont.lfWeight = xweight;
logFont.lfItalic = (style == wxNORMAL ? 0 : 1) ;
logFont.lfUnderline = 0;
logFont.lfStrikeOut = 0;
// if pointSize is -1, don't specify any
wxString sizeSpec;
- if ( fontSpec == -1 )
+ if ( pointSize == -1 )
{
sizeSpec = _T('*');
}