xref: /aoo42x/main/sal/inc/rtl/textenc.h (revision cdf0e10c)
1 /*************************************************************************
2  *
3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4  *
5  * Copyright 2000, 2010 Oracle and/or its affiliates.
6  *
7  * OpenOffice.org - a multi-platform office productivity suite
8  *
9  * This file is part of OpenOffice.org.
10  *
11  * OpenOffice.org is free software: you can redistribute it and/or modify
12  * it under the terms of the GNU Lesser General Public License version 3
13  * only, as published by the Free Software Foundation.
14  *
15  * OpenOffice.org is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU Lesser General Public License version 3 for more details
19  * (a copy is included in the LICENSE file that accompanied this code).
20  *
21  * You should have received a copy of the GNU Lesser General Public License
22  * version 3 along with OpenOffice.org.  If not, see
23  * <http://www.openoffice.org/license.html>
24  * for a copy of the LGPLv3 License.
25  *
26  ************************************************************************/
27 
28 #ifndef _RTL_TEXTENC_H
29 #define _RTL_TEXTENC_H
30 
31 #ifdef _SOLAR_RSC_INVOKED
32 /* Enable resources to use these values, rsc can't handle casts */
33 #define RTL_TEXTENC_CAST( val ) (val)
34 
35 #else /* !_SOLAR_RSC_INVOKED */
36 
37 #ifndef _SAL_TYPES_H
38 #include <sal/types.h>
39 #endif
40 
41 /** The various supported text encodings.
42 
43     Possible values include a wide range of single- and multi-byte encodings
44     (ranging from RTL_TEXTENCODING_MS_1252 to RTL_TEXTENCODING_GB_18030),
45     the ISO 10646 (Unicode) specific encodings RTL_TEXTENCODING_UCS4 and
46     RTL_TEXTENCODING_UCS2 (aka RTL_TEXTENCODING_UNICODE), and
47     RTL_TEXTENCODING_DONTKNOW to indicate an unknown or missing encoding.
48  */
49 typedef sal_uInt16 rtl_TextEncoding;
50 
51 #define RTL_TEXTENC_CAST( val ) ((rtl_TextEncoding) val)
52 
53 #endif /* _SOLAR_RSC_INVOKED */
54 
55 #define RTL_TEXTENCODING_DONTKNOW               (RTL_TEXTENC_CAST( 0 ))
56 #define RTL_TEXTENCODING_MS_1252                (RTL_TEXTENC_CAST( 1 ))
57 #define RTL_TEXTENCODING_APPLE_ROMAN            (RTL_TEXTENC_CAST( 2 ))
58 #define RTL_TEXTENCODING_IBM_437                (RTL_TEXTENC_CAST( 3 ))
59 #define RTL_TEXTENCODING_IBM_850                (RTL_TEXTENC_CAST( 4 ))
60 #define RTL_TEXTENCODING_IBM_860                (RTL_TEXTENC_CAST( 5 ))
61 #define RTL_TEXTENCODING_IBM_861                (RTL_TEXTENC_CAST( 6 ))
62 #define RTL_TEXTENCODING_IBM_863                (RTL_TEXTENC_CAST( 7 ))
63 #define RTL_TEXTENCODING_IBM_865                (RTL_TEXTENC_CAST( 8 ))
64 /* Reserved: RTL_TEXTENCODING_SYSTEM            (RTL_TEXTENC_CAST( 9 )) */
65 #define RTL_TEXTENCODING_SYMBOL                 (RTL_TEXTENC_CAST( 10 ))
66 #define RTL_TEXTENCODING_ASCII_US               (RTL_TEXTENC_CAST( 11 ))
67 #define RTL_TEXTENCODING_ISO_8859_1             (RTL_TEXTENC_CAST( 12 ))
68 #define RTL_TEXTENCODING_ISO_8859_2             (RTL_TEXTENC_CAST( 13 ))
69 #define RTL_TEXTENCODING_ISO_8859_3             (RTL_TEXTENC_CAST( 14 ))
70 #define RTL_TEXTENCODING_ISO_8859_4             (RTL_TEXTENC_CAST( 15 ))
71 #define RTL_TEXTENCODING_ISO_8859_5             (RTL_TEXTENC_CAST( 16 ))
72 #define RTL_TEXTENCODING_ISO_8859_6             (RTL_TEXTENC_CAST( 17 ))
73 #define RTL_TEXTENCODING_ISO_8859_7             (RTL_TEXTENC_CAST( 18 ))
74 #define RTL_TEXTENCODING_ISO_8859_8             (RTL_TEXTENC_CAST( 19 ))
75 #define RTL_TEXTENCODING_ISO_8859_9             (RTL_TEXTENC_CAST( 20 ))
76 #define RTL_TEXTENCODING_ISO_8859_14            (RTL_TEXTENC_CAST( 21 ))
77 #define RTL_TEXTENCODING_ISO_8859_15            (RTL_TEXTENC_CAST( 22 ))
78 #define RTL_TEXTENCODING_IBM_737                (RTL_TEXTENC_CAST( 23 ))
79 #define RTL_TEXTENCODING_IBM_775                (RTL_TEXTENC_CAST( 24 ))
80 #define RTL_TEXTENCODING_IBM_852                (RTL_TEXTENC_CAST( 25 ))
81 #define RTL_TEXTENCODING_IBM_855                (RTL_TEXTENC_CAST( 26 ))
82 #define RTL_TEXTENCODING_IBM_857                (RTL_TEXTENC_CAST( 27 ))
83 #define RTL_TEXTENCODING_IBM_862                (RTL_TEXTENC_CAST( 28 ))
84 #define RTL_TEXTENCODING_IBM_864                (RTL_TEXTENC_CAST( 29 ))
85 #define RTL_TEXTENCODING_IBM_866                (RTL_TEXTENC_CAST( 30 ))
86 #define RTL_TEXTENCODING_IBM_869                (RTL_TEXTENC_CAST( 31 ))
87 #define RTL_TEXTENCODING_MS_874                 (RTL_TEXTENC_CAST( 32 ))
88 #define RTL_TEXTENCODING_MS_1250                (RTL_TEXTENC_CAST( 33 ))
89 #define RTL_TEXTENCODING_MS_1251                (RTL_TEXTENC_CAST( 34 ))
90 #define RTL_TEXTENCODING_MS_1253                (RTL_TEXTENC_CAST( 35 ))
91 #define RTL_TEXTENCODING_MS_1254                (RTL_TEXTENC_CAST( 36 ))
92 #define RTL_TEXTENCODING_MS_1255                (RTL_TEXTENC_CAST( 37 ))
93 #define RTL_TEXTENCODING_MS_1256                (RTL_TEXTENC_CAST( 38 ))
94 #define RTL_TEXTENCODING_MS_1257                (RTL_TEXTENC_CAST( 39 ))
95 #define RTL_TEXTENCODING_MS_1258                (RTL_TEXTENC_CAST( 40 ))
96 #define RTL_TEXTENCODING_APPLE_ARABIC           (RTL_TEXTENC_CAST( 41 ))
97 #define RTL_TEXTENCODING_APPLE_CENTEURO         (RTL_TEXTENC_CAST( 42 ))
98 #define RTL_TEXTENCODING_APPLE_CROATIAN         (RTL_TEXTENC_CAST( 43 ))
99 #define RTL_TEXTENCODING_APPLE_CYRILLIC         (RTL_TEXTENC_CAST( 44 ))
100 #define RTL_TEXTENCODING_APPLE_DEVANAGARI       (RTL_TEXTENC_CAST( 45 ))
101 #define RTL_TEXTENCODING_APPLE_FARSI            (RTL_TEXTENC_CAST( 46 ))
102 #define RTL_TEXTENCODING_APPLE_GREEK            (RTL_TEXTENC_CAST( 47 ))
103 #define RTL_TEXTENCODING_APPLE_GUJARATI         (RTL_TEXTENC_CAST( 48 ))
104 #define RTL_TEXTENCODING_APPLE_GURMUKHI         (RTL_TEXTENC_CAST( 49 ))
105 #define RTL_TEXTENCODING_APPLE_HEBREW           (RTL_TEXTENC_CAST( 50 ))
106 #define RTL_TEXTENCODING_APPLE_ICELAND          (RTL_TEXTENC_CAST( 51 ))
107 #define RTL_TEXTENCODING_APPLE_ROMANIAN         (RTL_TEXTENC_CAST( 52 ))
108 #define RTL_TEXTENCODING_APPLE_THAI             (RTL_TEXTENC_CAST( 53 ))
109 #define RTL_TEXTENCODING_APPLE_TURKISH          (RTL_TEXTENC_CAST( 54 ))
110 #define RTL_TEXTENCODING_APPLE_UKRAINIAN        (RTL_TEXTENC_CAST( 55 ))
111 #define RTL_TEXTENCODING_APPLE_CHINSIMP         (RTL_TEXTENC_CAST( 56 ))
112 #define RTL_TEXTENCODING_APPLE_CHINTRAD         (RTL_TEXTENC_CAST( 57 ))
113 #define RTL_TEXTENCODING_APPLE_JAPANESE         (RTL_TEXTENC_CAST( 58 ))
114 #define RTL_TEXTENCODING_APPLE_KOREAN           (RTL_TEXTENC_CAST( 59 ))
115 #define RTL_TEXTENCODING_MS_932                 (RTL_TEXTENC_CAST( 60 ))
116 #define RTL_TEXTENCODING_MS_936                 (RTL_TEXTENC_CAST( 61 ))
117 #define RTL_TEXTENCODING_MS_949                 (RTL_TEXTENC_CAST( 62 ))
118 #define RTL_TEXTENCODING_MS_950                 (RTL_TEXTENC_CAST( 63 ))
119 #define RTL_TEXTENCODING_SHIFT_JIS              (RTL_TEXTENC_CAST( 64 ))
120 #define RTL_TEXTENCODING_GB_2312                (RTL_TEXTENC_CAST( 65 ))
121 #define RTL_TEXTENCODING_GBT_12345              (RTL_TEXTENC_CAST( 66 ))
122 #define RTL_TEXTENCODING_GBK                    (RTL_TEXTENC_CAST( 67 ))
123 #define RTL_TEXTENCODING_BIG5                   (RTL_TEXTENC_CAST( 68 ))
124 #define RTL_TEXTENCODING_EUC_JP                 (RTL_TEXTENC_CAST( 69 ))
125 #define RTL_TEXTENCODING_EUC_CN                 (RTL_TEXTENC_CAST( 70 ))
126 #define RTL_TEXTENCODING_EUC_TW                 (RTL_TEXTENC_CAST( 71 ))
127 #define RTL_TEXTENCODING_ISO_2022_JP            (RTL_TEXTENC_CAST( 72 ))
128 #define RTL_TEXTENCODING_ISO_2022_CN            (RTL_TEXTENC_CAST( 73 ))
129 #define RTL_TEXTENCODING_KOI8_R                 (RTL_TEXTENC_CAST( 74 ))
130 #define RTL_TEXTENCODING_UTF7                   (RTL_TEXTENC_CAST( 75 ))
131 #define RTL_TEXTENCODING_UTF8                   (RTL_TEXTENC_CAST( 76 ))
132 #define RTL_TEXTENCODING_ISO_8859_10            (RTL_TEXTENC_CAST( 77 ))
133 #define RTL_TEXTENCODING_ISO_8859_13            (RTL_TEXTENC_CAST( 78 ))
134 #define RTL_TEXTENCODING_EUC_KR                 (RTL_TEXTENC_CAST( 79 ))
135 #define RTL_TEXTENCODING_ISO_2022_KR            (RTL_TEXTENC_CAST( 80 ))
136 #define RTL_TEXTENCODING_JIS_X_0201             (RTL_TEXTENC_CAST( 81 ))
137 #define RTL_TEXTENCODING_JIS_X_0208             (RTL_TEXTENC_CAST( 82 ))
138 #define RTL_TEXTENCODING_JIS_X_0212             (RTL_TEXTENC_CAST( 83 ))
139 #define RTL_TEXTENCODING_MS_1361                (RTL_TEXTENC_CAST( 84 ))
140 #define RTL_TEXTENCODING_GB_18030               (RTL_TEXTENC_CAST( 85 ))
141 #define RTL_TEXTENCODING_BIG5_HKSCS             (RTL_TEXTENC_CAST( 86 ))
142 #define RTL_TEXTENCODING_TIS_620                (RTL_TEXTENC_CAST( 87 ))
143 #define RTL_TEXTENCODING_KOI8_U                 (RTL_TEXTENC_CAST( 88 ))
144 #define RTL_TEXTENCODING_ISCII_DEVANAGARI       (RTL_TEXTENC_CAST( 89 ))
145 #define RTL_TEXTENCODING_JAVA_UTF8              (RTL_TEXTENC_CAST( 90 ))
146 #define RTL_TEXTENCODING_ADOBE_STANDARD         (RTL_TEXTENC_CAST( 91 ))
147 #define RTL_TEXTENCODING_ADOBE_SYMBOL           (RTL_TEXTENC_CAST( 92 ))
148 #define RTL_TEXTENCODING_PT154                  (RTL_TEXTENC_CAST( 93 ))
149 #define RTL_TEXTENCODING_ADOBE_DINGBATS         (RTL_TEXTENC_CAST( 94 ))
150 /* ATTENTION!  Whenever some encoding is added here, make sure to update
151  * rtl_isOctetTextEncoding in tencinfo.c.
152  */
153 
154 #define RTL_TEXTENCODING_USER_START             (RTL_TEXTENC_CAST( 0x8000 ))
155 #define RTL_TEXTENCODING_USER_END               (RTL_TEXTENC_CAST( 0xEFFF ))
156 
157 #define RTL_TEXTENCODING_UCS4                   (RTL_TEXTENC_CAST( 0xFFFE ))
158 #define RTL_TEXTENCODING_UCS2                   (RTL_TEXTENC_CAST( 0xFFFF ))
159 #define RTL_TEXTENCODING_UNICODE                RTL_TEXTENCODING_UCS2
160 
161 /****** Overview over the TextEncodings *****
162 # Arabic (Apple Macintosh)                        RTL_TEXTENCODING_APPLE_ARABIC
163 Arabic (DOS/OS2-864)                            RTL_TEXTENCODING_IBM_864
164 Arabic (ISO-8859-6)                             RTL_TEXTENCODING_ISO_8859_6
165 Arabic (Windows-1256)                           RTL_TEXTENCODING_MS_1256
166 
167 Baltic (DOS/OS2-775)                            RTL_TEXTENCODING_IBM_775
168 Baltic (ISO-8859-4)                             RTL_TEXTENCODING_ISO_8859_4
169 Baltic (Windows-1257)                           RTL_TEXTENCODING_MS_1257
170 
171 Central European (Apple Macintosh)              RTL_TEXTENCODING_APPLE_CENTEURO
172 Central European (Apple Macintosh/Croatian)     RTL_TEXTENCODING_APPLE_CROATIAN
173 Central European (Apple Macintosh/Romanian)     RTL_TEXTENCODING_APPLE_ROMANIAN
174 Central European (DOS/OS2-852)                  RTL_TEXTENCODING_IBM_852
175 Central European (ISO-8859-2)                   RTL_TEXTENCODING_ISO_8859_2
176 Central European (ISO-8859-10)                  RTL_TEXTENCODING_ISO_8859_10
177 Central European (ISO-8859-13)                  RTL_TEXTENCODING_ISO_8859_13
178 Central European (Windows-1250/WinLatin 2)      RTL_TEXTENCODING_MS_1250
179 
180 Chinese Simplified (Apple Macintosh)            RTL_TEXTENCODING_APPLE_CHINSIMP
181 Chinese Simplified (EUC-CN)                     RTL_TEXTENCODING_EUC_CN
182 Chinese Simplified (GB-2312)                    RTL_TEXTENCODING_GB_2312
183 Chinese Simplified (GBK/GB-2312-80)             RTL_TEXTENCODING_GBK
184 # Chinese Simplified (ISO-2022-CN)                RTL_TEXTENCODING_ISO_2022_CN
185 Chinese Simplified (Windows-936)                RTL_TEXTENCODING_MS_936
186 # Chinese Simplified (GB-18030)                   RTL_TEXTENCODING_GB_18030
187 
188 Chinese Traditional (Apple Macintosh)           RTL_TEXTENCODING_APPLE_CHINTRAD
189 Chinese Traditional (BIG5)                      RTL_TEXTENCODING_BIG5
190 # Chinese Traditional (EUC-TW)                    RTL_TEXTENCODING_EUC_TW
191 Chinese Traditional (GBT-12345)                 RTL_TEXTENCODING_GBT_12345
192 Chinese Traditional (Windows-950)               RTL_TEXTENCODING_MS_950
193 Chinese Traditional (BIG5-HKSCS)                RTL_TEXTENCODING_BIG5_HKSCS
194 
195 Cyrillic (Apple Macintosh)                      RTL_TEXTENCODING_APPLE_CYRILLIC
196 Cyrillic (Apple Macintosh/Ukrainian)            RTL_TEXTENCODING_APPLE_UKRAINIAN
197 Cyrillic (DOS/OS2-855)                          RTL_TEXTENCODING_IBM_855
198 Cyrillic (DOS/OS2-866/Russian)                  RTL_TEXTENCODING_IBM_866
199 Cyrillic (ISO-8859-5)                           RTL_TEXTENCODING_ISO_8859_5
200 Cyrillic (KOI8-R)                               RTL_TEXTENCODING_KOI8_R
201 Cyrillic (KOI8-U)                               RTL_TEXTENCODING_KOI8_U
202 Cyrillic (Windows-1251)                         RTL_TEXTENCODING_MS_1251
203 
204 Greek (Apple Macintosh)                         RTL_TEXTENCODING_APPLE_GREEK
205 Greek (DOS/OS2-737)                             RTL_TEXTENCODING_IBM_737
206 Greek (DOS/OS2-869/Modern)                      RTL_TEXTENCODING_IBM_869
207 Greek (ISO-8859-7)                              RTL_TEXTENCODING_ISO_8859_7
208 Greek (Windows-1253)                            RTL_TEXTENCODING_MS_1253
209 
210 # Hebrew (Apple Macintosh)                        RTL_TEXTENCODING_APPLE_HEBREW
211 Hebrew (DOS/OS2-862)                            RTL_TEXTENCODING_IBM_862
212 Hebrew (ISO-8859-8)                             RTL_TEXTENCODING_ISO_8859_8
213 Hebrew (Windows-1255)                           RTL_TEXTENCODING_MS_1255
214 
215 Korean (Apple Macintosh)                        RTL_TEXTENCODING_APPLE_KOREAN
216 Korean (EUC-KR)                                 RTL_TEXTENCODING_EUC_KR
217 # Korean (ISO-2022-KR)                            RTL_TEXTENCODING_ISO_2022_KR
218 Korean (Windows-Wansung-949)                    RTL_TEXTENCODING_MS_949
219 Korean (Windows-Johab-1361)                     RTL_TEXTENCODING_MS_1361
220 
221 Latin 3 (ISO-8859-3)                            RTL_TEXTENCODING_ISO_8859_3
222 
223 Indian (ISCII Devanagari)                      RTL_TEXTENCODING_ISCII_DEVANAGARI
224 
225 Japanese (Apple Macintosh)                      RTL_TEXTENCODING_APPLE_JAPANESE
226 Japanese (EUC-JP)                               RTL_TEXTENCODING_EUC_JP
227 # Japanese (ISO-2022-JP)                          RTL_TEXTENCODING_ISO_2022_JP
228 Japanese (Shift-JIS)                            RTL_TEXTENCODING_SHIFT_JIS
229 Japanese (Windows-932)                          RTL_TEXTENCODING_MS_932
230 
231 Symbol                                          RTL_TEXTENCODING_SYMBOL
232 
233 # Thai (Apple Macintosh)                          RTL_TEXTENCODING_APPLE_THAI
234 Thai (Dos/Windows-874)                          RTL_TEXTENCODING_MS_874
235 Thai (TIS 620)                                  RTL_TEXTENCODING_TIS_620
236 
237 Turkish (Apple Macintosh)                       RTL_TEXTENCODING_APPLE_TURKISH
238 Turkish (DOS/OS2-857)                           RTL_TEXTENCODING_IBM_857
239 Turkish (ISO-8859-9)                            RTL_TEXTENCODING_ISO_8859_9
240 Turkish (Windows-1254)                          RTL_TEXTENCODING_MS_1254
241 
242 Unicode (UTF-7)                                 RTL_TEXTENCODING_UTF7
243 Unicode (UTF-8)                                 RTL_TEXTENCODING_UTF8
244 Unicode (Java's modified UTF-8)                 RTL_TEXTENCODING_JAVA_UTF8
245 
246 Vietnamese (Windows-1258)                       RTL_TEXTENCODING_MS_1258
247 
248 Western (Apple Macintosh)                       RTL_TEXTENCODING_APPLE_ROMAN
249 Western (Apple Macintosh/Icelandic)             RTL_TEXTENCODING_APPLE_ICELAND
250 Western (ASCII/US)                              RTL_TEXTENCODING_ASCII_US
251 Western (DOS/OS2-437/US)                        RTL_TEXTENCODING_IBM_437
252 Western (DOS/OS2-850/International)             RTL_TEXTENCODING_IBM_850
253 Western (DOS/OS2-860/Portugese)                 RTL_TEXTENCODING_IBM_860
254 Western (DOS/OS2-861/Icelandic)                 RTL_TEXTENCODING_IBM_861
255 Western (DOS/OS2-863/Canadian-French)           RTL_TEXTENCODING_IBM_863
256 Western (DOS/OS2-865/Nordic)                    RTL_TEXTENCODING_IBM_865
257 Western (ISO-8859-1)                            RTL_TEXTENCODING_ISO_8859_1
258 Western (ISO-8859-14)                           RTL_TEXTENCODING_ISO_8859_14
259 Western (ISO-8859-15/EURO)                      RTL_TEXTENCODING_ISO_8859_15
260 Western (Window-1252/WinLatin 1)                RTL_TEXTENCODING_MS_1252
261 
262 Not known and currently not supported
263 # RTL_TEXTENCODING_APPLE_DEVANAGARI
264 # RTL_TEXTENCODING_APPLE_FARSI
265 # RTL_TEXTENCODING_APPLE_GUJARATI
266 # RTL_TEXTENCODING_APPLE_GURMUKHI
267 
268 Only for internal implementations and not useful for user interface.
269 These encodings are not used for text encodings, only used for
270 font-/textoutput encodings.
271 Japanese (JIS 0201)                             RTL_TEXTENCODING_JISX_0201
272 Japanese (JIS 0208)                             RTL_TEXTENCODING_JISX_0208
273 Japanese (JIS 0212)                             RTL_TEXTENCODING_JISX_0212
274 
275 # Currently not implemented
276 */
277 
278 #endif /* _RTL_TEXTENC_H */
279 
280