fall back from wxITALIC to wxSLANT and vice versa

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@5035 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-12-20 14:29:45 +00:00
parent 405e126cc8
commit f9dbf34fc6

View File

@@ -391,10 +391,47 @@ static wxNativeFont wxLoadQueryFont(int pointSize,
wxString xstyle; wxString xstyle;
switch (style) switch (style)
{ {
case wxITALIC: xstyle = wxT("i"); break; case wxSLANT:
case wxSLANT: xstyle = wxT("o"); break; fontSpec.Printf(wxT("-*-%s-*-o-*-*-*-*-*-*-*-*-*-*"),
case wxNORMAL: xstyle = wxT("r"); break; xfamily.c_str());
default: xstyle = wxT("*"); break; if ( wxTestFontSpec(fontSpec) )
{
xstyle = wxT("o");
break;
}
// fall through - try wxITALIC now
case wxITALIC:
fontSpec.Printf(wxT("-*-%s-*-i-*-*-*-*-*-*-*-*-*-*"),
xfamily.c_str());
if ( wxTestFontSpec(fontSpec) )
{
xstyle = wxT("i");
}
else if ( style == wxITALIC ) // and not wxSLANT
{
// try wxSLANT
fontSpec.Printf(wxT("-*-%s-*-o-*-*-*-*-*-*-*-*-*-*"),
xfamily.c_str());
if ( wxTestFontSpec(fontSpec) )
{
xstyle = wxT("o");
}
else
{
// no italic, no slant - leave default
xstyle = wxT("*");
}
}
break;
default:
wxFAIL_MSG(_T("unknown font style"));
// fall back to normal
case wxNORMAL:
xstyle = wxT("r");
break;
} }
wxString xweight; wxString xweight;