removed wxEncodingConverter from docs where wxMBConv should be mentioned instead
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c4f4cf895c
commit
a663cce7f9
@ -5,9 +5,20 @@
|
||||
|
||||
\section{\class{wxEncodingConverter}}\label{wxencodingconverter}
|
||||
|
||||
This class is capable of converting strings between any two
|
||||
This class is capable of converting strings between two
|
||||
8-bit encodings/charsets. It can also convert from/to Unicode (but only
|
||||
if you compiled wxWindows with wxUSE\_WCHAR\_T set to 1).
|
||||
if you compiled wxWindows with wxUSE\_WCHAR\_T set to 1). Only limited subset
|
||||
of encodings in supported by wxEncodingConverter:
|
||||
{\tt wxFONTENCODING\_ISO8859\_1..15}, {\tt wxFONTENCODING\_CP1250..1257} and
|
||||
{\tt wxFONTENCODING\_KOI8}.
|
||||
|
||||
\wxheading{Note}
|
||||
|
||||
Please use \helpref{wxMBConv classes}{mbconvclasses} instead
|
||||
if possible. \helpref{wxCSConv}{wxcsconv} has much better support for various
|
||||
encodings than wxEncodingConverter. wxEncodingConverter is useful only
|
||||
if you rely on {\tt wxCONVERT\_SUBSTITUTE} mode of operation (see
|
||||
\helpref{Init}{wxencodingconverterinit}).
|
||||
|
||||
\wxheading{Derived from}
|
||||
|
||||
|
@ -23,14 +23,14 @@ and "interactive" is false or user denied to choose any replacement),
|
||||
the class queries \helpref{wxEncodingConverter}{wxencodingconverter}
|
||||
for "equivalent" encodings (e.g. iso8859-2 and cp1250) and tries them.
|
||||
|
||||
\wxheading{Using wxFontMapper in conjunction with wxEncodingConverter}
|
||||
\wxheading{Using wxFontMapper in conjunction with wxMBConv classes}
|
||||
|
||||
If you need to display text in encoding which is not available at
|
||||
host system (see \helpref{IsEncodingAvailable}{wxfontmapperisencodingavailable}),
|
||||
you may use these two classes to find font in some similar encoding
|
||||
(see \helpref{GetAltForEncoding}{wxfontmappergetaltforencoding})
|
||||
and convert the text to this encoding
|
||||
(\helpref{wxEncodingConverter::Convert}{wxencodingconverterconvert}).
|
||||
(\helpref{wxMBConv classes}{mbconvclasses}).
|
||||
|
||||
Following code snippet demonstrates it:
|
||||
|
||||
@ -41,11 +41,9 @@ if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename))
|
||||
if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative,
|
||||
facename, false))
|
||||
{
|
||||
wxEncodingConverter 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 (or we may try iso8859-1/7bit ASCII)...
|
||||
|
@ -90,24 +90,22 @@ user's operating system. This is default behaviour of the
|
||||
|
||||
\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 (!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}
|
||||
@ -115,8 +113,10 @@ if (!wxFontMapper::Get()->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}
|
||||
|
||||
|
@ -182,7 +182,7 @@ compile your program in ANSI mode you can still define {\tt wxUSE\_WCHAR\_T}
|
||||
to get some limited support for {\tt wchar\_t} type.
|
||||
|
||||
This will allow your program to perform conversions between Unicode strings and
|
||||
ANSI ones (\helpref{wxEncodingConverter}{wxencodingconverter} depends on this
|
||||
partially) and construct wxString objects from Unicode strings (presumably read
|
||||
ANSI ones (using \helpref{wxMBConv classes}{mbconvclasses})
|
||||
and construct wxString objects from Unicode strings (presumably read
|
||||
from some external file or elsewhere).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user