COnversion of some common font names to current platform
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@53671 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -2148,6 +2148,10 @@ protected:
|
||||
// in a larger document
|
||||
#define wxRICHTEXT_HANDLER_NO_HEADER_FOOTER 0x0080
|
||||
|
||||
// Convert the more common face names to names that will work on the current platform
|
||||
// in a larger document
|
||||
#define wxRICHTEXT_HANDLER_CONVERT_FACENAMES 0x0100
|
||||
|
||||
/*!
|
||||
* wxRichTextFileHandler
|
||||
* Base class for file handlers
|
||||
|
@@ -1072,6 +1072,54 @@ wxString wxRichTextXMLHandler::CreateStyle(const wxTextAttrEx& attr, bool isPara
|
||||
return str;
|
||||
}
|
||||
|
||||
/// Replace face name with current name for platform.
|
||||
/// TODO: introduce a virtual function or settable table to
|
||||
/// do this comprehensively.
|
||||
bool wxRichTextFixFaceName(wxString& facename)
|
||||
{
|
||||
if (facename.IsEmpty())
|
||||
return false;
|
||||
|
||||
#ifdef __WXMSW__
|
||||
if (facename == wxT("Times"))
|
||||
{
|
||||
facename = wxT("Times New Roman");
|
||||
return true;
|
||||
}
|
||||
else if (facename == wxT("Helvetica"))
|
||||
{
|
||||
facename = wxT("Arial");
|
||||
return true;
|
||||
}
|
||||
else if (facename == wxT("Courier"))
|
||||
{
|
||||
facename = wxT("Courier New");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
#else
|
||||
if (facename == wxT("Times New Roman"))
|
||||
{
|
||||
facename = wxT("Times");
|
||||
return true;
|
||||
}
|
||||
else if (facename == wxT("Arial"))
|
||||
{
|
||||
facename = wxT("Helvetica");
|
||||
return true;
|
||||
}
|
||||
else if (facename == wxT("Courier New"))
|
||||
{
|
||||
facename = wxT("Courier");
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
/// Get style parameters
|
||||
bool wxRichTextXMLHandler::GetStyle(wxTextAttrEx& attr, wxXmlNode* node, bool isPara)
|
||||
{
|
||||
@@ -1086,8 +1134,13 @@ bool wxRichTextXMLHandler::GetStyle(wxTextAttrEx& attr, wxXmlNode* node, bool is
|
||||
|
||||
fontFacename = node->GetPropVal(wxT("fontface"), wxEmptyString);
|
||||
if (!fontFacename.IsEmpty())
|
||||
{
|
||||
fontFlags |= wxTEXT_ATTR_FONT_FACE;
|
||||
|
||||
if (GetFlags() & wxRICHTEXT_HANDLER_CONVERT_FACENAMES)
|
||||
wxRichTextFixFaceName(fontFacename);
|
||||
}
|
||||
|
||||
wxString value;
|
||||
//value = node->GetPropVal(wxT("fontfamily"), wxEmptyString);
|
||||
//if (!value.empty())
|
||||
|
Reference in New Issue
Block a user