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