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:
@@ -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;
|
||||||
|
Reference in New Issue
Block a user