InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
LanguageID.h
1 //========================================================================================
2 //
3 // $File$
4 //
5 // Owner: Bernd Paradies
6 //
7 // $Author$
8 //
9 // $DateTime$
10 //
11 // $Revision$
12 //
13 // $Change$
14 //
15 // Copyright 1997-2010 Adobe Systems Incorporated. All rights reserved.
16 //
17 // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance
18 // with the terms of the Adobe license agreement accompanying it. If you have received
19 // this file from a source other than Adobe, then your use, modification, or
20 // distribution of it requires the prior written permission of Adobe.
21 //
22 //========================================================================================
23 
24 #ifndef __LanguageID__
25 #define __LanguageID__
26 
27 #include "BaseType.h"
28 
29 typedef int16 LanguageID;
30 
31 /*
32  Language IDs are combinations of a primary and a sublanguage id.
33  The first 8 bits of a LanugageID (0-7) are reserved for the primary language id.
34  The last 8 bits of a LanugageID (8-15) are reserved for the sublanguage id.
35  The macros MakeLanguageID, GetPrimaryLanguageID and GetSubLanguageID provide creation
36  and extraction.
37  Notice that there are three special constants: kLanguageNeutral, kLanguageSystemDefault and
38  kLanguageUserDefault.
39 
40  If the language id you need is not defined here use MakeLanguageID( kLanguageUseICULocale, kSubLanguageDefault )
41  and Call ILanguage::SetICULocale with the ICULocale for your language.
42 */
43 
44 
45 // Primary language IDs:
46 #define kLanguageNeutral 0 // Special ID which means no language
47 
48 #define kLanguageArabic 1
49 #define kLanguageAfrikaans 2
50 #define kLanguageAlbanian 3
51 #define kLanguageBasque 4
52 #define kLanguageBulgarian 5
53 #define kLanguageByeloRussian 6
54 #define kLanguageCatalan 7
55 #define kLanguageChinese 8
56 #define kLanguageCroatian 9
57 #define kLanguageCzech 10
58 #define kLanguageDanish 11
59 #define kLanguageDutch 12
60 #define kLanguageEnglish 13
61 #define kLanguageEstonian 14
62 #define kLanguageFaeroese 15
63 #define kLanguageFarsi 16
64 #define kLanguageFinnish 17
65 #define kLanguageFrench 18
66 #define kLanguageGerman 19
67 #define kLanguageGreek 20
68 #define kLanguageHebrew 21
69 #define kLanguageHungarian 22
70 #define kLanguageIcelandic 23
71 #define kLanguageIndonesian 24
72 #define kLanguageItalian 25
73 #define kLanguageJapanese 26
74 #define kLanguageKorean 27
75 #define kLanguageLatvian 28
76 #define kLanguageLithuanian 29
77 #define kLanguageNorwegian 30
78 #define kLanguagePolish 31
79 #define kLanguagePortuguese 32
80 #define kLanguageRomanian 33
81 #define kLanguageRussian 34
82 #define kLanguageSlovak 35
83 #define kLanguageSlovenian 36
84 #define kLanguageSerbian 37
85 #define kLanguageSpanish 38
86 #define kLanguageSwedish 39
87 #define kLanguageThai 40
88 #define kLanguageTurkish 41
89 #define kLanguageUkrainian 42
90 #define kLanguageVietnamese 43
91 
92 #define kLanguageAssamese 44 /* ### */
93 #define kLanguageAzeri 45 /* ### */
94 #define kLanguageBengali 46 /* ### */
95 #define kLanguageBurmese 47 /* ### */
96 #define kLanguageFrisian 48 /* ### (Netherlands) */
97 #define kLanguageGaelic 49 /* ### */
98 #define kLanguageGalician 50 /* ### */
99 #define kLanguageGeorgian 51 /* ### */
100 #define kLanguageGujarati 52 /* ### */
101 #define kLanguageHindi 53 /* ### */
102 #define kLanguageKannada 54 /* ### */
103 #define kLanguageKashmiri 55 /* ### */
104 #define kLanguageKazakh 56 /* ### */
105 #define kLanguageKhmer 57 /* ### */
106 #define kLanguageKirghiz 58 /* ### */
107 #define kLanguageKonkani 59 /* ### */
108 #define kLanguageLao 60 /* ### */
109 #define kLanguageMacedonian 61 /* ### */
110 #define kLanguageMalay 62 /* ### */
111 #define kLanguageMalayalam 63 /* ### */
112 #define kLanguageMaltese 64 /* ### */
113 #define kLanguageManipuri 65 /* ### */
114 #define kLanguageMarathi 66 /* ### */
115 #define kLanguageMongolian 67 /* ### */
116 #define kLanguageNepali 68 /* ### */
117 #define kLanguageOriya 69 /* ### */
118 #define kLanguagePunjabi 70 /* ### */
119 #define kLanguageRhaetoRomanic 71 /* ### */
120 #define kLanguageSami 72 /* ### */
121 #define kLanguageSanskrit 73 /* ### */
122 #define kLanguageSindhi 74 /* ### */
123 #define kLanguageSutu 75 /* ### */
124 #define kLanguageSwahili 76 /* ### */
125 #define kLanguageTajik 77 /* ### */
126 #define kLanguageTamil 78 /* ### */
127 #define kLanguageTatar 79 /* ### */
128 #define kLanguageTelugu 80 /* ### */
129 #define kLanguageTibetan 81 /* ### */
130 #define kLanguageTsonga 82 /* ### */
131 #define kLanguageTswana 83 /* ### */
132 #define kLanguageTurkmen 84 /* ### */
133 #define kLanguageUrdu 85 /* ### */
134 #define kLanguageVenda 86 /* ### */
135 #define kLanguageArmenian 87 /* ### */
136 #define kLanguageWelsh 88 /* ### */
137 #define kLanguageXhosa 89 /* ### */
138 #define kLanguageZulu 90 /* ### */
139 #define kLanguagePedi 91 /* ### */
140 #define kLanguageLast 91 /* ### Last language in the list.*/
141 #define kLanguageUseICULocale 92 /* IDs for languages without an ID above. Uses locale id in ILanguage to sort and do case conversion */
142 
143 
144 // Sub languages
145 #define kSubLanguageNeutral 0 /* language Neutral */
146 #define kSubLanguageDefault 1 /* user Default */
147 #define kSubLanguageSystemDefault 2 /* system Default */
148 
149 // Arabic sub languages
150 #define kSubLanguageArabic 1 /* Arabic */
151 #define kSubLanguageArabicSaudi 2 /* Arabic (Saudi Arabia) */
152 #define kSubLanguageArabicIraq 3 /* Arabic (Iraq) */
153 #define kSubLanguageArabicEgypt 4 /* Arabic (Egypt) */
154 #define kSubLanguageArabicLibya 5 /* Arabic (Libya) */
155 #define kSubLanguageArabicAlgeria 6 /* Arabic (Algeria) */
156 #define kSubLanguageArabicMorocco 7 /* Arabic (Morocco) */
157 #define kSubLanguageArabicTunisia 8 /* Arabic (Tunisia) */
158 #define kSubLanguageArabicOman 9 /* Arabic (Oman) */
159 #define kSubLanguageArabicYemen 10 /* Arabic (Yemen) */
160 #define kSubLanguageArabicSyria 11 /* Arabic (Syria) */
161 #define kSubLanguageArabicJordan 12 /* Arabic (Jordan) */
162 #define kSubLanguageArabicLebanon 13 /* Arabic (Lebanon) */
163 #define kSubLanguageArabicKuwait 14 /* Arabic (Kuwait) */
164 #define kSubLanguageArabicUAE 15 /* Arabic (United Arab Emirates) */
165 #define kSubLanguageArabicBahrain 16 /* Arabic (Bahrain) */
166 #define kSubLanguageArabicQatar 17 /* Arabic (Qatar) */
167 #define kSubLanguageArabicLast 17
168 
169 // Azeri sub languages
170 #define kSubLanguageAzeriLatin 1 /* ### Azeri (Latin) */
171 #define kSubLanguageAzeriCyrillic 2 /* ### Azeri (Cyrillic) */
172 #define kSubLanguageAzeriLast 2 /* ### */
173 
174 // Chinese sub languages
175 #define kSubLanguageChineseTraditional 1 /* Chinese (Taiwan) */
176 #define kSubLanguageChineseSimplified 2 /* Chinese (PR China) */
177 #define kSubLanguageChineseHongKong 3 /* Chinese (Hong Kong) */
178 #define kSubLanguageChineseSingapore 4 /* Chinese (Singapore) */
179 #define kSubLanguageChineseMacao 5 /* ### Chinese (Macao) */
180 #define kSubLanguageChineseLast 5 /* ### */
181 
182 // Dutch sub languages
183 #define kSubLanguageDutch 1 /* Dutch */
184 #define kSubLanguageDutchBelgian 2 /* Dutch (Belgian) */
185 #define kSubLanguageDutchLast 2
186 
187 // English sub languages
188 #define kSubLanguageEnglishUS 1 /* English (USA) */
189 #define kSubLanguageEnglishUK 2 /* English (UK) */
190 #define kSubLanguageEnglishAustralian 3 /* English (Australian) */
191 #define kSubLanguageEnglishCanadian 4 /* English (Canadian) */
192 #define kSubLanguageEnglishNewZealand 5 /* English (New Zealand) */
193 #define kSubLanguageEnglishEire 6 /* English (Irish) */
194 #define kSubLanguageEnglishSouthAfrica 7 /* English (South Africa) */
195 #define kSubLanguageEnglishJamaica 8 /* English (Jamaica) */
196 #define kSubLanguageEnglishCarribean 9 /* English (Carribean) */
197 #define kSubLanguageEnglishBelize 10 /* ### English (Belize) */
198 #define kSubLanguageEnglishTrinidad 11 /* ### English (Trinidad) */
199 #define kSubLanguageEnglishZimbabwe 12 /* ### English (Zimbabwe) */
200 #define kSubLanguageEnglishPhilippines 13 /* ### English (Philippines) */
201 #define kSubLanguageEnglishLast 13 /* ### */
202 
203 // French sub languages
204 #define kSubLanguageFrench 1 /* French */
205 #define kSubLanguageFrenchBelgian 2 /* French (Belgian) */
206 #define kSubLanguageFrenchCanadian 3 /* French (Canadian) */
207 #define kSubLanguageFrenchSwiss 4 /* French (Swiss) */
208 #define kSubLanguageFrenchLuxembourg 5 /* French (Luxembourg) */
209 #define kSubLanguageFrenchMonaco 6 /* ### French (Monaco) */
210 #define kSubLanguageFrenchWestIndies 7 /* ### French (West Indies) */
211 #define kSubLanguageFrenchReunion 8 /* ### French (Reunion) */
212 #define kSubLanguageFrenchZaire 9 /* ### French (Zaire) */
213 #define kSubLanguageFrenchSenegal 10 /* ### French (Senegal) */
214 #define kSubLanguageFrenchCameroon 11 /* ### French (Cameroon) */
215 #define kSubLanguageFrenchCoteDIvoire 12 /* ### French (Cote d'Ivoire) */
216 #define kSubLanguageFrenchMali 13 /* ### French (Mali) */
217 #define kSubLanguageFrenchLast 13 /* ### */
218 
219 // Gaelic sub languages
220 #define kSubLanguageGaelicScotland 1 /* ### Gaelic (Scotland) */
221 #define kSubLanguageGaelicIreland 2 /* ### Gaelic (Ireland) */
222 #define kSubLanguageGaelicLast 2 /* ### */
223 
224 // German sub languages
225 #define kSubLanguageGerman 1 /* German */
226 #define kSubLanguageGermanSwiss 2 /* German (Swiss) */
227 #define kSubLanguageGermanAustrian 3 /* German (Austrian) */
228 #define kSubLanguageGermanLuxembourg 4 /* German (Luxembourg) */
229 #define kSubLanguageGermanLiechtenstein 5 /* German (Liechtenstein) */
230 #define kSubLanguageGermanLast 5
231 
232 // Italian sub languages
233 #define kSubLanguageItalian 1 /* Italian */
234 #define kSubLanguageItalianSwiss 2 /* Italian (Swiss) */
235 #define kSubLanguageItalianLast 2
236 
237 // Kashmiri sub languages
238 #define kSubLanguageKashmiri 1 /* ### Kashmiri */
239 #define kSubLanguageKashmiriIndia 2 /* ### Kashmiri (India) */
240 #define kSubLanguageKashmiriLast 2 /* ### */
241 
242 // Korean sub languages
243 #define kSubLanguageKorean 1 /* Korean */
244 #define kSubLanguageKoreanJohab 2 /* Korean (Johab) */
245 #define kSubLanguageKoreanLast 2
246 
247 // Lithuanian sub languages
248 #define kSubLanguageLithuanian 1 /* ### Lithuanian */
249 #define kSubLanguageLithuanianClassic 2 /* ### Lithuanian (Classic) */
250 #define kSubLanguageLithuanianLast 2 /* ### */
251 
252 // Malay sub languages
253 #define kSubLanguageMalayMalaysia 1 /* ### Malay (Malaysia) */
254 #define kSubLanguageMalayBurneiDarussalam 2 /* ### Malay (Burnei-Darussalam) */
255 #define kSubLanguageMalayLast 2 /* ### */
256 
257 // Nepali sub languages
258 #define kSubLanguageNepali 1 /* ### Nepali */
259 #define kSubLanguageNepaliIndia 2 /* ### Nepali (India) */
260 #define kSubLanguageNepaliLast 2 /* ### */
261 
262 // Norwegian sub languages
263 #define kSubLanguageNorwegianBokmal 1 /* Norwegian (Bokmal) */
264 #define kSubLanguageNorwegianNynorsk 2 /* Norwegian (Nynorsk) */
265 #define kSubLanguageNorwegianLast 2
266 
267 // Portuguese sub languages
268 #define kSubLanguagePortuguese 1 /* Portuguese */
269 #define kSubLanguagePortugueseBrazilian 2 /* Portuguese (Brazilian) */
270 #define kSubLanguagePortugueseLast 2
271 
272 // Serbian sub languages
273 #define kSubLanguageSerbian 1 /* ### Serbian */
274 #define kSubLanguageSerbianLatin 2 /* ### Serbian (Latin) */
275 #define kSubLanguageSerbianCyrillic 3 /* ### Serbian (Cyrillic) */
276 #define kSubLanguageSerbianLast 3 /* ### */
277 
278 
279 // Spanish sub languages
280 #define kSubLanguageSpanish 1 /* Spanish (Castilian) */
281 #define kSubLanguageSpanishMexican 2 /* Spanish (Mexican) */
282 #define kSubLanguageSpanishModern 3 /* Spanish (Modern) */
283 #define kSubLanguageSpanishGuatemala 4 /* Spanish (Guatemala) */
284 #define kSubLanguageSpanishCostaRica 5 /* Spanish (Costa Rica) */
285 #define kSubLanguageSpanishPanama 6 /* Spanish (Panama) */
286 #define kSubLanguageSpanishDominican 7 /* Spanish (Dominican Republic) */
287 #define kSubLanguageSpanishVenezuela 8 /* Spanish (Venezuela) */
288 #define kSubLanguageSpanishColombia 9 /* Spanish (Colombia) */
289 #define kSubLanguageSpanishPeru 10 /* Spanish (Peru) */
290 #define kSubLanguageSpanishArgentina 11 /* Spanish (Argentina) */
291 #define kSubLanguageSpanishEcuador 12 /* Spanish (Ecuador) */
292 #define kSubLanguageSpanishChile 13 /* Spanish (Chile) */
293 #define kSubLanguageSpanishUruguay 14 /* Spanish (Uruguay) */
294 #define kSubLanguageSpanishParaguay 15 /* Spanish (Paraguay) */
295 #define kSubLanguageSpanishBolivia 16 /* Spanish (Bolivia) */
296 #define kSubLanguageSpanishElSalvador 17 /* ### Spanish (El Salvador) */
297 #define kSubLanguageSpanishHonduras 18 /* ### Spanish (Honduras) */
298 #define kSubLanguageSpanishNicaragua 19 /* ### Spanish (Nicaragua) */
299 #define kSubLanguageSpanishPuertoRico 20 /* ### Spanish (Puerto Rico) */
300 #define kSubLanguageSpanishLast 20 /* ### */
301 
302 // Swedish sub languages
303 #define kSubLanguageSwedish 1 /* ### Swedish (Sweden) */
304 #define kSubLanguageSwedishFinland 2 /* ### Swedish (Finland) */
305 #define kSubLanguageSwedishLast 2 /* ### */
306 
307 // Urdu sub languages
308 #define kSubLanguageUrduPakistan 1 /* ### Urdu (Pakistan) */
309 #define kSubLanguageUrduIndia 2 /* ### Urdu (India) */
310 #define kSubLanguageUrduLast 2 /* ### */
311 
312 // Uzbek sub languages
313 #define kSubLanguageUzbekLatin 1 /* ### Uzbek (Latin) */
314 #define kSubLanguageUzbekCyrillic 2 /* ### Uzbek (Cyrillic) */
315 #define kSubLanguageUzbekLast 2 /* ### */
316 
317 
318 
319 //inline LanguageID MakeLanguageID(char nPrimaryID, char nSubID)
320 //{ return ((((int16)(nSubID)) << 8) | (int16)(nPrimaryID)); }
321 // HAVE TO USE THE MACRO because there are << case MakeLanguageID(xxx, yyy): >> codes in places
322 #define MakeLanguageID(nPrimaryID, nSubID) ((((int16)(nSubID)) << 8) | (int16)(nPrimaryID))
323 
324 inline LanguageID GetPrimaryLanguageID(LanguageID nID)
325 { return ((int16)(nID) & 0xFF); }
326 
327 inline LanguageID GetSubLanguageID(LanguageID nID)
328 { return ((int16)(nID) >> 8); }
329 
330 // Default System and User IDs for language.
331 const LanguageID kLanguageSystemDefault = (MakeLanguageID(kLanguageNeutral, kSubLanguageSystemDefault));
332 const LanguageID kLanguageUserDefault = (MakeLanguageID(kLanguageNeutral, kSubLanguageDefault));
333 
334 #endif