some stupid attempts to make utf8 work - it doesn't, but the code does no harm and could be useful in the future
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@9332 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -64,6 +64,9 @@ enum wxFontEncoding
|
|||||||
wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7)
|
wxFONTENCODING_CP1257, // WinBaltic (same as Latin 7)
|
||||||
wxFONTENCODING_CP12_MAX,
|
wxFONTENCODING_CP12_MAX,
|
||||||
|
|
||||||
|
wxFONTENCODING_UTF7, // UTF-7 Unicode encoding
|
||||||
|
wxFONTENCODING_UTF8, // UTF-8 Unicode encoding
|
||||||
|
|
||||||
wxFONTENCODING_UNICODE, // Unicode - currently used only by
|
wxFONTENCODING_UNICODE, // Unicode - currently used only by
|
||||||
// wxEncodingConverter class
|
// wxEncodingConverter class
|
||||||
|
|
||||||
|
@@ -557,7 +557,8 @@ void MyFrame::OnViewMsg(wxCommandEvent& WXUNUSED(event))
|
|||||||
|
|
||||||
m_textctrl->LoadFile(filename);
|
m_textctrl->LoadFile(filename);
|
||||||
|
|
||||||
if (!wxTheFontMapper->IsEncodingAvailable(fontenc))
|
if ( fontenc == wxFONTENCODING_UTF8 ||
|
||||||
|
!wxTheFontMapper->IsEncodingAvailable(fontenc) )
|
||||||
{
|
{
|
||||||
// try to find some similar encoding:
|
// try to find some similar encoding:
|
||||||
wxFontEncoding encAlt;
|
wxFontEncoding encAlt;
|
||||||
|
@@ -90,6 +90,8 @@ static wxFontEncoding gs_encodings[] =
|
|||||||
wxFONTENCODING_CP1256,
|
wxFONTENCODING_CP1256,
|
||||||
wxFONTENCODING_CP1257,
|
wxFONTENCODING_CP1257,
|
||||||
wxFONTENCODING_CP437,
|
wxFONTENCODING_CP437,
|
||||||
|
wxFONTENCODING_UTF7,
|
||||||
|
wxFONTENCODING_UTF8,
|
||||||
};
|
};
|
||||||
|
|
||||||
// the descriptions for them
|
// the descriptions for them
|
||||||
@@ -120,6 +122,8 @@ static const wxChar* gs_encodingDescs[] =
|
|||||||
wxTRANSLATE( "Windows Arabic (CP 1256)" ),
|
wxTRANSLATE( "Windows Arabic (CP 1256)" ),
|
||||||
wxTRANSLATE( "Windows Baltic (CP 1257)" ),
|
wxTRANSLATE( "Windows Baltic (CP 1257)" ),
|
||||||
wxTRANSLATE( "Windows/DOS OEM (CP 437)" ),
|
wxTRANSLATE( "Windows/DOS OEM (CP 437)" ),
|
||||||
|
wxTRANSLATE( "Unicode 7 bit (UTF-7)" ),
|
||||||
|
wxTRANSLATE( "Unicode 8 bit (UTF-8)" ),
|
||||||
};
|
};
|
||||||
|
|
||||||
// and the internal names
|
// and the internal names
|
||||||
@@ -150,6 +154,8 @@ static const wxChar* gs_encodingNames[] =
|
|||||||
wxT( "windows1256" ),
|
wxT( "windows1256" ),
|
||||||
wxT( "windows1257" ),
|
wxT( "windows1257" ),
|
||||||
wxT( "windows437" ),
|
wxT( "windows437" ),
|
||||||
|
wxT( "utf7" ),
|
||||||
|
wxT( "utf8" ),
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -399,7 +405,7 @@ wxFontEncoding wxFontMapper::CharsetToEncoding(const wxString& charset,
|
|||||||
|
|
||||||
RestorePath(pathOld);
|
RestorePath(pathOld);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // wxUSE_CONFIG
|
||||||
|
|
||||||
// if didn't find it there, try to reckognise it ourselves
|
// if didn't find it there, try to reckognise it ourselves
|
||||||
if ( encoding == wxFONTENCODING_SYSTEM )
|
if ( encoding == wxFONTENCODING_SYSTEM )
|
||||||
@@ -417,6 +423,10 @@ wxFontEncoding wxFontMapper::CharsetToEncoding(const wxString& charset,
|
|||||||
|
|
||||||
if ( !cs || cs == wxT("US-ASCII") )
|
if ( !cs || cs == wxT("US-ASCII") )
|
||||||
encoding = wxFONTENCODING_DEFAULT;
|
encoding = wxFONTENCODING_DEFAULT;
|
||||||
|
else if ( cs == wxT("UTF-7") )
|
||||||
|
encoding = wxFONTENCODING_UTF7;
|
||||||
|
else if ( cs == wxT("UTF-8") )
|
||||||
|
encoding = wxFONTENCODING_UTF8;
|
||||||
else if ( cs == wxT("KOI8-R") || cs == wxT("KOI8-U") )
|
else if ( cs == wxT("KOI8-R") || cs == wxT("KOI8-U") )
|
||||||
encoding = wxFONTENCODING_KOI8;
|
encoding = wxFONTENCODING_KOI8;
|
||||||
else if ( cs.Left(3) == wxT("ISO") )
|
else if ( cs.Left(3) == wxT("ISO") )
|
||||||
@@ -696,7 +706,7 @@ bool wxFontMapper::GetAltForEncoding(wxFontEncoding encoding,
|
|||||||
|
|
||||||
RestorePath(pathOld);
|
RestorePath(pathOld);
|
||||||
}
|
}
|
||||||
#endif
|
#endif // wxUSE_CONFIG
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@@ -183,6 +183,13 @@ bool wxGetNativeFontEncoding(wxFontEncoding encoding,
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case wxFONTENCODING_UTF8:
|
||||||
|
// FIXME: this is probably false, but this is how they are called on
|
||||||
|
// my system and I don't know what the standard XFLD is (VZ)
|
||||||
|
info->xregistry = wxT("iso646.1991");
|
||||||
|
info->xencoding = wxT("*");
|
||||||
|
break;
|
||||||
|
|
||||||
case wxFONTENCODING_KOI8:
|
case wxFONTENCODING_KOI8:
|
||||||
info->xregistry = wxT("koi8");
|
info->xregistry = wxT("koi8");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user