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 */
39typedef 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
153Arabic (DOS/OS2-864) RTL_TEXTENCODING_IBM_864
154Arabic (ISO-8859-6) RTL_TEXTENCODING_ISO_8859_6
155Arabic (Windows-1256) RTL_TEXTENCODING_MS_1256
156
157Baltic (DOS/OS2-775) RTL_TEXTENCODING_IBM_775
158Baltic (ISO-8859-4) RTL_TEXTENCODING_ISO_8859_4
159Baltic (Windows-1257) RTL_TEXTENCODING_MS_1257
160
161Central European (Apple Macintosh) RTL_TEXTENCODING_APPLE_CENTEURO
162Central European (Apple Macintosh/Croatian) RTL_TEXTENCODING_APPLE_CROATIAN
163Central European (Apple Macintosh/Romanian) RTL_TEXTENCODING_APPLE_ROMANIAN
164Central European (DOS/OS2-852) RTL_TEXTENCODING_IBM_852
165Central European (ISO-8859-2) RTL_TEXTENCODING_ISO_8859_2
166Central European (ISO-8859-10) RTL_TEXTENCODING_ISO_8859_10
167Central European (ISO-8859-13) RTL_TEXTENCODING_ISO_8859_13
168Central European (Windows-1250/WinLatin 2) RTL_TEXTENCODING_MS_1250
169
170Chinese Simplified (Apple Macintosh) RTL_TEXTENCODING_APPLE_CHINSIMP
171Chinese Simplified (EUC-CN) RTL_TEXTENCODING_EUC_CN
172Chinese Simplified (GB-2312) RTL_TEXTENCODING_GB_2312
173Chinese Simplified (GBK/GB-2312-80) RTL_TEXTENCODING_GBK
174# Chinese Simplified (ISO-2022-CN) RTL_TEXTENCODING_ISO_2022_CN
175Chinese Simplified (Windows-936) RTL_TEXTENCODING_MS_936
176# Chinese Simplified (GB-18030) RTL_TEXTENCODING_GB_18030
177
178Chinese Traditional (Apple Macintosh) RTL_TEXTENCODING_APPLE_CHINTRAD
179Chinese Traditional (BIG5) RTL_TEXTENCODING_BIG5
180# Chinese Traditional (EUC-TW) RTL_TEXTENCODING_EUC_TW
181Chinese Traditional (GBT-12345) RTL_TEXTENCODING_GBT_12345
182Chinese Traditional (Windows-950) RTL_TEXTENCODING_MS_950
183Chinese Traditional (BIG5-HKSCS) RTL_TEXTENCODING_BIG5_HKSCS
184
185Cyrillic (Apple Macintosh) RTL_TEXTENCODING_APPLE_CYRILLIC
186Cyrillic (Apple Macintosh/Ukrainian) RTL_TEXTENCODING_APPLE_UKRAINIAN
187Cyrillic (DOS/OS2-855) RTL_TEXTENCODING_IBM_855
188Cyrillic (DOS/OS2-866/Russian) RTL_TEXTENCODING_IBM_866
189Cyrillic (ISO-8859-5) RTL_TEXTENCODING_ISO_8859_5
190Cyrillic (KOI8-R) RTL_TEXTENCODING_KOI8_R
191Cyrillic (KOI8-U) RTL_TEXTENCODING_KOI8_U
192Cyrillic (Windows-1251) RTL_TEXTENCODING_MS_1251
193
194Greek (Apple Macintosh) RTL_TEXTENCODING_APPLE_GREEK
195Greek (DOS/OS2-737) RTL_TEXTENCODING_IBM_737
196Greek (DOS/OS2-869/Modern) RTL_TEXTENCODING_IBM_869
197Greek (ISO-8859-7) RTL_TEXTENCODING_ISO_8859_7
198Greek (Windows-1253) RTL_TEXTENCODING_MS_1253
199
200# Hebrew (Apple Macintosh) RTL_TEXTENCODING_APPLE_HEBREW
201Hebrew (DOS/OS2-862) RTL_TEXTENCODING_IBM_862
202Hebrew (ISO-8859-8) RTL_TEXTENCODING_ISO_8859_8
203Hebrew (Windows-1255) RTL_TEXTENCODING_MS_1255
204
205Korean (Apple Macintosh) RTL_TEXTENCODING_APPLE_KOREAN
206Korean (EUC-KR) RTL_TEXTENCODING_EUC_KR
207# Korean (ISO-2022-KR) RTL_TEXTENCODING_ISO_2022_KR
208Korean (Windows-Wansung-949) RTL_TEXTENCODING_MS_949
209Korean (Windows-Johab-1361) RTL_TEXTENCODING_MS_1361
210
211Latin 3 (ISO-8859-3) RTL_TEXTENCODING_ISO_8859_3
212
213Indian (ISCII Devanagari) RTL_TEXTENCODING_ISCII_DEVANAGARI
214
215Japanese (Apple Macintosh) RTL_TEXTENCODING_APPLE_JAPANESE
216Japanese (EUC-JP) RTL_TEXTENCODING_EUC_JP
217# Japanese (ISO-2022-JP) RTL_TEXTENCODING_ISO_2022_JP
218Japanese (Shift-JIS) RTL_TEXTENCODING_SHIFT_JIS
219Japanese (Windows-932) RTL_TEXTENCODING_MS_932
220
221Symbol RTL_TEXTENCODING_SYMBOL
222
223# Thai (Apple Macintosh) RTL_TEXTENCODING_APPLE_THAI
224Thai (Dos/Windows-874) RTL_TEXTENCODING_MS_874
225Thai (TIS 620) RTL_TEXTENCODING_TIS_620
226
227Turkish (Apple Macintosh) RTL_TEXTENCODING_APPLE_TURKISH
228Turkish (DOS/OS2-857) RTL_TEXTENCODING_IBM_857
229Turkish (ISO-8859-9) RTL_TEXTENCODING_ISO_8859_9
230Turkish (Windows-1254) RTL_TEXTENCODING_MS_1254
231
232Unicode (UTF-7) RTL_TEXTENCODING_UTF7
233Unicode (UTF-8) RTL_TEXTENCODING_UTF8
234Unicode (Java's modified UTF-8) RTL_TEXTENCODING_JAVA_UTF8
235
236Vietnamese (Windows-1258) RTL_TEXTENCODING_MS_1258
237
238Western (Apple Macintosh) RTL_TEXTENCODING_APPLE_ROMAN
239Western (Apple Macintosh/Icelandic) RTL_TEXTENCODING_APPLE_ICELAND
240Western (ASCII/US) RTL_TEXTENCODING_ASCII_US
241Western (DOS/OS2-437/US) RTL_TEXTENCODING_IBM_437
242Western (DOS/OS2-850/International) RTL_TEXTENCODING_IBM_850
243Western (DOS/OS2-860/Portugese) RTL_TEXTENCODING_IBM_860
244Western (DOS/OS2-861/Icelandic) RTL_TEXTENCODING_IBM_861
245Western (DOS/OS2-863/Canadian-French) RTL_TEXTENCODING_IBM_863
246Western (DOS/OS2-865/Nordic) RTL_TEXTENCODING_IBM_865
247Western (ISO-8859-1) RTL_TEXTENCODING_ISO_8859_1
248Western (ISO-8859-14) RTL_TEXTENCODING_ISO_8859_14
249Western (ISO-8859-15/EURO) RTL_TEXTENCODING_ISO_8859_15
250Western (Window-1252/WinLatin 1) RTL_TEXTENCODING_MS_1252
251
252Not 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
258Only for internal implementations and not useful for user interface.
259These encodings are not used for text encodings, only used for
260font-/textoutput encodings.
261Japanese (JIS 0201) RTL_TEXTENCODING_JISX_0201
262Japanese (JIS 0208) RTL_TEXTENCODING_JISX_0208
263Japanese (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