]> git.saurik.com Git - wxWidgets.git/blob - docs/latex/wx/encconv.tex
second merge of the 2.2 branch (RL)
[wxWidgets.git] / docs / latex / wx / encconv.tex
1 %
2 % automatically generated by HelpGen from
3 % encconv.h at 30/Dec/99 18:45:16
4 %
5
6 \section{\class{wxEncodingConverter}}\label{wxencodingconverter}
7
8 This class is capable of converting strings between any two
9 8-bit encodings/charsets. It can also convert from/to Unicode (but only
10 if you compiled wxWindows with wxUSE\_WCHAR\_T set to 1).
11
12 \wxheading{Derived from}
13
14 \helpref{wxObject}{wxobject}
15
16 \wxheading{Include files}
17
18 <wx/encconv.h>
19
20 \wxheading{See also}
21
22 \helpref{wxFontMapper}{wxfontmapper},
23 \helpref{wxMBConv}{wxmbconv},
24 \helpref{Writing non-English applications}{nonenglishoverview}
25
26
27 \latexignore{\rtfignore{\wxheading{Members}}}
28
29 \membersection{wxEncodingConverter::wxEncodingConverter}\label{wxencodingconverterwxencodingconverter}
30
31 \func{}{wxEncodingConverter}{\void}
32
33 Constructor.
34
35 \membersection{wxEncodingConverter::Init}\label{wxencodingconverterinit}
36
37 \func{bool}{Init}{\param{wxFontEncoding }{input\_enc}, \param{wxFontEncoding }{output\_enc}, \param{int }{method = wxCONVERT\_STRICT}}
38
39 Initialize convertion. Both output or input encoding may
40 be wxFONTENCODING\_UNICODE, but only if wxUSE\_ENCODING is set to 1.
41 All subsequent calls to \helpref{Convert()}{wxencodingconverterconvert}
42 will interpret its argument
43 as a string in {\it input\_enc} encoding and will output string in
44 {\it output\_enc} encoding.
45 You must call this method before calling Convert. You may call
46 it more than once in order to switch to another conversion.
47 {\it Method} affects behaviour of Convert() in case input character
48 cannot be converted because it does not exist in output encoding:
49
50 \begin{twocollist}\itemsep=0pt
51 \twocolitem{{\bf wxCONVERT\_STRICT}}{follow behaviour of GNU Recode -
52 just copy unconvertible characters to output and don't change them
53 (its integer value will stay the same)}
54 \twocolitem{{\bf wxCONVERT\_SUBSTITUTE}}{try some (lossy) substitutions
55 - e.g. replace unconvertible latin capitals with acute by ordinary
56 capitals, replace en-dash or em-dash by '-' etc.}
57 \end{twocollist}
58
59 Both modes guarantee that output string will have same length
60 as input string.
61
62 \wxheading{Return value}
63
64 FALSE if given conversion is impossible, TRUE otherwise
65 (conversion may be impossible either if you try to convert
66 to Unicode with non-Unicode build of wxWindows or if input
67 or output encoding is not supported.)
68
69 \membersection{wxEncodingConverter::Convert}\label{wxencodingconverterconvert}
70
71 \func{wxString}{Convert}{\param{const wxString\& }{input}}
72
73 \func{void}{Convert}{\param{const wxChar* }{input}, \param{wxChar* }{output}}
74
75 \func{void}{Convert}{\param{wxChar* }{str}}
76
77 \func{void}{Convert}{\param{const char* }{input}, \param{wxChar* }{output}}
78
79 Convert input string according to settings passed to \helpref{Init}{wxencodingconverterinit}.
80 Note that you must call Init before using Convert!
81
82 \membersection{wxEncodingConverter::GetPlatformEquivalents}\label{wxencodingconvertergetplatformequivalents}
83
84 \func{static wxFontEncodingArray}{GetPlatformEquivalents}{\param{wxFontEncoding }{enc}, \param{int }{platform = wxPLATFORM\_CURRENT}}
85
86 Return equivalents for given font that are used
87 under given platform. Supported platforms:
88
89 \begin{itemize}\itemsep=0pt
90 \item wxPLATFORM\_UNIX
91 \item wxPLATFORM\_WINDOWS
92 \item wxPLATFORM\_OS2
93 \item wxPLATFORM\_MAC
94 \item wxPLATFORM\_CURRENT
95 \end{itemize}
96
97 wxPLATFORM\_CURRENT means the plaform this binary was compiled for.
98
99 Examples:
100
101 \begin{verbatim}
102 current platform enc returned value
103 ----------------------------------------------
104 unix CP1250 {ISO8859_2}
105 unix ISO8859_2 {ISO8859_2}
106 windows ISO8859_2 {CP1250}
107 unix CP1252 {ISO8859_1,ISO8859_15}
108 \end{verbatim}
109
110 Equivalence is defined in terms of convertibility:
111 two encodings are equivalent if you can convert text between
112 then without losing information (it may - and will - happen
113 that you lose special chars like quotation marks or em-dashes
114 but you shouldn't lose any diacritics and language-specific
115 characters when converting between equivalent encodings).
116
117 Remember that this function does {\bf NOT} check for presence of
118 fonts in system. It only tells you what are most suitable
119 encodings. (It usually returns only one encoding.)
120
121 \wxheading{Notes}
122
123 \begin{itemize}\itemsep=0pt
124 \item Note that argument {\it enc} itself may be present in the returned array,
125 so that you can, as a side-effect, detect whether the
126 encoding is native for this platform or not.
127 \item \helpref{Convert}{wxencodingconverterconvert} is not limited to
128 converting between equivalent encodings, it can convert between two arbitrary
129 encodings.
130 \item If {\it enc} is present in the returned array, then it is {\bf always} the first
131 item of it.
132 \item Please note that the returned array may contain no items at all.
133 \end{itemize}
134
135 \membersection{wxEncodingConverter::GetAllEquivalents}\label{wxencodingconvertergetallequivalents}
136
137 \func{static wxFontEncodingArray}{GetAllEquivalents}{\param{wxFontEncoding }{enc}}
138
139 Similar to
140 \helpref{GetPlatformEquivalents}{wxencodingconvertergetplatformequivalents},
141 but this one will return ALL
142 equivalent encodings, regardless of the platform, and including itself.
143
144 This platform's encodings are before others in the array. And again, if {\it enc} is in the array,
145 it is the very first item in it.
146