1 #ifndef __MacScriptExtracts__
2 #define __MacScriptExtracts__
3 
4 // Extracts of script (smXyz) and language (langXyz) enums from Apple's old Script.h.
5 // These are used to support "traditional" QuickTime metadata processing.
6 
7 /*
8    Script codes:
9    These specify a Mac OS encoding that is related to a FOND ID range.
10    Some of the encodings have several variants (e.g. for different localized systems)
11     which all share the same script code.
12    Not all of these script codes are currently supported by Apple software.
13    Notes:
14    - Script code 0 (smRoman) is also used (instead of smGreek) for the Greek encoding
15      in the Greek localized system.
16    - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut
17      system.
18 */
19 enum {
20   smRoman                       = 0,
21   smJapanese                    = 1,
22   smTradChinese                 = 2,    /* Traditional Chinese*/
23   smKorean                      = 3,
24   smArabic                      = 4,
25   smHebrew                      = 5,
26   smGreek                       = 6,
27   smCyrillic                    = 7,
28   smRSymbol                     = 8,    /* Right-left symbol*/
29   smDevanagari                  = 9,
30   smGurmukhi                    = 10,
31   smGujarati                    = 11,
32   smOriya                       = 12,
33   smBengali                     = 13,
34   smTamil                       = 14,
35   smTelugu                      = 15,
36   smKannada                     = 16,   /* Kannada/Kanarese*/
37   smMalayalam                   = 17,
38   smSinhalese                   = 18,
39   smBurmese                     = 19,
40   smKhmer                       = 20,   /* Khmer/Cambodian*/
41   smThai                        = 21,
42   smLao                         = 22,
43   smGeorgian                    = 23,
44   smArmenian                    = 24,
45   smSimpChinese                 = 25,   /* Simplified Chinese*/
46   smTibetan                     = 26,
47   smMongolian                   = 27,
48   smEthiopic                    = 28,
49   smGeez                        = 28,   /* Synonym for smEthiopic*/
50   smCentralEuroRoman            = 29,   /* For Czech, Slovak, Polish, Hungarian, Baltic langs*/
51   smVietnamese                  = 30,
52   smExtArabic                   = 31,   /* extended Arabic*/
53   smUninterp                    = 32    /* uninterpreted symbols, e.g. palette symbols*/
54 };
55 
56 /* Extended script code for full Unicode input*/
57 enum {
58   smUnicodeScript               = 0x7E
59 };
60 
61 /* Obsolete script code names (kept for backward compatibility):*/
62 enum {
63   smChinese                     = 2,    /* (Use smTradChinese or smSimpChinese)*/
64   smRussian                     = 7,    /* Use smCyrillic*/
65                                         /* smMaldivian = 25: deleted, no code for Maldivian*/
66   smLaotian                     = 22,   /* Use smLao                                     */
67   smAmharic                     = 28,   /* Use smEthiopic or smGeez*/
68   smSlavic                      = 29,   /* Use smCentralEuroRoman*/
69   smEastEurRoman                = 29,   /* Use smCentralEuroRoman*/
70   smSindhi                      = 31,   /* Use smExtArabic*/
71   smKlingon                     = 32
72 };
73 
74 /*
75    Language codes:
76    These specify a language implemented using a particular Mac OS encoding.
77    Not all of these language codes are currently supported by Apple software.
78 */
79 enum {
80   langEnglish                   = 0,    /* smRoman script*/
81   langFrench                    = 1,    /* smRoman script*/
82   langGerman                    = 2,    /* smRoman script*/
83   langItalian                   = 3,    /* smRoman script*/
84   langDutch                     = 4,    /* smRoman script*/
85   langSwedish                   = 5,    /* smRoman script*/
86   langSpanish                   = 6,    /* smRoman script*/
87   langDanish                    = 7,    /* smRoman script*/
88   langPortuguese                = 8,    /* smRoman script*/
89   langNorwegian                 = 9,    /* (Bokmal) smRoman script*/
90   langHebrew                    = 10,   /* smHebrew script*/
91   langJapanese                  = 11,   /* smJapanese script*/
92   langArabic                    = 12,   /* smArabic script*/
93   langFinnish                   = 13,   /* smRoman script*/
94   langGreek                     = 14,   /* Greek script (monotonic) using smRoman script code*/
95   langIcelandic                 = 15,   /* modified smRoman/Icelandic script*/
96   langMaltese                   = 16,   /* Roman script*/
97   langTurkish                   = 17,   /* modified smRoman/Turkish script*/
98   langCroatian                  = 18,   /* modified smRoman/Croatian script*/
99   langTradChinese               = 19,   /* Chinese (Mandarin) in traditional characters*/
100   langUrdu                      = 20,   /* smArabic script*/
101   langHindi                     = 21,   /* smDevanagari script*/
102   langThai                      = 22,   /* smThai script*/
103   langKorean                    = 23    /* smKorean script*/
104 };
105 
106 enum {
107   langLithuanian                = 24,   /* smCentralEuroRoman script*/
108   langPolish                    = 25,   /* smCentralEuroRoman script*/
109   langHungarian                 = 26,   /* smCentralEuroRoman script*/
110   langEstonian                  = 27,   /* smCentralEuroRoman script*/
111   langLatvian                   = 28,   /* smCentralEuroRoman script*/
112   langSami                      = 29,   /* language of the Sami people of N. Scandinavia             */
113   langFaroese                   = 30,   /* modified smRoman/Icelandic script                      */
114   langFarsi                     = 31,   /* modified smArabic/Farsi script*/
115   langPersian                   = 31,   /* Synonym for langFarsi*/
116   langRussian                   = 32,   /* smCyrillic script*/
117   langSimpChinese               = 33,   /* Chinese (Mandarin) in simplified characters*/
118   langFlemish                   = 34,   /* smRoman script*/
119   langIrishGaelic               = 35,   /* smRoman or modified smRoman/Celtic script (without dot above)   */
120   langAlbanian                  = 36,   /* smRoman script*/
121   langRomanian                  = 37,   /* modified smRoman/Romanian script*/
122   langCzech                     = 38,   /* smCentralEuroRoman script*/
123   langSlovak                    = 39,   /* smCentralEuroRoman script*/
124   langSlovenian                 = 40,   /* modified smRoman/Croatian script*/
125   langYiddish                   = 41,   /* smHebrew script*/
126   langSerbian                   = 42,   /* smCyrillic script*/
127   langMacedonian                = 43,   /* smCyrillic script*/
128   langBulgarian                 = 44,   /* smCyrillic script*/
129   langUkrainian                 = 45,   /* modified smCyrillic/Ukrainian script*/
130   langByelorussian              = 46,   /* smCyrillic script*/
131   langBelorussian               = 46    /* Synonym for langByelorussian                          */
132 };
133 
134 enum {
135   langUzbek                     = 47,   /* Cyrillic script*/
136   langKazakh                    = 48,   /* Cyrillic script*/
137   langAzerbaijani               = 49,   /* Azerbaijani in Cyrillic script*/
138   langAzerbaijanAr              = 50,   /* Azerbaijani in Arabic script*/
139   langArmenian                  = 51,   /* smArmenian script*/
140   langGeorgian                  = 52,   /* smGeorgian script*/
141   langMoldavian                 = 53,   /* smCyrillic script*/
142   langKirghiz                   = 54,   /* Cyrillic script*/
143   langTajiki                    = 55,   /* Cyrillic script*/
144   langTurkmen                   = 56,   /* Cyrillic script*/
145   langMongolian                 = 57,   /* Mongolian in smMongolian script*/
146   langMongolianCyr              = 58,   /* Mongolian in Cyrillic script*/
147   langPashto                    = 59,   /* Arabic script*/
148   langKurdish                   = 60,   /* smArabic script*/
149   langKashmiri                  = 61,   /* Arabic script*/
150   langSindhi                    = 62,   /* Arabic script*/
151   langTibetan                   = 63,   /* smTibetan script*/
152   langNepali                    = 64,   /* smDevanagari script*/
153   langSanskrit                  = 65,   /* smDevanagari script*/
154   langMarathi                   = 66,   /* smDevanagari script*/
155   langBengali                   = 67,   /* smBengali script*/
156   langAssamese                  = 68,   /* smBengali script*/
157   langGujarati                  = 69,   /* smGujarati script*/
158   langPunjabi                   = 70    /* smGurmukhi script*/
159 };
160 
161 enum {
162   langOriya                     = 71,   /* smOriya script*/
163   langMalayalam                 = 72,   /* smMalayalam script*/
164   langKannada                   = 73,   /* smKannada script*/
165   langTamil                     = 74,   /* smTamil script*/
166   langTelugu                    = 75,   /* smTelugu script*/
167   langSinhalese                 = 76,   /* smSinhalese script*/
168   langBurmese                   = 77,   /* smBurmese script*/
169   langKhmer                     = 78,   /* smKhmer script*/
170   langLao                       = 79,   /* smLao script*/
171   langVietnamese                = 80,   /* smVietnamese script*/
172   langIndonesian                = 81,   /* smRoman script*/
173   langTagalog                   = 82,   /* Roman script*/
174   langMalayRoman                = 83,   /* Malay in smRoman script*/
175   langMalayArabic               = 84,   /* Malay in Arabic script*/
176   langAmharic                   = 85,   /* smEthiopic script*/
177   langTigrinya                  = 86,   /* smEthiopic script*/
178   langOromo                     = 87,   /* smEthiopic script*/
179   langSomali                    = 88,   /* smRoman script*/
180   langSwahili                   = 89,   /* smRoman script*/
181   langKinyarwanda               = 90,   /* smRoman script*/
182   langRuanda                    = 90,   /* synonym for langKinyarwanda*/
183   langRundi                     = 91,   /* smRoman script*/
184   langNyanja                    = 92,   /* smRoman script*/
185   langChewa                     = 92,   /* synonym for langNyanja*/
186   langMalagasy                  = 93,   /* smRoman script*/
187   langEsperanto                 = 94    /* Roman script*/
188 };
189 
190 enum {
191   langWelsh                     = 128,  /* modified smRoman/Celtic script*/
192   langBasque                    = 129,  /* smRoman script*/
193   langCatalan                   = 130,  /* smRoman script*/
194   langLatin                     = 131,  /* smRoman script*/
195   langQuechua                   = 132,  /* smRoman script*/
196   langGuarani                   = 133,  /* smRoman script*/
197   langAymara                    = 134,  /* smRoman script*/
198   langTatar                     = 135,  /* Cyrillic script*/
199   langUighur                    = 136,  /* Arabic script*/
200   langDzongkha                  = 137,  /* (lang of Bhutan) smTibetan script*/
201   langJavaneseRom               = 138,  /* Javanese in smRoman script*/
202   langSundaneseRom              = 139,  /* Sundanese in smRoman script*/
203   langGalician                  = 140,  /* smRoman script*/
204   langAfrikaans                 = 141   /* smRoman script                                   */
205 };
206 
207 enum {
208   langBreton                    = 142,  /* smRoman or modified smRoman/Celtic script                 */
209   langInuktitut                 = 143,  /* Inuit script using smEthiopic script code                 */
210   langScottishGaelic            = 144,  /* smRoman or modified smRoman/Celtic script                 */
211   langManxGaelic                = 145,  /* smRoman or modified smRoman/Celtic script                 */
212   langIrishGaelicScript         = 146,  /* modified smRoman/Gaelic script (using dot above)               */
213   langTongan                    = 147,  /* smRoman script                                   */
214   langGreekAncient              = 148,  /* Classical Greek, polytonic orthography                    */
215   langGreenlandic               = 149,  /* smRoman script                                   */
216   langAzerbaijanRoman           = 150,  /* Azerbaijani in Roman script                             */
217   langNynorsk                   = 151   /* Norwegian Nyorsk in smRoman*/
218 };
219 
220 enum {
221   langUnspecified               = 32767 /* Special code for use in resources (such as 'itlm')           */
222 };
223 
224 /*
225    Obsolete language code names (kept for backward compatibility):
226    Misspelled, ambiguous, misleading, considered pejorative, archaic, etc.
227 */
228 enum {
229   langPortugese                 = 8,    /* Use langPortuguese*/
230   langMalta                     = 16,   /* Use langMaltese*/
231   langYugoslavian               = 18,   /* (use langCroatian, langSerbian, etc.)*/
232   langChinese                   = 19,   /* (use langTradChinese or langSimpChinese)*/
233   langLettish                   = 28,   /* Use langLatvian                                     */
234   langLapponian                 = 29,   /* Use langSami*/
235   langLappish                   = 29,   /* Use langSami*/
236   langSaamisk                   = 29,   /* Use langSami                                    */
237   langFaeroese                  = 30,   /* Use langFaroese                                     */
238   langIrish                     = 35,   /* Use langIrishGaelic                                  */
239   langGalla                     = 87,   /* Use langOromo                                 */
240   langAfricaans                 = 141,  /* Use langAfrikaans                                */
241   langGreekPoly                 = 148   /* Use langGreekAncient*/
242 };
243 
244 #endif /* __MacScriptExtracts__ */
245