1 {
2      File:       CarbonCore/Script.h
3 
4      Contains:   Script Manager interfaces
5                  The contents of this header file are deprecated.
6 
7      Copyright:  � 1986-2011 by Apple Inc. All rights reserved.
8 }
9 {
10     Modified for use with Free Pascal
11     Version 308
12     Please report any bugs to <gpc@microbizz.nl>
13 }
14 
15 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
16 {$mode macpas}
17 {$modeswitch cblocks}
18 {$packenum 1}
19 {$macro on}
20 {$inline on}
21 {$calling mwpascal}
22 
23 unit Script;
24 interface
25 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
26 {$setc GAP_INTERFACES_VERSION := $0308}
27 
28 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
29     {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
30 {$endc}
31 
32 {$ifc defined CPUPOWERPC and defined CPUI386}
33 	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
34 {$endc}
35 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
36 	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
37 {$endc}
38 
39 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
40 	{$setc __ppc__ := 1}
41 {$elsec}
42 	{$setc __ppc__ := 0}
43 {$endc}
44 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
45 	{$setc __ppc64__ := 1}
46 {$elsec}
47 	{$setc __ppc64__ := 0}
48 {$endc}
49 {$ifc not defined __i386__ and defined CPUI386}
50 	{$setc __i386__ := 1}
51 {$elsec}
52 	{$setc __i386__ := 0}
53 {$endc}
54 {$ifc not defined __x86_64__ and defined CPUX86_64}
55 	{$setc __x86_64__ := 1}
56 {$elsec}
57 	{$setc __x86_64__ := 0}
58 {$endc}
59 {$ifc not defined __arm__ and defined CPUARM}
60 	{$setc __arm__ := 1}
61 {$elsec}
62 	{$setc __arm__ := 0}
63 {$endc}
64 {$ifc not defined __arm64__ and defined CPUAARCH64}
65   {$setc __arm64__ := 1}
66 {$elsec}
67   {$setc __arm64__ := 0}
68 {$endc}
69 
70 {$ifc defined cpu64}
71   {$setc __LP64__ := 1}
72 {$elsec}
73   {$setc __LP64__ := 0}
74 {$endc}
75 
76 
77 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
78 	{$error Conflicting definitions for __ppc__ and __i386__}
79 {$endc}
80 
81 {$ifc defined __ppc__ and __ppc__}
82 	{$setc TARGET_CPU_PPC := TRUE}
83 	{$setc TARGET_CPU_PPC64 := FALSE}
84 	{$setc TARGET_CPU_X86 := FALSE}
85 	{$setc TARGET_CPU_X86_64 := FALSE}
86 	{$setc TARGET_CPU_ARM := FALSE}
87 	{$setc TARGET_CPU_ARM64 := FALSE}
88 	{$setc TARGET_OS_MAC := TRUE}
89 	{$setc TARGET_OS_IPHONE := FALSE}
90 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
91 	{$setc TARGET_OS_EMBEDDED := FALSE}
92 {$elifc defined __ppc64__ and __ppc64__}
93 	{$setc TARGET_CPU_PPC := FALSE}
94 	{$setc TARGET_CPU_PPC64 := TRUE}
95 	{$setc TARGET_CPU_X86 := FALSE}
96 	{$setc TARGET_CPU_X86_64 := FALSE}
97 	{$setc TARGET_CPU_ARM := FALSE}
98 	{$setc TARGET_CPU_ARM64 := FALSE}
99 	{$setc TARGET_OS_MAC := TRUE}
100 	{$setc TARGET_OS_IPHONE := FALSE}
101 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
102 	{$setc TARGET_OS_EMBEDDED := FALSE}
103 {$elifc defined __i386__ and __i386__}
104 	{$setc TARGET_CPU_PPC := FALSE}
105 	{$setc TARGET_CPU_PPC64 := FALSE}
106 	{$setc TARGET_CPU_X86 := TRUE}
107 	{$setc TARGET_CPU_X86_64 := FALSE}
108 	{$setc TARGET_CPU_ARM := FALSE}
109 	{$setc TARGET_CPU_ARM64 := FALSE}
110 {$ifc defined iphonesim}
111  	{$setc TARGET_OS_MAC := FALSE}
112 	{$setc TARGET_OS_IPHONE := TRUE}
113 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
114 {$elsec}
115 	{$setc TARGET_OS_MAC := TRUE}
116 	{$setc TARGET_OS_IPHONE := FALSE}
117 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
118 {$endc}
119 	{$setc TARGET_OS_EMBEDDED := FALSE}
120 {$elifc defined __x86_64__ and __x86_64__}
121 	{$setc TARGET_CPU_PPC := FALSE}
122 	{$setc TARGET_CPU_PPC64 := FALSE}
123 	{$setc TARGET_CPU_X86 := FALSE}
124 	{$setc TARGET_CPU_X86_64 := TRUE}
125 	{$setc TARGET_CPU_ARM := FALSE}
126 	{$setc TARGET_CPU_ARM64 := FALSE}
127 {$ifc defined iphonesim}
128  	{$setc TARGET_OS_MAC := FALSE}
129 	{$setc TARGET_OS_IPHONE := TRUE}
130 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
131 {$elsec}
132 	{$setc TARGET_OS_MAC := TRUE}
133 	{$setc TARGET_OS_IPHONE := FALSE}
134 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
135 {$endc}
136 	{$setc TARGET_OS_EMBEDDED := FALSE}
137 {$elifc defined __arm__ and __arm__}
138 	{$setc TARGET_CPU_PPC := FALSE}
139 	{$setc TARGET_CPU_PPC64 := FALSE}
140 	{$setc TARGET_CPU_X86 := FALSE}
141 	{$setc TARGET_CPU_X86_64 := FALSE}
142 	{$setc TARGET_CPU_ARM := TRUE}
143 	{$setc TARGET_CPU_ARM64 := FALSE}
144 	{$setc TARGET_OS_MAC := FALSE}
145 	{$setc TARGET_OS_IPHONE := TRUE}
146 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
147 	{$setc TARGET_OS_EMBEDDED := TRUE}
148 {$elifc defined __arm64__ and __arm64__}
149 	{$setc TARGET_CPU_PPC := FALSE}
150 	{$setc TARGET_CPU_PPC64 := FALSE}
151 	{$setc TARGET_CPU_X86 := FALSE}
152 	{$setc TARGET_CPU_X86_64 := FALSE}
153 	{$setc TARGET_CPU_ARM := FALSE}
154 	{$setc TARGET_CPU_ARM64 := TRUE}
155 {$ifc defined ios}
156 	{$setc TARGET_OS_MAC := FALSE}
157 	{$setc TARGET_OS_IPHONE := TRUE}
158 	{$setc TARGET_OS_EMBEDDED := TRUE}
159 {$elsec}
160 	{$setc TARGET_OS_MAC := TRUE}
161 	{$setc TARGET_OS_IPHONE := FALSE}
162 	{$setc TARGET_OS_EMBEDDED := FALSE}
163 {$endc}
164 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
165 {$elsec}
166 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
167 {$endc}
168 
169 {$ifc defined __LP64__ and __LP64__ }
170   {$setc TARGET_CPU_64 := TRUE}
171 {$elsec}
172   {$setc TARGET_CPU_64 := FALSE}
173 {$endc}
174 
175 {$ifc defined FPC_BIG_ENDIAN}
176 	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
177 	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
178 {$elifc defined FPC_LITTLE_ENDIAN}
179 	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
180 	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
181 {$elsec}
182 	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
183 {$endc}
184 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
185 {$setc CALL_NOT_IN_CARBON := FALSE}
186 {$setc OLDROUTINENAMES := FALSE}
187 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
188 {$setc OPAQUE_UPP_TYPES := TRUE}
189 {$setc OTCARBONAPPLICATION := TRUE}
190 {$setc OTKERNEL := FALSE}
191 {$setc PM_USE_SESSION_APIS := TRUE}
192 {$setc TARGET_API_MAC_CARBON := TRUE}
193 {$setc TARGET_API_MAC_OS8 := FALSE}
194 {$setc TARGET_API_MAC_OSX := TRUE}
195 {$setc TARGET_CARBON := TRUE}
196 {$setc TARGET_CPU_68K := FALSE}
197 {$setc TARGET_CPU_MIPS := FALSE}
198 {$setc TARGET_CPU_SPARC := FALSE}
199 {$setc TARGET_OS_UNIX := FALSE}
200 {$setc TARGET_OS_WIN32 := FALSE}
201 {$setc TARGET_RT_MAC_68881 := FALSE}
202 {$setc TARGET_RT_MAC_CFM := FALSE}
203 {$setc TARGET_RT_MAC_MACHO := TRUE}
204 {$setc TYPED_FUNCTION_POINTERS := TRUE}
205 {$setc TYPE_BOOL := FALSE}
206 {$setc TYPE_EXTENDED := FALSE}
207 {$setc TYPE_LONGLONG := TRUE}
208 uses MacTypes,IntlResources;
209 {$endc} {not MACOSALLINCLUDE}
210 
211 
212 {$ifc TARGET_OS_MAC}
213 
214 {$ALIGN MAC68K}
215 
216 { Meta script codes:}
217 const
218 	smSystemScript = -1;   { designates system script.}
219 	smCurrentScript = -2;   { designates current font script.}
220 	smAllScripts = -3;    { designates any script}
221 
222 {
223    Script codes:
224    These specify a Mac OS encoding that is related to a FOND ID range.
225    Some of the encodings have several variants (e.g. for different localized systems)
226     which all share the same script code.
227    Not all of these script codes are currently supported by Apple software.
228    Notes:
229    - Script code 0 (smRoman) is also used (instead of smGreek) for the Greek encoding
230      in the Greek localized system.
231    - Script code 28 (smEthiopic) is also used for the Inuit encoding in the Inuktitut
232      system.
233 }
234 const
235 	smRoman = 0;
236 	smJapanese = 1;
237 	smTradChinese = 2;    { Traditional Chinese}
238 	smKorean = 3;
239 	smArabic = 4;
240 	smHebrew = 5;
241 	smGreek = 6;
242 	smCyrillic = 7;
243 	smRSymbol = 8;    { Right-left symbol}
244 	smDevanagari = 9;
245 	smGurmukhi = 10;
246 	smGujarati = 11;
247 	smOriya = 12;
248 	smBengali = 13;
249 	smTamil = 14;
250 	smTelugu = 15;
251 	smKannada = 16;   { Kannada/Kanarese}
252 	smMalayalam = 17;
253 	smSinhalese = 18;
254 	smBurmese = 19;
255 	smKhmer = 20;   { Khmer/Cambodian}
256 	smThai = 21;
257 	smLao = 22;
258 	smGeorgian = 23;
259 	smArmenian = 24;
260 	smSimpChinese = 25;   { Simplified Chinese}
261 	smTibetan = 26;
262 	smMongolian = 27;
263 	smEthiopic = 28;
264 	smGeez = 28;   { Synonym for smEthiopic}
265 	smCentralEuroRoman = 29;   { For Czech, Slovak, Polish, Hungarian, Baltic langs}
266 	smVietnamese = 30;
267 	smExtArabic = 31;   { extended Arabic}
268 	smUninterp = 32;    { uninterpreted symbols, e.g. palette symbols}
269 
270 { Extended script code for full Unicode input}
271 const
272 	smUnicodeScript = $7E;
273 
274 { Obsolete script code names (kept for backward compatibility):}
275 const
276 	smChinese = 2;    { (Use smTradChinese or smSimpChinese)}
277 	smRussian = 7;    { Use smCyrillic}
278                                         { smMaldivian = 25: deleted, no code for Maldivian}
279 	smLaotian = 22;   { Use smLao                                     }
280 	smAmharic = 28;   { Use smEthiopic or smGeez}
281 	smSlavic = 29;   { Use smCentralEuroRoman}
282 	smEastEurRoman = 29;   { Use smCentralEuroRoman}
283 	smSindhi = 31;   { Use smExtArabic}
284 	smKlingon = 32;
285 
286 {
287    Language codes:
288    These specify a language implemented using a particular Mac OS encoding.
289    Not all of these language codes are currently supported by Apple software.
290 }
291 const
292 	langEnglish = 0;    { smRoman script}
293 	langFrench = 1;    { smRoman script}
294 	langGerman = 2;    { smRoman script}
295 	langItalian = 3;    { smRoman script}
296 	langDutch = 4;    { smRoman script}
297 	langSwedish = 5;    { smRoman script}
298 	langSpanish = 6;    { smRoman script}
299 	langDanish = 7;    { smRoman script}
300 	langPortuguese = 8;    { smRoman script}
301 	langNorwegian = 9;    { (Bokmal) smRoman script}
302 	langHebrew = 10;   { smHebrew script}
303 	langJapanese = 11;   { smJapanese script}
304 	langArabic = 12;   { smArabic script}
305 	langFinnish = 13;   { smRoman script}
306 	langGreek = 14;   { Greek script (monotonic) using smRoman script code}
307 	langIcelandic = 15;   { modified smRoman/Icelandic script}
308 	langMaltese = 16;   { Roman script}
309 	langTurkish = 17;   { modified smRoman/Turkish script}
310 	langCroatian = 18;   { modified smRoman/Croatian script}
311 	langTradChinese = 19;   { Chinese (Mandarin) in traditional characters}
312 	langUrdu = 20;   { smArabic script}
313 	langHindi = 21;   { smDevanagari script}
314 	langThai = 22;   { smThai script}
315 	langKorean = 23;    { smKorean script}
316 
317 const
318 	langLithuanian = 24;   { smCentralEuroRoman script}
319 	langPolish = 25;   { smCentralEuroRoman script}
320 	langHungarian = 26;   { smCentralEuroRoman script}
321 	langEstonian = 27;   { smCentralEuroRoman script}
322 	langLatvian = 28;   { smCentralEuroRoman script}
323 	langSami = 29;   { language of the Sami people of N. Scandinavia             }
324 	langFaroese = 30;   { modified smRoman/Icelandic script                      }
325 	langFarsi = 31;   { modified smArabic/Farsi script}
326 	langPersian = 31;   { Synonym for langFarsi}
327 	langRussian = 32;   { smCyrillic script}
328 	langSimpChinese = 33;   { Chinese (Mandarin) in simplified characters}
329 	langFlemish = 34;   { smRoman script}
330 	langIrishGaelic = 35;   { smRoman or modified smRoman/Celtic script (without dot above)   }
331 	langAlbanian = 36;   { smRoman script}
332 	langRomanian = 37;   { modified smRoman/Romanian script}
333 	langCzech = 38;   { smCentralEuroRoman script}
334 	langSlovak = 39;   { smCentralEuroRoman script}
335 	langSlovenian = 40;   { modified smRoman/Croatian script}
336 	langYiddish = 41;   { smHebrew script}
337 	langSerbian = 42;   { smCyrillic script}
338 	langMacedonian = 43;   { smCyrillic script}
339 	langBulgarian = 44;   { smCyrillic script}
340 	langUkrainian = 45;   { modified smCyrillic/Ukrainian script}
341 	langByelorussian = 46;   { smCyrillic script}
342 	langBelorussian = 46;    { Synonym for langByelorussian                          }
343 
344 const
345 	langUzbek = 47;   { Cyrillic script}
346 	langKazakh = 48;   { Cyrillic script}
347 	langAzerbaijani = 49;   { Azerbaijani in Cyrillic script}
348 	langAzerbaijanAr = 50;   { Azerbaijani in Arabic script}
349 	langArmenian = 51;   { smArmenian script}
350 	langGeorgian = 52;   { smGeorgian script}
351 	langMoldavian = 53;   { smCyrillic script}
352 	langKirghiz = 54;   { Cyrillic script}
353 	langTajiki = 55;   { Cyrillic script}
354 	langTurkmen = 56;   { Cyrillic script}
355 	langMongolian = 57;   { Mongolian in smMongolian script}
356 	langMongolianCyr = 58;   { Mongolian in Cyrillic script}
357 	langPashto = 59;   { Arabic script}
358 	langKurdish = 60;   { smArabic script}
359 	langKashmiri = 61;   { Arabic script}
360 	langSindhi = 62;   { Arabic script}
361 	langTibetan = 63;   { smTibetan script}
362 	langNepali = 64;   { smDevanagari script}
363 	langSanskrit = 65;   { smDevanagari script}
364 	langMarathi = 66;   { smDevanagari script}
365 	langBengali = 67;   { smBengali script}
366 	langAssamese = 68;   { smBengali script}
367 	langGujarati = 69;   { smGujarati script}
368 	langPunjabi = 70;    { smGurmukhi script}
369 
370 const
371 	langOriya = 71;   { smOriya script}
372 	langMalayalam = 72;   { smMalayalam script}
373 	langKannada = 73;   { smKannada script}
374 	langTamil = 74;   { smTamil script}
375 	langTelugu = 75;   { smTelugu script}
376 	langSinhalese = 76;   { smSinhalese script}
377 	langBurmese = 77;   { smBurmese script}
378 	langKhmer = 78;   { smKhmer script}
379 	langLao = 79;   { smLao script}
380 	langVietnamese = 80;   { smVietnamese script}
381 	langIndonesian = 81;   { smRoman script}
382 	langTagalog = 82;   { Roman script}
383 	langMalayRoman = 83;   { Malay in smRoman script}
384 	langMalayArabic = 84;   { Malay in Arabic script}
385 	langAmharic = 85;   { smEthiopic script}
386 	langTigrinya = 86;   { smEthiopic script}
387 	langOromo = 87;   { smEthiopic script}
388 	langSomali = 88;   { smRoman script}
389 	langSwahili = 89;   { smRoman script}
390 	langKinyarwanda = 90;   { smRoman script}
391 	langRuanda = 90;   { synonym for langKinyarwanda}
392 	langRundi = 91;   { smRoman script}
393 	langNyanja = 92;   { smRoman script}
394 	langChewa = 92;   { synonym for langNyanja}
395 	langMalagasy = 93;   { smRoman script}
396 	langEsperanto = 94;    { Roman script}
397 
398 const
399 	langWelsh = 128;  { modified smRoman/Celtic script}
400 	langBasque = 129;  { smRoman script}
401 	langCatalan = 130;  { smRoman script}
402 	langLatin = 131;  { smRoman script}
403 	langQuechua = 132;  { smRoman script}
404 	langGuarani = 133;  { smRoman script}
405 	langAymara = 134;  { smRoman script}
406 	langTatar = 135;  { Cyrillic script}
407 	langUighur = 136;  { Arabic script}
408 	langDzongkha = 137;  { (lang of Bhutan) smTibetan script}
409 	langJavaneseRom = 138;  { Javanese in smRoman script}
410 	langSundaneseRom = 139;  { Sundanese in smRoman script}
411 	langGalician = 140;  { smRoman script}
412 	langAfrikaans = 141;   { smRoman script                                   }
413 
414 const
415 	langBreton = 142;  { smRoman or modified smRoman/Celtic script                 }
416 	langInuktitut = 143;  { Inuit script using smEthiopic script code                 }
417 	langScottishGaelic = 144;  { smRoman or modified smRoman/Celtic script                 }
418 	langManxGaelic = 145;  { smRoman or modified smRoman/Celtic script                 }
419 	langIrishGaelicScript = 146;  { modified smRoman/Gaelic script (using dot above)               }
420 	langTongan = 147;  { smRoman script                                   }
421 	langGreekAncient = 148;  { Classical Greek, polytonic orthography                    }
422 	langGreenlandic = 149;  { smRoman script                                   }
423 	langAzerbaijanRoman = 150;  { Azerbaijani in Roman script                             }
424 	langNynorsk = 151;   { Norwegian Nyorsk in smRoman}
425 
426 const
427 	langUnspecified = 32767; { Special code for use in resources (such as 'itlm')           }
428 
429 {
430    Obsolete language code names (kept for backward compatibility):
431    Misspelled, ambiguous, misleading, considered pejorative, archaic, etc.
432 }
433 const
434 	langPortugese = 8;    { Use langPortuguese}
435 	langMalta = 16;   { Use langMaltese}
436 	langYugoslavian = 18;   { (use langCroatian, langSerbian, etc.)}
437 	langChinese = 19;   { (use langTradChinese or langSimpChinese)}
438 	langLettish = 28;   { Use langLatvian                                     }
439 	langLapponian = 29;   { Use langSami}
440 	langLappish = 29;   { Use langSami}
441 	langSaamisk = 29;   { Use langSami                                    }
442 	langFaeroese = 30;   { Use langFaroese                                     }
443 	langIrish = 35;   { Use langIrishGaelic                                  }
444 	langGalla = 87;   { Use langOromo                                 }
445 	langAfricaans = 141;  { Use langAfrikaans                                }
446 	langGreekPoly = 148;   { Use langGreekAncient}
447 
448 {
449    Region codes:
450    These typically specify a combination of a language code and a particular region.
451    Some of these numeric values are reserved just for extra resource IDs associated
452    with certain regions; these are not actual region codes, and are noted in the comments.
453    Not all of the region codes are currently supported by Apple software.
454    When relevant, the following list also provides:
455    - The Apple part number (P/N) code for software localized for the specified region.
456    - The two-letter ISO language and country codes (from ISO 639 and ISO 3166). The
457      language code (lowercase) is first, then '_', then the country code (uppercase).
458 }
459 
460 const
461 { P/N    ISO    codes  comments}
462 	verUS = 0;    {       en_US}
463 	verFrance = 1;    { F  fr_FR}
464 	verBritain = 2;    { B  en_GB}
465 	verGermany = 3;    { D  de_DE}
466 	verItaly = 4;    { T  it_IT}
467 	verNetherlands = 5;    { N  nl_NL}
468 	verFlemish = 6;    { FN nl_BE     Flemish (Dutch) for Belgium                 }
469 	verSweden = 7;    { S  sv_SE}
470 	verSpain = 8;    { E  es_ES       Spanish for Spain}
471 	verDenmark = 9;    { DK da_DK}
472 	verPortugal = 10;   { PO pt_PT     Portuguese for Portugal}
473 	verFrCanada = 11;   { C  fr_CA       French for Canada}
474 	verNorway = 12;   { H  nb_NO       Bokm�l}
475 	verIsrael = 13;   { HB he_IL     Hebrew}
476 	verJapan = 14;   { J  ja_JP}
477 	verAustralia = 15;   { X  en_AU       English for Australia}
478 	verArabic = 16;   { AB ar       Arabic for N Africa, Arabian peninsula, Levant}
479 	verFinland = 17;   { K  fi_FI}
480 	verFrSwiss = 18;   { SF fr_CH     French Swiss}
481 	verGrSwiss = 19;   { SD de_CH     German Swiss}
482 	verGreece = 20;   { GR el_GR     Monotonic Greek (modern)}
483 	verIceland = 21;   { IS is_IS}
484 	verMalta = 22;   { MA mt_MT}
485 	verCyprus = 23;   { CY el_CY}
486 	verTurkey = 24;   { TU tr_TR}
487 	verYugoCroatian = 25;    { YU hr_HR     Croatian for Yugoslavia; now use verCroatia (68)}
488 
489 const
490 	verNetherlandsComma = 26;   {              ID for KCHR resource - Dutch}
491 	verFlemishPoint = 27;   {              ID for KCHR resource - Belgium}
492 	verCanadaComma = 28;   {              ID for KCHR resource - Canadian ISO}
493 	verCanadaPoint = 29;   {              ID for KCHR resource - Canadian; now unused}
494 	vervariantPortugal = 30;   {              ID for resource; now unused}
495 	vervariantNorway = 31;   {              ID for resource; now unused}
496 	vervariantDenmark = 32;    {              ID for KCHR resource - Danish Mac Plus}
497 
498 const
499 	verIndiaHindi = 33;   {       hi_IN     Hindi for India}
500 	verPakistanUrdu = 34;   { UR ur_PK     Urdu for Pakistan                        }
501 	verTurkishModified = 35;   {       tr_TR}
502 	verItalianSwiss = 36;   { ST it_CH     Italian Swiss}
503 	verInternational = 37;   { Z  en-ascii English for international use; ASCII chars only     }
504                                         {              38 is unassigned}
505 	verRomania = 39;   { RO ro_RO}
506 	verGreekAncient = 40;   {       grc      Ancient Greek, polytonic orthography          }
507 	verLithuania = 41;   { LT lt_LT}
508 	verPoland = 42;   { PL pl_PL}
509 	verHungary = 43;   { MG hu_HU}
510 	verEstonia = 44;   { EE et_EE}
511 	verLatvia = 45;   { LV lv_LV}
512 	verSami = 46;   {       se                                        }
513 	verFaroeIsl = 47;   { FA fo_FO                                    }
514 	verIran = 48;   { PS fa_IR     Persian/Farsi}
515 	verRussia = 49;   { RS ru_RU     Russian}
516 	verIreland = 50;   { GA ga_IE     Irish Gaelic for Ireland (without dot above)     }
517 	verKorea = 51;   { KH ko_KR}
518 	verChina = 52;   { CH zh_CN     Simplified Chinese}
519 	verTaiwan = 53;   { TA zh_TW     Traditional Chinese}
520 	verThailand = 54;   { TH th_TH}
521 	verScriptGeneric = 55;   { SS          Generic script system (no language or script)       }
522 	verCzech = 56;   { CZ cs_CZ}
523 	verSlovak = 57;   { SL sk_SK}
524 	verEastAsiaGeneric = 58;   { FE          Generic East Asia system (no language or script) }
525 	verMagyar = 59;   {       hu_HU     Unused; see verHungary}
526 	verBengali = 60;   {       bn         Bangladesh or India}
527 	verBelarus = 61;    { BY be_BY}
528 
529 const
530 	verUkraine = 62;   { UA uk_UA}
531                                         {              63 is unassigned}
532 	verGreeceAlt = 64;   {       el_GR     unused                              }
533 	verSerbian = 65;   { SR sr_CS                                    }
534 	verSlovenian = 66;   { SV sl_SI                                    }
535 	verMacedonian = 67;   { MD mk_MK                                    }
536 	verCroatia = 68;   { CR hr_HR}
537                                         {              69 is unassigned}
538 	verGermanReformed = 70;   {       de-1996     Reformed orthography (used formerly unassigned 70)   }
539 	verBrazil = 71;   { BR pt_BR     Portuguese for Brazil}
540 	verBulgaria = 72;   { BG bg_BG}
541 	verCatalonia = 73;   { CA ca_ES     Catalan for Spain}
542 	verMultilingual = 74;   { ZM mul        (no language or script)}
543 	verScottishGaelic = 75;   { GD gd}
544 	verManxGaelic = 76;   { GV gv       Isle of Man}
545 	verBreton = 77;   { BZ br}
546 	verNunavut = 78;   { IU iu_CA     Inuktitut for Canada}
547 	verWelsh = 79;   { CU cy}
548                                         {              80 is ID for KCHR resource - Canadian CSA}
549 	verIrishGaelicScript = 81;   { GS ga-Latg_IE  Irish Gaelic for Ireland (using dot above)}
550 	verEngCanada = 82;   { V  en_CA       English for Canada}
551 	verBhutan = 83;   { BH dz_BT     Dzongkha for Bhutan}
552 	verArmenian = 84;   { HY hy_AM}
553 	verGeorgian = 85;   { KR ka_GE}
554 	verSpLatinAmerica = 86;   { LA es_XL     Spanish for Latin America (private ISO 3166 code)}
555                                         {              87 is ID for KCHR resource - Spanish ISO}
556 	verTonga = 88;   { TS to_TO}
557                                         {              89 is ID for KCHR resource - Polish Modified}
558                                         {              90 is ID for KCHR resource - Catalan ISO}
559 	verFrenchUniversal = 91;   {       fr         French generic}
560 	verAustria = 92;   { AU de_AT     German for Austria}
561                                         { Y          93 is unused alternate for verSpLatinAmerica}
562 	verGujarati = 94;   {       gu_IN}
563 	verPunjabi = 95;   {       pa         Pakistan or India}
564 	verIndiaUrdu = 96;   {       ur_IN     Urdu for India}
565 	verVietnam = 97;    {       vi_VN}
566 
567 const
568 	verFrBelgium = 98;   { BF fr_BE     French for Belgium                       }
569 	verUzbek = 99;   { BD uz_UZ                                    }
570 	verSingapore = 100;  { SG en_SG     (Assume English, not Chinese or Malay)                                 }
571 	verNynorsk = 101;  { NY nn_NO     Norwegian Nynorsk                        }
572 	verAfrikaans = 102;  { AK af_ZA                                    }
573 	verEsperanto = 103;  {       eo                                        }
574 	verMarathi = 104;  {       mr_IN                                      }
575 	verTibetan = 105;  {       bo                                        }
576 	verNepal = 106;  {       ne_NP                                      }
577 	verGreenland = 107;  {       kl                                        }
578 	verIrelandEnglish = 108;   {       en_IE     English for Ireland, with Euro for currency}
579 
580 {
581    Other extra resource IDs assigned in the same number space:
582     179 is ID for KCHR & itl_ resources - Cornish
583     581 is ID for KCHR resource - Irish Gaelic script alternate
584     582 is ID for KCHR resource - Ogham
585     779 is ID for KCHR resource - Welsh alternate
586    1111 is ID for KCHR resource - French numeric
587 }
588 
589 {
590    Obsolete region code names (kept for backward compatibility):
591    Misspelled or alternate form, ambiguous, misleading, considered pejorative, archaic, etc.
592 }
593 const
594 	verFrBelgiumLux = 6;    { Incorrect; 6 is Flemish, not French, for Belgium; use verFlemish     }
595 	verBelgiumLux = 6;    { Use verFlemish}
596 	verArabia = 16;   { Use verArabic}
597 	verYugoslavia = 25;   { Use verYugoCroatian (same number, now unused), or newer verCroatia}
598 	verBelgiumLuxPoint = 27;   { Use verFlemishPoint}
599 	verIndia = 33;   { Use verIndiaHindi}
600 	verPakistan = 34;   { Use verPakistanUrdu                                  }
601 	verRumania = 39;   { Alternate for verRomania                              }
602 	verGreecePoly = 40;   { Use verGreekAncient                                  }
603 	verLapland = 46;   { Use verSami                                       }
604 	verFaeroeIsl = 47;   { Use verFaroeIsl                                     }
605 	verGenericFE = 58;   { Use verEastAsiaGeneric                              }
606 	verFarEastGeneric = 58;   { Use verEastAsiaGeneric}
607 	verByeloRussian = 61;   { Alternate for verBelarus                              }
608 	verUkrania = 62;   { Use verUkraine}
609 	verAlternateGr = 64;   { Use verGreeceAlt                                   }
610 	verSerbia = 65;   { Alternate for verSerbian                              }
611 	verSlovenia = 66;   { Alternate for verSlovenian                            }
612 	verMacedonia = 67;   { Alternate for verMacedonian                             }
613 	verBrittany = 77;   { Alternate for verBreton                              }
614 	verWales = 79;   { Alternate for verWelsh                              }
615 	verArmenia = 84;   { Alternate for verArmenian                           }
616 	verGeorgia = 85;   { Alternate for verGeorgian                           }
617 	verAustriaGerman = 92;   { Use verAustria                                   }
618 	verTibet = 105;   { Use verTibetan                                   }
619 
620 const
621 	minCountry = verUS;
622 	maxCountry = verIrelandEnglish;
623 
624 const
625 { Calendar Codes }
626 	calGregorian = 0;
627 	calArabicCivil = 1;
628 	calArabicLunar = 2;
629 	calJapanese = 3;
630 	calJewish = 4;
631 	calCoptic = 5;
632 	calPersian = 6;
633 
634 const
635 { Integer Format Codes }
636 	intWestern = 0;
637 	intArabic = 1;
638 	intRoman = 2;
639 	intJapanese = 3;
640 	intEuropean = 4;
641 	intOutputMask = $8000;
642 
643 const
644 { CharByte byte types }
645 	smSingleByte = 0;
646 	smFirstByte = -1;
647 	smLastByte = 1;
648 	smMiddleByte = 2;
649 
650 const
651 { CharType field masks }
652 	smcTypeMask = $000F;
653 	smcReserved = $00F0;
654 	smcClassMask = $0F00;
655 	smcOrientationMask = $1000; {two-byte script glyph orientation}
656 	smcRightMask = $2000;
657 	smcUpperMask = $4000;
658 	smcDoubleMask = $8000;
659 
660 const
661 { Basic CharType character types }
662 	smCharPunct = $0000;
663 	smCharAscii = $0001;
664 	smCharEuro = $0007;
665 	smCharExtAscii = $0007; { More correct synonym for smCharEuro }
666                                         { Additional CharType character types for script systems }
667 	smCharKatakana = $0002; {Japanese Katakana}
668 	smCharHiragana = $0003; {Japanese Hiragana}
669 	smCharIdeographic = $0004; {Hanzi, Kanji, Hanja}
670 	smCharTwoByteGreek = $0005; {2-byte Greek in Far East systems}
671 	smCharTwoByteRussian = $0006; {2-byte Cyrillic in Far East systems}
672 	smCharBidirect = $0008; {Arabic/Hebrew}
673 	smCharContextualLR = $0009; {Contextual left-right: Thai, Indic scripts}
674 	smCharNonContextualLR = $000A; {Non-contextual left-right: Cyrillic, Greek}
675 	smCharHangul = $000C; {Korean Hangul}
676 	smCharJamo = $000D; {Korean Jamo}
677 	smCharBopomofo = $000E; {Chinese Bopomofo}
678 	smCharGanaKana = $000F; {Shared for Japanese Hiragana & Katakana}
679                                         { old names for some of above, for backward compatibility }
680 	smCharFISKana = $0002; {Katakana}
681 	smCharFISGana = $0003; {Hiragana}
682 	smCharFISIdeo = $0004; {Hanzi, Kanji, Hanja}
683 
684 const
685 	smCharFISGreek = $0005; {2-byte Greek in Far East systems}
686 	smCharFISRussian = $0006; {2-byte Cyrillic in Far East systems}
687                                         { CharType classes for punctuation (smCharPunct) }
688 	smPunctNormal = $0000;
689 	smPunctNumber = $0100;
690 	smPunctSymbol = $0200;
691 	smPunctBlank = $0300; { Additional CharType classes for punctuation in two-byte systems }
692 	smPunctRepeat = $0400; { repeat marker }
693 	smPunctGraphic = $0500; { line graphics }
694                                         { CharType Katakana and Hiragana classes for two-byte systems }
695 	smKanaSmall = $0100; {small kana character}
696 	smKanaHardOK = $0200; {can have dakuten}
697 	smKanaSoftOK = $0300; {can have dakuten or han-dakuten}
698                                         { CharType Ideographic classes for two-byte systems }
699 	smIdeographicLevel1 = $0000; {level 1 char}
700 	smIdeographicLevel2 = $0100; {level 2 char}
701 	smIdeographicUser = $0200; {user char}
702                                         { old names for above, for backward compatibility }
703 	smFISClassLvl1 = $0000; {level 1 char}
704 	smFISClassLvl2 = $0100; {level 2 char}
705 	smFISClassUser = $0200; {user char}
706                                         { CharType Jamo classes for Korean systems }
707 	smJamoJaeum = $0000; {simple consonant char}
708 	smJamoBogJaeum = $0100; {complex consonant char}
709 	smJamoMoeum = $0200; {simple vowel char}
710 	smJamoBogMoeum = $0300; {complex vowel char}
711 
712 const
713 { CharType glyph orientation for two-byte systems }
714 	smCharHorizontal = $0000; { horizontal character form, or for both }
715 	smCharVertical = $1000; { vertical character form }
716                                         { CharType directions }
717 	smCharLeft = $0000;
718 	smCharRight = $2000; { CharType case modifers }
719 	smCharLower = $0000;
720 	smCharUpper = $4000; { CharType character size modifiers (1 or multiple bytes). }
721 	smChar1byte = $0000;
722 	smChar2byte = $8000;
723 
724 const
725 { TransliterateText target types for Roman }
726 	smTransAscii = 0;    {convert to ASCII}
727 	smTransNative = 1;    {convert to font script}
728 	smTransCase = $FE; {convert case for all text}
729 	smTransSystem = $FF; {convert to system script}
730                                         { TransliterateText target types for two-byte scripts }
731 	smTransAscii1 = 2;    {1-byte Roman}
732 	smTransAscii2 = 3;    {2-byte Roman}
733 	smTransKana1 = 4;    {1-byte Japanese Katakana}
734 	smTransKana2 = 5;     {2-byte Japanese Katakana}
735 
736 const
737 	smTransGana2 = 7;    {2-byte Japanese Hiragana (no 1-byte Hiragana)}
738 	smTransHangul2 = 8;    {2-byte Korean Hangul}
739 	smTransJamo2 = 9;    {2-byte Korean Jamo}
740 	smTransBopomofo2 = 10;   {2-byte Chinese Bopomofo}
741                                         { TransliterateText target modifiers }
742 	smTransLower = $4000; {target becomes lowercase}
743 	smTransUpper = $8000; {target becomes uppercase}
744                                         { TransliterateText resource format numbers }
745 	smTransRuleBaseFormat = 1;    {Rule based trsl resource format }
746 	smTransHangulFormat = 2;    {Table based Hangul trsl resource format}
747                                         { TransliterateText property flags }
748 	smTransPreDoubleByting = 1;    {Convert all text to double byte before transliteration}
749 	smTransPreLowerCasing = 2;     {Convert all text to lower case before transliteration}
750 
751 const
752 { TransliterateText source mask - general }
753 	smMaskAll = -1; {Convert all text}
754                                         { TransliterateText source masks }
755 	smMaskAscii = $00000001; {2^smTransAscii}
756 	smMaskNative = $00000002; {2^smTransNative}
757                                         { TransliterateText source masks for two-byte scripts }
758 	smMaskAscii1 = $00000004; {2^smTransAscii1}
759 	smMaskAscii2 = $00000008; {2^smTransAscii2}
760 	smMaskKana1 = $00000010; {2^smTransKana1}
761 	smMaskKana2 = $00000020; {2^smTransKana2}
762 	smMaskGana2 = $00000080; {2^smTransGana2}
763 	smMaskHangul2 = $00000100; {2^smTransHangul2}
764 	smMaskJamo2 = $00000200; {2^smTransJamo2}
765 	smMaskBopomofo2 = $00000400; {2^smTransBopomofo2}
766 
767 const
768 { Special script code values for International Utilities }
769 	iuSystemScript = -1;   { <obsolete>  system script }
770 	iuCurrentScript = -2;    { <obsolete>  current script (for font of grafPort) }
771 
772 const
773 { Negative verbs for KeyScript }
774 	smKeyNextScript = -1;   { Switch to next available script }
775 	smKeySysScript = -2;   { Switch to the system script }
776 	smKeySwapScript = -3;   { Switch to previously-used script }
777                                         { New for System 7.0: }
778 	smKeyNextKybd = -4;   { Switch to next keyboard in current keyscript }
779 	smKeySwapKybd = -5;   { Switch to previously-used keyboard in current keyscript }
780 	smKeyDisableKybds = -6;   { Disable keyboards not in system or Roman script }
781 	smKeyEnableKybds = -7;   { Re-enable keyboards for all enabled scripts }
782 	smKeyToggleInline = -8;   { Toggle inline input for current keyscript }
783 	smKeyToggleDirection = -9;   { Toggle default line direction (TESysJust) }
784 	smKeyNextInputMethod = -10;  { Switch to next input method in current keyscript }
785 	smKeySwapInputMethod = -11;  { Switch to last-used input method in current keyscript }
786 	smKeyDisableKybdSwitch = -12;  { Disable switching from the current keyboard }
787 	smKeySetDirLeftRight = -15;  { Set default line dir to left-right, align left }
788 	smKeySetDirRightLeft = -16;  { Set default line dir to right-left, align right }
789 	smKeyRoman = -17;   { Set keyscript to Roman. Does nothing if Roman-only system, unlike KeyScript(smRoman) which forces an update to current default Roman keyboard }
790 
791 const
792 { Force keyboard script switching flag and mask for zero and positive KeyScript verbs }
793 	smKeyForceKeyScriptBit = 7;    { Force keyboard script switching flag }
794 	smKeyForceKeyScriptMask = 1 shl smKeyForceKeyScriptBit; { its mask }
795 
796 const
797 { Roman script constants }
798                                         { The following are here for backward compatibility, but should not be used. }
799                                         { This information should be obtained using GetScript. }
800 	romanSysFond = $3FFF; {system font id number}
801 	romanAppFond = 3;    {application font id number}
802 	romanFlags = $0007; {roman settings}
803                                         { Script Manager font equates. }
804 	smFondStart = $4000; {start from 16K}
805 	smFondEnd = $C000; {past end of range at 48K}
806                                         { Miscellaneous font equates. }
807 	smUprHalfCharSet = $80;  {first char code in top half of std char set}
808 
809 const
810 { Character Set Extensions }
811 	diaeresisUprY = $D9;
812 	fraction = $DA;
813 	intlCurrency = $DB;
814 	leftSingGuillemet = $DC;
815 	rightSingGuillemet = $DD;
816 	fiLigature = $DE;
817 	flLigature = $DF;
818 	dblDagger = $E0;
819 	centeredDot = $E1;
820 	baseSingQuote = $E2;
821 	baseDblQuote = $E3;
822 	perThousand = $E4;
823 	circumflexUprA = $E5;
824 	circumflexUprE = $E6;
825 	acuteUprA = $E7;
826 	diaeresisUprE = $E8;
827 	graveUprE = $E9;
828 	acuteUprI = $EA;
829 	circumflexUprI = $EB;
830 	diaeresisUprI = $EC;
831 	graveUprI = $ED;
832 	acuteUprO = $EE;
833 	circumflexUprO = $EF;
834 	appleLogo = $F0;
835 	graveUprO = $F1;
836 	acuteUprU = $F2;
837 	circumflexUprU = $F3;
838 	graveUprU = $F4;
839 	dotlessLwrI = $F5;
840 	circumflex = $F6;
841 	tilde = $F7;
842 	macron = $F8;
843 	breveMark = $F9;
844 	overDot = $FA;
845 	ringMark = $FB;
846 	cedilla = $FC;
847 	doubleAcute = $FD;
848 	ogonek = $FE;
849 	hachek = $FF;
850 
851 const
852 { ScriptTokenType values }
853 	tokenIntl = 4;    {the itl resource number of the tokenizer}
854 	tokenEmpty = -1;    {used internally as an empty flag}
855 
856 const
857 	tokenUnknown = 0;    {chars that do not match a defined token type}
858 	tokenWhite = 1;    {white space}
859 	tokenLeftLit = 2;    {literal begin}
860 	tokenRightLit = 3;    {literal end}
861 	tokenAlpha = 4;    {alphabetic}
862 	tokenNumeric = 5;    {numeric}
863 	tokenNewLine = 6;    {new line}
864 	tokenLeftComment = 7;    {open comment}
865 	tokenRightComment = 8;    {close comment}
866 	tokenLiteral = 9;    {literal}
867 	tokenEscape = 10;   {character escape (e.g. '\' in "\n", "\t")}
868 	tokenAltNum = 11;   {alternate number (e.g. $B0-B9 in Arabic,Hebrew)}
869 	tokenRealNum = 12;   {real number}
870 	tokenAltReal = 13;   {alternate real number}
871 	tokenReserve1 = 14;   {reserved}
872 	tokenReserve2 = 15;   {reserved}
873 	tokenLeftParen = 16;   {open parenthesis}
874 	tokenRightParen = 17;   {close parenthesis}
875 	tokenLeftBracket = 18;   {open square bracket}
876 	tokenRightBracket = 19;    {close square bracket}
877 
878 const
879 	tokenLeftCurly = 20;   {open curly bracket}
880 	tokenRightCurly = 21;   {close curly bracket}
881 	tokenLeftEnclose = 22;   {open guillemet}
882 	tokenRightEnclose = 23;   {close guillemet}
883 	tokenPlus = 24;
884 	tokenMinus = 25;
885 	tokenAsterisk = 26;   {times/multiply}
886 	tokenDivide = 27;
887 	tokenPlusMinus = 28;   {plus or minus symbol}
888 	tokenSlash = 29;
889 	tokenBackSlash = 30;
890 	tokenLess = 31;   {less than symbol}
891 	tokenGreat = 32;   {greater than symbol}
892 	tokenEqual = 33;
893 	tokenLessEqual2 = 34;   {less than or equal, 2 characters (e.g. <=)}
894 	tokenLessEqual1 = 35;   {less than or equal, 1 character}
895 	tokenGreatEqual2 = 36;   {greater than or equal, 2 characters (e.g. >=)}
896 	tokenGreatEqual1 = 37;   {greater than or equal, 1 character}
897 	token2Equal = 38;   {double equal (e.g. ==)}
898 	tokenColonEqual = 39;    {colon equal}
899 
900 const
901 	tokenNotEqual = 40;   {not equal, 1 character}
902 	tokenLessGreat = 41;   {less/greater, Pascal not equal (e.g. <>)}
903 	tokenExclamEqual = 42;   {exclamation equal, C not equal (e.g. !=)}
904 	tokenExclam = 43;   {exclamation point}
905 	tokenTilde = 44;   {centered tilde}
906 	tokenComma = 45;
907 	tokenPeriod = 46;
908 	tokenLeft2Quote = 47;   {open double quote}
909 	tokenRight2Quote = 48;   {close double quote}
910 	tokenLeft1Quote = 49;   {open single quote}
911 	tokenRight1Quote = 50;   {close single quote}
912 	token2Quote = 51;   {double quote}
913 	token1Quote = 52;   {single quote}
914 	tokenSemicolon = 53;
915 	tokenPercent = 54;
916 	tokenCaret = 55;
917 	tokenUnderline = 56;
918 	tokenAmpersand = 57;
919 	tokenAtSign = 58;
920 	tokenBar = 59;    {vertical bar}
921 
922 const
923 	tokenQuestion = 60;
924 	tokenPi = 61;   {lower-case pi}
925 	tokenRoot = 62;   {square root symbol}
926 	tokenSigma = 63;   {capital sigma}
927 	tokenIntegral = 64;   {integral sign}
928 	tokenMicro = 65;
929 	tokenCapPi = 66;   {capital pi}
930 	tokenInfinity = 67;
931 	tokenColon = 68;
932 	tokenHash = 69;   {e.g. #}
933 	tokenDollar = 70;
934 	tokenNoBreakSpace = 71;   {non-breaking space}
935 	tokenFraction = 72;
936 	tokenIntlCurrency = 73;
937 	tokenLeftSingGuillemet = 74;
938 	tokenRightSingGuillemet = 75;
939 	tokenPerThousand = 76;
940 	tokenEllipsis = 77;
941 	tokenCenterDot = 78;
942 	tokenNil = 127;
943 
944 const
945 	delimPad = -2;   { obsolete, misspelled token names kept for backward compatibility }
946 	tokenTilda = 44;
947 	tokenCarat = 55;
948 
949 const
950 { Table selectors for GetItlTable }
951 	smWordSelectTable = 0;    { get word select break table from 'itl2' }
952 	smWordWrapTable = 1;    { get word wrap break table from 'itl2' }
953 	smNumberPartsTable = 2;    { get default number parts table from 'itl4' }
954 	smUnTokenTable = 3;    { get unToken table from 'itl4' }
955 	smWhiteSpaceList = 4;    { get white space list from 'itl4' }
956 	iuWordSelectTable = 0;    { <obsolete>  get word select break table from 'itl2' }
957 	iuWordWrapTable = 1;    { <obsolete>  get word wrap break table from 'itl2' }
958 	iuNumberPartsTable = 2;    { <obsolete>  get default number parts table from 'itl4' }
959 	iuUnTokenTable = 3;    { <obsolete>  get unToken table from 'itl4' }
960 	iuWhiteSpaceList = 4;     { <obsolete>  get white space list from 'itl4' }
961 
962 { end of stuff moved from Packages.h }
963 const
964 	tokenOK = 0;    { TokenResults }
965 	tokenOverflow = 1;    { TokenResults }
966 	stringOverflow = 2;    { TokenResults }
967 	badDelim = 3;    { TokenResults }
968 	badEnding = 4;    { TokenResults }
969 	crash = 5;     { TokenResults }
970 
971 type
972 	TokenResults = SInt8;
973 	CharByteTable = packed array [0..255] of char;
974 { "TokenType" was renamed to "ScriptTokenType" because of a name collisions}
975 type
976 	ScriptTokenType = SInt16;
977 {$ifc TARGET_OS_MAC}
978 	TokenType							= ScriptTokenType;
979 {$endc}  {TARGET_OS_MAC}
980 type
981 	DelimType = array [0..1] of ScriptTokenType;
982 	CommentType = array [0..3] of ScriptTokenType;
983 type
984 	TokenRec = record
985 		theToken: ScriptTokenType;
986 		position: Ptr;               {pointer into original source}
987 		length: SIGNEDLONG;                 {length of text in original source}
988 		stringPosition: StringPtr;         {Pascal/C string copy of identifier}
989 	end;
990 	TokenRecPtr = ^TokenRec;
991 type
992 	TokenBlock = record
993 		source: Ptr;                 {pointer to stream of characters}
994 		sourceLength: SIGNEDLONG;           {length of source stream}
995 		tokenList: Ptr;              {pointer to array of tokens}
996 		tokenLength: SIGNEDLONG;            {maximum length of TokenList}
997 		tokenCount: SIGNEDLONG;             {number tokens generated by tokenizer}
998 		stringList: Ptr;             {pointer to stream of identifiers}
999 		stringLength: SIGNEDLONG;           {length of string list}
1000 		stringCount: SIGNEDLONG;            {number of bytes currently used}
1001 		doString: Boolean;               {make strings & put into StringList}
1002 		doAppend: Boolean;               {append to TokenList rather than replace}
1003 		doAlphanumeric: Boolean;         {identifiers may include numeric}
1004 		doNest: Boolean;                 {do comments nest?}
1005 		leftDelims: array [0..1] of ScriptTokenType;
1006 		rightDelims: array [0..1] of ScriptTokenType;
1007 		leftComment: array [0..3] of ScriptTokenType;
1008 		rightComment: array [0..3] of ScriptTokenType;
1009 		escapeCode: ScriptTokenType;             {escape symbol code}
1010 		decimalCode: ScriptTokenType;
1011 		itlResource: Handle;            {handle to itl4 resource of current script}
1012 		reserved: array [0..7] of SIGNEDLONG;            { must be zero! }
1013 	end;
1014 	TokenBlockPtr = ^TokenBlock;
1015 
1016 { Result values from GetScriptManagerVariable and SetScriptManagerVariable calls. }
1017 const
1018 	smNotInstalled = 0;    {routine not available in script}
1019 	smBadVerb = -1;   {Bad verb passed to a routine}
1020 	smBadScript = -2;    {Bad script code passed to a routine}
1021 
1022 { Bits in the smGenFlags long. }
1023 { First (high-order) byte is set from itlc flags byte. }
1024 const
1025 	smfShowIcon = 31;   {Show icon even if only one script}
1026 	smfDualCaret = 30;   {Use dual caret for mixed direction text}
1027 	smfNameTagEnab = 29;   {Reserved for internal use}
1028 	smfUseAssocFontInfo = 28;   {Use the associated font info for FontMetrics calls}
1029 	smfDisableKeyScriptSync = 27;    {Disable font and keyboard script synchronization}
1030 
1031 { We should define masks, too. }
1032 const
1033 	smfDisableKeyScriptSyncMask = 1 shl smfDisableKeyScriptSync; {Disable font and keyboard script synchronization mask}
1034 
1035 { GetScriptManagerVariable and SetScriptManagerVariable verbs (deprecated) }
1036 const
1037 	smSysScript = 18;   {System script}
1038 	smKeyScript = 22;   {Keyboard script}
1039 	smKCHRCache = 38;   {Returns pointer to KCHR cache}
1040 	smRegionCode = 40;    {Returns current region code (verXxx)}
1041 
1042 {$ifc not TARGET_CPU_64}
1043 const
1044 	smVersion = 0;    {Script Manager version number}
1045 	smMunged = 2;    {Globals change count}
1046 	smEnabled = 4;    {Count of enabled scripts, incl Roman}
1047 	smBidirect = 6;    {At least one bidirectional script}
1048 	smFontForce = 8;    {Force font flag}
1049 	smIntlForce = 10;   {Force intl flag}
1050 	smForced = 12;   {Script was forced to system script}
1051 	smDefault = 14;   {Script was defaulted to Roman script}
1052 	smPrint = 16;   {Printer action routine}
1053 	smLastScript = 20;   {Last keyboard script}
1054 	smSysRef = 24;   {System folder refNum}
1055 	smKeyCache = 26;   {obsolete}
1056 	smKeySwap = 28;   {Swapping table handle}
1057 	smGenFlags = 30;   {General flags long}
1058 	smOverride = 32;   {Script override flags}
1059 	smCharPortion = 34;   {Ch vs SpExtra proportion}
1060 	smDoubleByte = 36;   {Flag for double-byte script installed}
1061 	smKeyDisableState = 42;    {Returns current keyboard disable state}
1062 
1063 {$endc} {not TARGET_CPU_64}
1064 
1065 {
1066  *  GetScriptManagerVariable()   *** DEPRECATED ***
1067  *
1068  *  Deprecated:
1069  *    The replacement for GetScriptManagerVariable depends on the
1070  *    selector used with it. Many of the selectors refer to information
1071  *    that is not meaningful on a Unicode system, or refer to details
1072  *    of the Script Manager itself; in general there is no replacement
1073  *    functionality for these.
1074  *    Selectors that have meaningful replacements are as follows (these
1075  *    are not direct replacements; they provide analogous but more
1076  *    modern functionality):
1077  *    1. smSysScript - To obtain a TextEncoding for the legacy Mac OS
1078  *    encoding associated with the user's preferred UI language or with
1079  *    the application's default text encoding, use
1080  *    CFStringGetSystemEncoding or GetApplicationTextEncoding.
1081  *    Sometimes smSysScript is just used to get a script code to pass
1082  *    to GetScriptVariable; in this case the replacements for
1083  *    GetScriptVariable selectors may provide more information.
1084  *    2. smKeyScript - To obtain the intended language associated with
1085  *    the user's current keyboard input source (plus other languages
1086  *    that can be input using it): Use
1087  *    TISCopyCurrentKeyboardInputSource to get that input source, then
1088  *    pass it to TISGetInputSourceProperty with the
1089  *    kTISPropertyInputSourceLanguages key.
1090  *    3. smKCHRCache - To obtain the key layout data for the keyboard
1091  *    layout currently in use, use
1092  *    TISCopyCurrentKeyboardLayoutInputSource to get that input source,
1093  *    then pass it to TISGetInputSourceProperty with the
1094  *    kTISPropertyUnicodeKeyLayoutData key (this returns 'uchr' Unicode
1095  *    layout data only; it will not return any data for keyboard
1096  *    layouts that only have 'KCHR' data).
1097  *    4. smRegionCode - To obtain the locale associated with the user's
1098  *    preferred formats (for dates, times, numbers, etc.) do:
1099  *     CFStringRef curLocaleStringRef = NULL;  //
1100  *    localeRef = CFLocaleCopyCurrent();  //
1101  *    if (localeRef) (    //
1102  *    curLocaleStringRef = CFLocaleGetIdentifier(localeRef);  //
1103  *     CFRelease(localeRef);   //
1104  *    )   //
1105  *    To obtain the user's preferred UI language, do:
1106  *    CFArrayRef langArray = (CFArrayRef)CFPreferencesCopyAppValue(
1107  *    CFSTR("AppleLanguages"), kCFPreferencesCurrentApplication );  //
1108  *
1109  *    the first entry in langArray indicates the preferred language.
1110  *    For Mac OS X 10.5 there is also a proposed API to return this.
1111  *
1112  *    Selectors that have no meaningful replacement on a Unicode system
1113  *    include smEnabled, smBidirect, smDoubleByte, etc.
1114  *    Selectors that pertain to internal operation of the Script
1115  *    Manager itself and thus have no meaningful replacement include
1116  *    smVersion, smMunged, smPrint, smSysRef, etc.
1117  *
1118  *  Summary:
1119  *    Check the value of Script Manager general environment variables.
1120  *
1121  *  Availability:
1122  *    Mac OS X:         in version 10.0 and later in CoreServices.framework but deprecated in 10.5
1123  *    CarbonLib:        in CarbonLib 1.0 and later
1124  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1125  }
GetScriptManagerVariablenull1126 function GetScriptManagerVariable( selector: SInt16 ): SIGNEDLONG; external name '_GetScriptManagerVariable';
1127 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
1128 
1129 
1130 {
1131  *  SetScriptManagerVariable()   *** DEPRECATED ***
1132  *
1133  *  Deprecated:
1134  *    This is mainly used to set the value of variables that control
1135  *    the internal operation of the Script Manager (selectors
1136  *    smIntlForce, smGenFlags) and therefore there is no modern
1137  *    replacement.
1138  *
1139  *  Summary:
1140  *    Set the value of (some) Script Manager general environment
1141  *    variables.
1142  *
1143  *  Availability:
1144  *    Mac OS X:         in version 10.0 and later in CoreServices.framework but deprecated in 10.5
1145  *    CarbonLib:        in CarbonLib 1.0 and later
1146  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1147  }
SetScriptManagerVariablenull1148 function SetScriptManagerVariable( selector: SInt16; param: SIGNEDLONG ): OSErr; external name '_SetScriptManagerVariable';
1149 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
1150 
1151 
1152 {$ifc not TARGET_CPU_64}
1153 { Values for script redraw flag. }
1154 const
1155 	smRedrawChar = 0;    {Redraw character only}
1156 	smRedrawWord = 1;    {Redraw entire word (2-byte systems)}
1157 	smRedrawLine = -1;    {Redraw entire line (bidirectional systems)}
1158 
1159 {$endc} {not TARGET_CPU_64}
1160 
1161 { Bits in the smScriptFlags word }
1162 {  (bits above 8 are non-static) }
1163 const
1164 	smsfIntellCP = 0;    {Script has intelligent cut & paste}
1165 	smsfSingByte = 1;    {Script has only single bytes}
1166 	smsfNatCase = 2;    {Native chars have upper & lower case}
1167 	smsfContext = 3;    {Script is contextual}
1168 	smsfNoForceFont = 4;    {Script will not force characters}
1169 	smsfB0Digits = 5;    {Script has alternate digits at B0-B9}
1170 	smsfAutoInit = 6;    {Auto initialize the script}
1171 	smsfUnivExt = 7;    {Script is handled by universal extension}
1172 	smsfSynchUnstyledTE = 8;    {Script synchronizes for unstyled TE}
1173 	smsfForms = 13;   {Uses contextual forms for letters}
1174 	smsfLigatures = 14;   {Uses contextual ligatures}
1175 	smsfReverse = 15;    {Reverses native text, right-left}
1176 
1177 { GetScriptVariable and SetScriptVariable verbs (deprecated). }
1178 { Note: Verbs private to script systems are negative, while }
1179 { those general across script systems are non-negative. }
1180 {$ifc not TARGET_CPU_64}
1181 const
1182 	smScriptVersion = 0;    {Script software version}
1183 	smScriptMunged = 2;    {Script entry changed count}
1184 	smScriptEnabled = 4;    {Script enabled flag}
1185 	smScriptRight = 6;    {Right to left flag}
1186 	smScriptJust = 8;    {Justification flag}
1187 	smScriptRedraw = 10;   {Word redraw flag}
1188 	smScriptSysFond = 12;   {Preferred system font}
1189 	smScriptAppFond = 14;   {Preferred Application font}
1190 	smScriptBundle = 16;   {Beginning of itlb verbs}
1191 	smScriptNumber = 16;   {Script itl0 id}
1192 	smScriptDate = 18;   {Script itl1 id}
1193 	smScriptSort = 20;   {Script itl2 id}
1194 	smScriptFlags = 22;   {flags word}
1195 	smScriptToken = 24;   {Script itl4 id}
1196 	smScriptEncoding = 26;   {id of optional itl5, if present}
1197 	smScriptLang = 28;   {Current language for script}
1198 	smScriptNumDate = 30;   {Script Number/Date formats.}
1199 	smScriptKeys = 32;   {Script KCHR id}
1200 	smScriptIcon = 34;   {ID # of SICN or kcs#/kcs4/kcs8 suite}
1201 	smScriptPrint = 36;   {Script printer action routine}
1202 	smScriptTrap = 38;   {Trap entry pointer}
1203 	smScriptCreator = 40;   {Script file creator}
1204 	smScriptFile = 42;   {Script file name}
1205 	smScriptName = 44;   {Script name}
1206                                         { There is a hole here for old Kanji private verbs 46-76 }
1207 	smScriptMonoFondSize = 78;   {default monospace FOND (hi) & size (lo)}
1208 	smScriptPrefFondSize = 80;   {preferred FOND (hi) & size (lo)}
1209 	smScriptSmallFondSize = 82;   {default small FOND (hi) & size (lo)}
1210 	smScriptSysFondSize = 84;   {default system FOND (hi) & size (lo)}
1211 	smScriptAppFondSize = 86;   {default app FOND (hi) & size (lo)}
1212 	smScriptHelpFondSize = 88;   {default Help Mgr FOND (hi) & size (lo)}
1213 	smScriptValidStyles = 90;   {mask of valid styles for script}
1214 	smScriptAliasStyle = 92;    {style (set) to use for aliases}
1215 
1216 {$endc} {not TARGET_CPU_64}
1217 
1218 {$ifc not TARGET_CPU_64}
1219 { WorldScript private verbs }
1220 { special negative verbs for Get/SetScriptVariable that were associated with WorldScriptI }
1221 { move them here to be public }
1222 const
1223 	smLayoutCache = -309; { HiWrd(param) is # entries, LoWrd is max input length}
1224 	smOldVerbSupport = -311; { param is added to old verbs to map to WSI verb}
1225 	smSetKashidas = -291; { param is ON or OFF, old verb = -36}
1226 	smSetKashProp = -287; { param is kashida proportion, old verb = -32}
1227 	smScriptSysBase = -281; { param is associated font to use w/ system font (old verb = -26)}
1228 	smScriptAppBase = -283; { param is associated font to use w/ app font (old verb = -28)}
1229 	smScriptFntBase = -285; { param is associated font to use w/ all other fonts (old verb = -30)}
1230 	smScriptLigatures = -263; { old verb = -8}
1231 	smScriptNumbers = -267;  { old verb = -12}
1232 
1233 {$endc} {not TARGET_CPU_64}
1234 
1235 {$ifc not TARGET_CPU_64}
1236 {
1237  *  GetScriptVariable()   *** DEPRECATED ***
1238  *
1239  *  Deprecated:
1240  *    The replacement for GetScriptVariable depends on the selector
1241  *    used with it. Many of the selectors refer to information that is
1242  *    not meaningful on a Unicode system, or refer to details of the
1243  *    Script Manager itself; in general there is no replacement
1244  *    functionality for these.
1245  *    Selectors that have meaningful replacements are as follows (these
1246  *    are not direct replacements; they provide analogous but more
1247  *    modern functionality):
1248  *    1. smScriptLang - This was typically used with the system script
1249  *    to determine the system language. Instead, to obtain the user's
1250  *    preferred UI language, do:
1251  *    CFArrayRef langArray = (CFArrayRef)CFPreferencesCopyAppValue(
1252  *    CFSTR("AppleLanguages"), kCFPreferencesCurrentApplication );  //
1253  *
1254  *    the first entry in langArray indicates the preferred language.
1255  *    For Mac OS X 10.5 there is also a proposed API to return this.
1256  *
1257  *    2. Font selectors smScriptSysFond / smScriptSysFondSize,
1258  *    smScriptAppFond / smScriptAppFondSize,  smScriptMonoFondSize,
1259  *    smScriptPrefFondSize, smScriptSmallFondSize, smScriptHelpFondSize
1260  *    - On Mac OS X you generally do not need to worry about setting an
1261  *    appropriate font based on character script to ensure that
1262  *    characters are displayed correctly; Unicode encoding and font
1263  *    fallbacks (to automatically find a font that can display a
1264  *    character) take care of this.
1265  *    However for cases where you do need to do this (such as Carbon
1266  *    applications that handle non-Unicode text), the CoreText function
1267  *    CTFontCreateUIFontForLanguage (available in 10.5 and later)
1268  *    provides a way to get a CTFontRef for a specified language and UI
1269  *    usage.
1270  *    3. Script resource ID selectors smScriptNumber, smScriptDate,
1271  *    smScriptSort, smScriptToken - These were used in several ways.
1272  *    Sometimes they were used to get a resource ID so specific fields
1273  *    in the resource could be examined (e.g. to determine the
1274  *    appropriate decimal separator or time format). For this usage
1275  *    CFLocaleGetValue can now be used with an appropriate key (e.g.
1276  *    kCFLocaleDecimalSeparator) to get similar information (Much of
1277  *    the information associated with the resource specified by
1278  *    smScriptToken is not relevant for a Unicode system). Another
1279  *    usage was to get a resource ID (or a Handle) to pass to some
1280  *    other system function. For text sorting, this is replaced by the
1281  *    collation functionality in CFString. For formatting of times,
1282  *    dates, and numbers, this is replaced by functionality in
1283  *    CFLocale, CFDateFormatter, CFNumberFormatter.
1284  *    4. smScriptKeys - To determine an appropriate keyboard input
1285  *    source for a particular language, use
1286  *    TISCopyInputSourceForLanguage.
1287  *    5. smScriptIcon - To obtain an icon for a particular keyboard
1288  *    input source, use TISGetInputSourceProperty with the
1289  *    kTISPropertyIconRef or kTISPropertyIconImageURL key.
1290  *
1291  *  Summary:
1292  *    Check the value of a script system's variables.
1293  *
1294  *  Availability:
1295  *    Mac OS X:         in version 10.0 and later in CoreServices.framework but deprecated in 10.5
1296  *    CarbonLib:        in CarbonLib 1.0 and later
1297  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1298  }
GetScriptVariablenull1299 function GetScriptVariable( script: SInt16; selector: SInt16 ): SIGNEDLONG; external name '_GetScriptVariable';
1300 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
1301 
1302 
1303 {$endc} {not TARGET_CPU_64}
1304 
1305 {$ifc not TARGET_CPU_64}
1306 {
1307  *  SetScriptVariable()   *** DEPRECATED ***
1308  *
1309  *  Deprecated:
1310  *    The primary (perhaps only) recent usage of SetScriptVariable is
1311  *    to set a specific keyboard layout, as follows:
1312  *    err = SetScriptVariable(aScript, smScriptKeys, aKeyLayoutID);
1313  *    //
1314  *    KeyScript(aScript); //
1315  *    The replacement depends on whether the goal is to set the
1316  *    keyboard layout globally or for a specific TSMDocument.
1317  *    To set it globally, use TISSelectInputSource.
1318  *    To set it for a specific document, use the TSMDocument property
1319  *    kTSMDocumentInputSourceOverridePropertyTag.
1320  *
1321  *  Summary:
1322  *    Set the value of (some of) a script system's variables.
1323  *
1324  *  Availability:
1325  *    Mac OS X:         in version 10.0 and later in CoreServices.framework but deprecated in 10.5
1326  *    CarbonLib:        in CarbonLib 1.0 and later
1327  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1328  }
SetScriptVariablenull1329 function SetScriptVariable( script: SInt16; selector: SInt16; param: SIGNEDLONG ): OSErr; external name '_SetScriptVariable';
1330 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
1331 
1332 
1333 {$endc} {not TARGET_CPU_64}
1334 
1335 {$ifc not TARGET_CPU_64}
1336 {
1337  *  GetSysDirection()   *** DEPRECATED ***
1338  *
1339  *  Deprecated:
1340  *    The preferred replacement is +[NSParagraphStyle
1341  *    defaultWritingDirectionForLanguage:]. If you cannot use that, you
1342  *    may instead call CFLocaleGetLanguageCharacterDirection for the UI
1343  *    language in which the application is running. See discussion.
1344  *
1345  *  Discussion:
1346  *    Although GetSysDirection ostensibly provided an overall system
1347  *    direction, it was patched by the Language Manager in Classic Mac
1348  *    OS to provide a direction appropriate for the application that
1349  *    was running. This is similar to the desired behavior in Mac OS X,
1350  *    in which an application is normally interested in the text
1351  *    direction associated with the user-interface language in which it
1352  *    is running (e.g. the first language in the array returned by
1353  *    CFBundleCopyPreferredLocalizationsFromArray when given the
1354  *    application's bundle localizations).
1355  *
1356  *    Calling +[NSParagraphStyle defaultWritingDirectionForLanguage:]
1357  *    is the preferred way to determine this. If that is not possible
1358  *    for your application, then an alternative is to call
1359  *    CFLocaleGetLanguageCharacterDirection for the application's
1360  *    user-interface language (determined as described above).
1361  *
1362  *  Availability:
1363  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1364  *    CarbonLib:        in CarbonLib 1.0 and later
1365  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1366  }
GetSysDirectionnull1367 function GetSysDirection: SInt16; external name '_GetSysDirection';
1368 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1369 
1370 
1371 {
1372  *  SetSysDirection()   *** DEPRECATED ***
1373  *
1374  *  Deprecated:
1375  *    No longer needed on MacOS X.
1376  *
1377  *  Discussion:
1378  *    This function is obsolete.
1379  *
1380  *  Availability:
1381  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1382  *    CarbonLib:        in CarbonLib 1.0 and later
1383  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1384  }
1385 procedure SetSysDirection( value: SInt16 ); external name '_SetSysDirection';
1386 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1387 
1388 
1389 {
1390  *  FontScript()   *** DEPRECATED ***
1391  *
1392  *  Deprecated:
1393  *    Use ATSFontFamilyGetEncoding instead.
1394  *
1395  *  Discussion:
1396  *    This function returns the ScriptCode of the font of the Quickdraw
1397  *    grafPort or - if that font is Roman and the smFontForce flag is
1398  *    true - it returns the system ScriptCode. Both the Quickdraw
1399  *    grafPort and the ScriptCode type are deprecated. Instead, you can
1400  *    obtain the TextEncoding for an ATSFontFamilyRef using the
1401  *    function ATSFontFamilyGetEncoding. To get an ATSFontFamilyRef for
1402  *    a (deprecated) Quickdraw-style FMFontFamily ID, use the
1403  *    deprecated Quickdraw function FMGetATSFontFamilyRefFromFontFamily.
1404  *
1405  *  Availability:
1406  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1407  *    CarbonLib:        in CarbonLib 1.0 and later
1408  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1409  }
FontScriptnull1410 function FontScript: SInt16; external name '_FontScript';
1411 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1412 
1413 
1414 {
1415  *  IntlScript()   *** DEPRECATED ***
1416  *
1417  *  Deprecated:
1418  *    Use ATSFontFamilyGetEncoding instead.
1419  *
1420  *  Discussion:
1421  *    This function returns the ScriptCode of the font of the Quickdraw
1422  *    grafPort or - if the smIntlForce flag is true - it returns the
1423  *    system ScriptCode. Both the Quickdraw grafPort and the ScriptCode
1424  *    type are deprecated. Instead, you can obtain the TextEncoding for
1425  *    an ATSFontFamilyRef using the function ATSFontFamilyGetEncoding.
1426  *    To get an ATSFontFamilyRef for a (deprecated) Quickdraw-style
1427  *    FMFontFamily ID, use the deprecated Quickdraw function
1428  *    FMGetATSFontFamilyRefFromFontFamily.
1429  *
1430  *  Availability:
1431  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1432  *    CarbonLib:        in CarbonLib 1.0 and later
1433  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1434  }
IntlScriptnull1435 function IntlScript: SInt16; external name '_IntlScript';
1436 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1437 
1438 
1439 {
1440  *  FontToScript()   *** DEPRECATED ***
1441  *
1442  *  Deprecated:
1443  *    Use FMGetATSFontFamilyRefFromFontFamily +
1444  *    ATSFontFamilyGetEncoding instead.
1445  *
1446  *  Discussion:
1447  *    This function returns the ScriptCode associated with a Quickdraw
1448  *    FMFontFamily ID. Both the FMFontFamily type and the ScriptCode
1449  *    type are deprecated. Instead, you can obtain the TextEncoding for
1450  *    an ATSFontFamilyRef using the function ATSFontFamilyGetEncoding.
1451  *    To get an ATSFontFamilyRef for a FMFontFamily ID, use the
1452  *    deprecated Quickdraw function FMGetATSFontFamilyRefFromFontFamily.
1453  *
1454  *  Availability:
1455  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1456  *    CarbonLib:        in CarbonLib 1.0 and later
1457  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1458  }
FontToScriptnull1459 function FontToScript( fontNumber: SInt16 ): SInt16; external name '_FontToScript';
1460 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1461 
1462 
1463 {
1464  *  CharacterByteType()   *** DEPRECATED ***
1465  *
1466  *  Deprecated:
1467  *    use the combination of CFString, UCGetCharProperty and
1468  *    CFCharacterSet  instead.
1469  *
1470  *  Discussion:
1471  *    This function is no longer recommended. Please use the
1472  *    combination of CFString, UCGetCharProperty and CFCharacterSet
1473  *    instead.
1474  *
1475  *  Availability:
1476  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1477  *    CarbonLib:        in CarbonLib 1.0 and later
1478  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1479  }
CharacterByteTypenull1480 function CharacterByteType( textBuf: Ptr; textOffset: SInt16; script: ScriptCode ): SInt16; external name '_CharacterByteType';
1481 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1482 
1483 
1484 {
1485  *  CharacterType()   *** DEPRECATED ***
1486  *
1487  *  Deprecated:
1488  *    use the combination of CFString, UCGetCharProperty and
1489  *    CFCharacterSet  instead.
1490  *
1491  *  Discussion:
1492  *    This function is no longer recommended. Please use the
1493  *    combination of CFString, UCGetCharProperty and CFCharacterSet
1494  *    instead.
1495  *
1496  *  Availability:
1497  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1498  *    CarbonLib:        in CarbonLib 1.0 and later
1499  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1500  }
CharacterTypenull1501 function CharacterType( textBuf: Ptr; textOffset: SInt16; script: ScriptCode ): SInt16; external name '_CharacterType';
1502 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1503 
1504 
1505 {
1506  *  TransliterateText()   *** DEPRECATED ***
1507  *
1508  *  Deprecated:
1509  *    use CFStringTransform instead.
1510  *
1511  *  Discussion:
1512  *    This function is no longer recommended. Please use
1513  *    CFStringTransform instead.
1514  *
1515  *  Availability:
1516  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1517  *    CarbonLib:        in CarbonLib 1.0 and later
1518  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1519  }
TransliterateTextnull1520 function TransliterateText( srcHandle: Handle; dstHandle: Handle; target: SInt16; srcMask: SIGNEDLONG; script: ScriptCode ): OSErr; external name '_TransliterateText';
1521 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1522 
1523 
1524 {
1525  *  FillParseTable()   *** DEPRECATED ***
1526  *
1527  *  Deprecated:
1528  *    use the combination of CFString, UCGetCharProperty and
1529  *    CFCharacterSet  instead.
1530  *
1531  *  Discussion:
1532  *    This function is no longer recommended. Please use the
1533  *    combination of CFString, UCGetCharProperty and CFCharacterSet
1534  *    instead.
1535  *
1536  *  Availability:
1537  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1538  *    CarbonLib:        in CarbonLib 1.0 and later
1539  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1540  }
FillParseTablenull1541 function FillParseTable( var table: CharByteTable; script: ScriptCode ): Boolean; external name '_FillParseTable';
1542 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1543 
1544 
1545 {
1546  *  GetIntlResource()   *** DEPRECATED ***
1547  *
1548  *  Deprecated:
1549  *    Depending on the information that GetIntlResource was being
1550  *    called to obtain, it can be replaced by the use of
1551  *    CFLocaleCopyCurrent to get an appropriate CFLocaleRef followed by
1552  *    one of the following:
1553  *
1554  *    - CFLocaleGetValue with keys such as kCFLocaleUsesMetricSystem,
1555  *    kCFLocaleDecimalSeparator, kCFLocaleCurrencySymbol.
1556  *
1557  *    - CFDateFormatterCreate to get an appropriate CFDateFormatterRef,
1558  *    followed by CFDateFormatterCopyProperty with keys such as
1559  *    kCFDateFormatterMonthSymbols, kCFDateFormatterWeekdaySymbols,
1560  *    kCFDateFormatterAMSymbol.
1561  *
1562  *    - CFNumberFormatterCreate to get an appropriate
1563  *    CFNumberFormatterRef, followed by CFNumberFormatterCopyProperty
1564  *    with keys such as kCFNumberFormatterCurrencyDecimalSeparator,
1565  *    kCFNumberFormatterMinusSign, kCFNumberFormatterPercentSymbol,
1566  *    kCFNumberFormatterNegativePrefix.
1567  *
1568  *  Discussion:
1569  *    GetIntlResource was used to get a handle to the specified
1570  *    international resource type (e.g. 'itl0', 'itl1', 'itl2, 'itl4').
1571  *    Typically the resource handle was then used to obtain
1572  *    locale-specific information, or was passed to a function that
1573  *    performed - for example - string comparison. GetIntlResource is
1574  *    no longer recommended; please use the replacements described in
1575  *    the "deprecated" section.
1576  *
1577  *  Availability:
1578  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.5
1579  *    CarbonLib:        in CarbonLib 1.0 and later
1580  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1581  }
GetIntlResourcenull1582 function GetIntlResource( theID: SInt16 ): Handle; external name '_GetIntlResource';
1583 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_5, __IPHONE_NA, __IPHONE_NA) *)
1584 
1585 
1586 {
1587  *  ClearIntlResourceCache()   *** DEPRECATED ***
1588  *
1589  *  Deprecated:
1590  *    No longer needed on MacOS X.
1591  *
1592  *  Discussion:
1593  *    This function is obsolete.
1594  *
1595  *  Availability:
1596  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1597  *    CarbonLib:        in CarbonLib 1.0 and later
1598  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1599  }
1600 procedure ClearIntlResourceCache; external name '_ClearIntlResourceCache';
1601 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1602 
1603 
1604 {
1605  *  GetIntlResourceTable()   *** DEPRECATED ***
1606  *
1607  *  Deprecated:
1608  *    No longer needed on MacOS X.
1609  *
1610  *  Discussion:
1611  *    This function is obsolete.
1612  *
1613  *  Availability:
1614  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1615  *    CarbonLib:        in CarbonLib 1.0 and later
1616  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1617  }
1618 procedure GetIntlResourceTable( script: ScriptCode; tableCode: SInt16; var itlHandle: Handle; var offset: SIGNEDLONG; var length: SIGNEDLONG ); external name '_GetIntlResourceTable';
1619 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1620 
1621 
1622 {$endc} {not TARGET_CPU_64}
1623 
1624 {
1625  *  GetScriptUtilityAddress()
1626  *
1627  *  Availability:
1628  *    Mac OS X:         not available
1629  *    CarbonLib:        not available
1630  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1631  }
1632 
1633 
1634 {
1635  *  SetScriptUtilityAddress()
1636  *
1637  *  Availability:
1638  *    Mac OS X:         not available
1639  *    CarbonLib:        not available
1640  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1641  }
1642 
1643 
1644 {
1645  *  GetScriptQDPatchAddress()
1646  *
1647  *  Availability:
1648  *    Mac OS X:         not available
1649  *    CarbonLib:        not available
1650  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1651  }
1652 
1653 
1654 {
1655  *  SetScriptQDPatchAddress()
1656  *
1657  *  Availability:
1658  *    Mac OS X:         not available
1659  *    CarbonLib:        not available
1660  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1661  }
1662 
1663 
1664 {
1665  *  SetIntlResource()
1666  *
1667  *  Availability:
1668  *    Mac OS X:         not available
1669  *    CarbonLib:        not available
1670  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1671  }
1672 
1673 
1674 {
1675  *  CharByte()
1676  *
1677  *  Availability:
1678  *    Mac OS X:         not available
1679  *    CarbonLib:        not available
1680  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1681  }
1682 
1683 
1684 {
1685  *  CharType()
1686  *
1687  *  Availability:
1688  *    Mac OS X:         not available
1689  *    CarbonLib:        not available
1690  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1691  }
1692 
1693 
1694 {
1695  *  Transliterate()
1696  *
1697  *  Availability:
1698  *    Mac OS X:         not available
1699  *    CarbonLib:        not available
1700  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1701  }
1702 
1703 
1704 {
1705  *  ParseTable()
1706  *
1707  *  Availability:
1708  *    Mac OS X:         not available
1709  *    CarbonLib:        not available
1710  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1711  }
1712 
1713 
1714 {$ifc not TARGET_CPU_64}
1715 {
1716  *  IntlTokenize()   *** DEPRECATED ***
1717  *
1718  *  Deprecated:
1719  *    No longer needed on MacOS X.
1720  *
1721  *  Discussion:
1722  *    This function is obsolete.
1723  *
1724  *  Availability:
1725  *    Mac OS X:         in version 10.0 and later in CoreServices.framework [32-bit only] but deprecated in 10.4
1726  *    CarbonLib:        in CarbonLib 1.0 and later
1727  *    Non-Carbon CFM:   in InterfaceLib 7.1 and later
1728  }
IntlTokenizenull1729 function IntlTokenize( tokenParam: TokenBlockPtr ): TokenResults; external name '_IntlTokenize';
1730 (* __OSX_AVAILABLE_BUT_DEPRECATED(__MAC_10_0, __MAC_10_4, __IPHONE_NA, __IPHONE_NA) *)
1731 
1732 
1733 {$endc} {not TARGET_CPU_64}
1734 
1735 {$endc} {TARGET_OS_MAC}
1736 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
1737 
1738 end.
1739 {$endc} {not MACOSALLINCLUDE}
1740