X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/07e285be620715a9c22ee7ae820c983bcdedbf88..8d99dec09b29b5bce370b087cc0f35e2be9cb39a:/docs/latex/wx/tnoneng.tex diff --git a/docs/latex/wx/tnoneng.tex b/docs/latex/wx/tnoneng.tex index d1c5d65249..a11bf9cc7b 100644 --- a/docs/latex/wx/tnoneng.tex +++ b/docs/latex/wx/tnoneng.tex @@ -44,7 +44,7 @@ msgstr "" "Content-Transfer-Encoding: ENCODING\n" \end{verbatim} -Notice this particular line: +Note this particular line: \begin{verbatim} "Content-Type: text/plain; charset=CHARSET\n" @@ -80,41 +80,32 @@ wxWindows is able to use this catalog under any supported platform Windows). How is this done? When you tell the wxLocale class to load a message catalog that -contains correct header, it checks the charset. If the -charset is "alien" on the platform the program is currently running (e.g. -any of ISO encodings under Windows or CP12XX under Unix) it uses -\helpref{wxEncodingConverter::GetPlatformEquivalents}{wxencodingconvertergetplatformequivalents} -to obtain an encoding that is more common on this platform and converts -the message catalog to this encoding. Note that it does {\bf not} check -for presence of fonts in the "platform" encoding! It only assumes that it is -always better to have strings in platform native encoding than in an encoding -that is rarely (if ever) used. - -The behaviour described above is disabled by default. -You must set {\it bConvertEncoding} to TRUE in -\helpref{wxLocale constructor}{wxlocaledefctor} in order to enable -runtime encoding conversion. +contains correct header, it checks the charset. The catalog is then converted +to the charset used (see +\helpref{wxLocale::GetSystemEncoding}{wxlocalegetsystemencoding} and +\helpref{wxLocale::GetSystemEncodingName}{wxlocalegetsystemencodingname}) by +user's operating system. This is default behaviour of the +\helpref{wxLocale}{wxlocale} class; you can disable it by {\bf not} passing +{\tt wxLOCALE\_CONV\_ENCODING} to \helpref{wxLocale::Init}{wxlocaleinit}. \wxheading{Font mapping} -You can use \helpref{wxEncodingConverter}{wxencodingconverter} and +You can use \helpref{wxMBConv classes}{mbconvclasses} and \helpref{wxFontMapper}{wxfontmapper} to display text: \begin{verbatim} -if (!wxTheFontMapper->IsEncodingAvailable(enc, facename)) +if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename)) { wxFontEncoding alternative; - if (wxTheFontMapper->GetAltForEncoding(enc, &alternative, - facename, FALSE)) + if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative, + facename, false)) { - wxEncodingConverted encconv; - if (!encconv.Init(enc, alternative)) - ...failure... - else - text = encconv.Convert(text); + wxCSConv convFrom(wxFontMapper::Get()->GetEncodingName(enc)); + wxCSConv convTo(wxFontMapper::Get()->GetEncodingName(alternative)); + text = wxString(text.mb_str(convFrom), convTo); } else - ...failure... + ...failure (or we may try iso8859-1/7bit ASCII)... } ...display text... \end{verbatim} @@ -122,8 +113,10 @@ if (!wxTheFontMapper->IsEncodingAvailable(enc, facename)) \wxheading{Converting data} You may want to store all program data (created documents etc.) in -the same encoding, let's say windows1250. Obviously, the best way would -be to use \helpref{wxEncodingConverter}{wxencodingconverter}. +the same encoding, let's say {\tt utf-8}. You can use +\helpref{wxCSConv}{wxcsconv} class to convert data to encoding used by the +system your application is running on (see +\helpref{wxLocale::GetSystemEncoding}{wxlocalegetsystemencoding}). \wxheading{Help files}