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