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:
Václav Slavík
2003-01-23 19:49:53 +00:00
parent c4f4cf895c
commit a663cce7f9
4 changed files with 31 additions and 22 deletions

View File

@@ -5,9 +5,20 @@
\section{\class{wxEncodingConverter}}\label{wxencodingconverter} \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 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} \wxheading{Derived from}

View File

@@ -23,14 +23,14 @@ and "interactive" is false or user denied to choose any replacement),
the class queries \helpref{wxEncodingConverter}{wxencodingconverter} the class queries \helpref{wxEncodingConverter}{wxencodingconverter}
for "equivalent" encodings (e.g. iso8859-2 and cp1250) and tries them. 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 If you need to display text in encoding which is not available at
host system (see \helpref{IsEncodingAvailable}{wxfontmapperisencodingavailable}), host system (see \helpref{IsEncodingAvailable}{wxfontmapperisencodingavailable}),
you may use these two classes to find font in some similar encoding you may use these two classes to find font in some similar encoding
(see \helpref{GetAltForEncoding}{wxfontmappergetaltforencoding}) (see \helpref{GetAltForEncoding}{wxfontmappergetaltforencoding})
and convert the text to this encoding and convert the text to this encoding
(\helpref{wxEncodingConverter::Convert}{wxencodingconverterconvert}). (\helpref{wxMBConv classes}{mbconvclasses}).
Following code snippet demonstrates it: Following code snippet demonstrates it:
@@ -41,11 +41,9 @@ if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename))
if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative, if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative,
facename, false)) facename, false))
{ {
wxEncodingConverter encconv; wxCSConv convFrom(wxFontMapper::Get()->GetEncodingName(enc));
if (!encconv.Init(enc, alternative)) wxCSConv convTo(wxFontMapper::Get()->GetEncodingName(alternative));
...failure... text = wxString(text.mb_str(convFrom), convTo);
else
text = encconv.Convert(text);
} }
else else
...failure (or we may try iso8859-1/7bit ASCII)... ...failure (or we may try iso8859-1/7bit ASCII)...

View File

@@ -90,24 +90,22 @@ user's operating system. This is default behaviour of the
\wxheading{Font mapping} \wxheading{Font mapping}
You can use \helpref{wxEncodingConverter}{wxencodingconverter} and You can use \helpref{wxMBConv classes}{mbconvclasses} and
\helpref{wxFontMapper}{wxfontmapper} to display text: \helpref{wxFontMapper}{wxfontmapper} to display text:
\begin{verbatim} \begin{verbatim}
if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename)) if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename))
{ {
wxFontEncoding alternative; wxFontEncoding alternative;
if (wxTheFontMapper->GetAltForEncoding(enc, &alternative, if (wxFontMapper::Get()->GetAltForEncoding(enc, &alternative,
facename, false)) facename, false))
{ {
wxEncodingConverted encconv; wxCSConv convFrom(wxFontMapper::Get()->GetEncodingName(enc));
if (!encconv.Init(enc, alternative)) wxCSConv convTo(wxFontMapper::Get()->GetEncodingName(alternative));
...failure... text = wxString(text.mb_str(convFrom), convTo);
else
text = encconv.Convert(text);
} }
else else
...failure... ...failure (or we may try iso8859-1/7bit ASCII)...
} }
...display text... ...display text...
\end{verbatim} \end{verbatim}
@@ -115,8 +113,10 @@ if (!wxFontMapper::Get()->IsEncodingAvailable(enc, facename))
\wxheading{Converting data} \wxheading{Converting data}
You may want to store all program data (created documents etc.) in You may want to store all program data (created documents etc.) in
the same encoding, let's say windows1250. Obviously, the best way would the same encoding, let's say {\tt utf-8}. You can use
be to use \helpref{wxEncodingConverter}{wxencodingconverter}. \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} \wxheading{Help files}

View File

@@ -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. to get some limited support for {\tt wchar\_t} type.
This will allow your program to perform conversions between Unicode strings and This will allow your program to perform conversions between Unicode strings and
ANSI ones (\helpref{wxEncodingConverter}{wxencodingconverter} depends on this ANSI ones (using \helpref{wxMBConv classes}{mbconvclasses})
partially) and construct wxString objects from Unicode strings (presumably read and construct wxString objects from Unicode strings (presumably read
from some external file or elsewhere). from some external file or elsewhere).