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