1 {
2      File:       CarbonCore/IntlResources.h
3 
4      Contains:   International Resource definitions.
5 
6      Copyright:  � 1983-2011 by Apple Inc. All rights reserved.
7 
8      Bugs?:      For bug reports, consult the following page on
9                  the World Wide Web:
10 
11                      http://bugs.freepascal.org
12 
13 }
14 {
15     Modified for use with Free Pascal
16     Version 308
17     Please report any bugs to <gpc@microbizz.nl>
18 }
19 
20 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
21 {$mode macpas}
22 {$modeswitch cblocks}
23 {$packenum 1}
24 {$macro on}
25 {$inline on}
26 {$calling mwpascal}
27 
28 unit IntlResources;
29 interface
30 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
31 {$setc GAP_INTERFACES_VERSION := $0308}
32 
33 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
34     {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
35 {$endc}
36 
37 {$ifc defined CPUPOWERPC and defined CPUI386}
38 	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
39 {$endc}
40 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
41 	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
42 {$endc}
43 
44 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
45 	{$setc __ppc__ := 1}
46 {$elsec}
47 	{$setc __ppc__ := 0}
48 {$endc}
49 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
50 	{$setc __ppc64__ := 1}
51 {$elsec}
52 	{$setc __ppc64__ := 0}
53 {$endc}
54 {$ifc not defined __i386__ and defined CPUI386}
55 	{$setc __i386__ := 1}
56 {$elsec}
57 	{$setc __i386__ := 0}
58 {$endc}
59 {$ifc not defined __x86_64__ and defined CPUX86_64}
60 	{$setc __x86_64__ := 1}
61 {$elsec}
62 	{$setc __x86_64__ := 0}
63 {$endc}
64 {$ifc not defined __arm__ and defined CPUARM}
65 	{$setc __arm__ := 1}
66 {$elsec}
67 	{$setc __arm__ := 0}
68 {$endc}
69 {$ifc not defined __arm64__ and defined CPUAARCH64}
70   {$setc __arm64__ := 1}
71 {$elsec}
72   {$setc __arm64__ := 0}
73 {$endc}
74 
75 {$ifc defined cpu64}
76   {$setc __LP64__ := 1}
77 {$elsec}
78   {$setc __LP64__ := 0}
79 {$endc}
80 
81 
82 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
83 	{$error Conflicting definitions for __ppc__ and __i386__}
84 {$endc}
85 
86 {$ifc defined __ppc__ and __ppc__}
87 	{$setc TARGET_CPU_PPC := TRUE}
88 	{$setc TARGET_CPU_PPC64 := FALSE}
89 	{$setc TARGET_CPU_X86 := FALSE}
90 	{$setc TARGET_CPU_X86_64 := FALSE}
91 	{$setc TARGET_CPU_ARM := FALSE}
92 	{$setc TARGET_CPU_ARM64 := FALSE}
93 	{$setc TARGET_OS_MAC := TRUE}
94 	{$setc TARGET_OS_IPHONE := FALSE}
95 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
96 	{$setc TARGET_OS_EMBEDDED := FALSE}
97 {$elifc defined __ppc64__ and __ppc64__}
98 	{$setc TARGET_CPU_PPC := FALSE}
99 	{$setc TARGET_CPU_PPC64 := TRUE}
100 	{$setc TARGET_CPU_X86 := FALSE}
101 	{$setc TARGET_CPU_X86_64 := FALSE}
102 	{$setc TARGET_CPU_ARM := FALSE}
103 	{$setc TARGET_CPU_ARM64 := FALSE}
104 	{$setc TARGET_OS_MAC := TRUE}
105 	{$setc TARGET_OS_IPHONE := FALSE}
106 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
107 	{$setc TARGET_OS_EMBEDDED := FALSE}
108 {$elifc defined __i386__ and __i386__}
109 	{$setc TARGET_CPU_PPC := FALSE}
110 	{$setc TARGET_CPU_PPC64 := FALSE}
111 	{$setc TARGET_CPU_X86 := TRUE}
112 	{$setc TARGET_CPU_X86_64 := FALSE}
113 	{$setc TARGET_CPU_ARM := FALSE}
114 	{$setc TARGET_CPU_ARM64 := FALSE}
115 {$ifc defined iphonesim}
116  	{$setc TARGET_OS_MAC := FALSE}
117 	{$setc TARGET_OS_IPHONE := TRUE}
118 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
119 {$elsec}
120 	{$setc TARGET_OS_MAC := TRUE}
121 	{$setc TARGET_OS_IPHONE := FALSE}
122 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
123 {$endc}
124 	{$setc TARGET_OS_EMBEDDED := FALSE}
125 {$elifc defined __x86_64__ and __x86_64__}
126 	{$setc TARGET_CPU_PPC := FALSE}
127 	{$setc TARGET_CPU_PPC64 := FALSE}
128 	{$setc TARGET_CPU_X86 := FALSE}
129 	{$setc TARGET_CPU_X86_64 := TRUE}
130 	{$setc TARGET_CPU_ARM := FALSE}
131 	{$setc TARGET_CPU_ARM64 := FALSE}
132 {$ifc defined iphonesim}
133  	{$setc TARGET_OS_MAC := FALSE}
134 	{$setc TARGET_OS_IPHONE := TRUE}
135 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
136 {$elsec}
137 	{$setc TARGET_OS_MAC := TRUE}
138 	{$setc TARGET_OS_IPHONE := FALSE}
139 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
140 {$endc}
141 	{$setc TARGET_OS_EMBEDDED := FALSE}
142 {$elifc defined __arm__ and __arm__}
143 	{$setc TARGET_CPU_PPC := FALSE}
144 	{$setc TARGET_CPU_PPC64 := FALSE}
145 	{$setc TARGET_CPU_X86 := FALSE}
146 	{$setc TARGET_CPU_X86_64 := FALSE}
147 	{$setc TARGET_CPU_ARM := TRUE}
148 	{$setc TARGET_CPU_ARM64 := FALSE}
149 	{$setc TARGET_OS_MAC := FALSE}
150 	{$setc TARGET_OS_IPHONE := TRUE}
151 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
152 	{$setc TARGET_OS_EMBEDDED := TRUE}
153 {$elifc defined __arm64__ and __arm64__}
154 	{$setc TARGET_CPU_PPC := FALSE}
155 	{$setc TARGET_CPU_PPC64 := FALSE}
156 	{$setc TARGET_CPU_X86 := FALSE}
157 	{$setc TARGET_CPU_X86_64 := FALSE}
158 	{$setc TARGET_CPU_ARM := FALSE}
159 	{$setc TARGET_CPU_ARM64 := TRUE}
160 {$ifc defined ios}
161 	{$setc TARGET_OS_MAC := FALSE}
162 	{$setc TARGET_OS_IPHONE := TRUE}
163 	{$setc TARGET_OS_EMBEDDED := TRUE}
164 {$elsec}
165 	{$setc TARGET_OS_MAC := TRUE}
166 	{$setc TARGET_OS_IPHONE := FALSE}
167 	{$setc TARGET_OS_EMBEDDED := FALSE}
168 {$endc}
169 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
170 {$elsec}
171 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
172 {$endc}
173 
174 {$ifc defined __LP64__ and __LP64__ }
175   {$setc TARGET_CPU_64 := TRUE}
176 {$elsec}
177   {$setc TARGET_CPU_64 := FALSE}
178 {$endc}
179 
180 {$ifc defined FPC_BIG_ENDIAN}
181 	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
182 	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
183 {$elifc defined FPC_LITTLE_ENDIAN}
184 	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
185 	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
186 {$elsec}
187 	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
188 {$endc}
189 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
190 {$setc CALL_NOT_IN_CARBON := FALSE}
191 {$setc OLDROUTINENAMES := FALSE}
192 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
193 {$setc OPAQUE_UPP_TYPES := TRUE}
194 {$setc OTCARBONAPPLICATION := TRUE}
195 {$setc OTKERNEL := FALSE}
196 {$setc PM_USE_SESSION_APIS := TRUE}
197 {$setc TARGET_API_MAC_CARBON := TRUE}
198 {$setc TARGET_API_MAC_OS8 := FALSE}
199 {$setc TARGET_API_MAC_OSX := TRUE}
200 {$setc TARGET_CARBON := TRUE}
201 {$setc TARGET_CPU_68K := FALSE}
202 {$setc TARGET_CPU_MIPS := FALSE}
203 {$setc TARGET_CPU_SPARC := FALSE}
204 {$setc TARGET_OS_UNIX := FALSE}
205 {$setc TARGET_OS_WIN32 := FALSE}
206 {$setc TARGET_RT_MAC_68881 := FALSE}
207 {$setc TARGET_RT_MAC_CFM := FALSE}
208 {$setc TARGET_RT_MAC_MACHO := TRUE}
209 {$setc TYPED_FUNCTION_POINTERS := TRUE}
210 {$setc TYPE_BOOL := FALSE}
211 {$setc TYPE_EXTENDED := FALSE}
212 {$setc TYPE_LONGLONG := TRUE}
213 uses MacTypes;
214 {$endc} {not MACOSALLINCLUDE}
215 
216 
217 {$ifc TARGET_OS_MAC}
218 
219 {$ALIGN MAC68K}
220 
221 const
222 { Bits in the itlcFlags byte }
223 	itlcShowIcon = 7;    {Show icon even if only one script}
224 	itlcDualCaret = 6;    {Use dual caret for mixed direction text}
225                                         { Bits in the itlcSysFlags word }
226 	itlcSysDirection = 15;    {System direction - left to right/right to left}
227 
228 const
229 { One more flag in the itlcFlags byte }
230 	itlcDisableKeyScriptSync = 3;     {Disable font and keyboard script synchrinozation}
231 
232 const
233 { We should define masks, too. }
234 	itlcDisableKeyScriptSyncMask = 1 shl itlcDisableKeyScriptSync; {Disable font and keyboard script synchrinozation mask}
235 
236 
237 const
238 	tokLeftQuote = 1;    { NumberParts.data[] enumerators                             }
239 	tokRightQuote = 2;    {  In general, these are NOT to be considered indices into the data[] array }
240 	tokLeadPlacer = 3;
241 	tokLeader = 4;
242 	tokNonLeader = 5;
243 	tokZeroLead = 6;
244 	tokPercent = 7;
245 	tokPlusSign = 8;
246 	tokMinusSign = 9;
247 	tokThousands = 10;
248 	tokReserved = 11;   { 11 is reserved field }
249 	tokSeparator = 12;
250 	tokEscape = 13;
251 	tokDecPoint = 14;
252 	tokEPlus = 15;
253 	tokEMinus = 16;
254 	tokMaxSymbols = 31;
255 	curNumberPartsVersion = 1;     {current version of NumberParts record}
256 
257 const
258 	currSymLead = 16;
259 	currNegSym = 32;
260 	currTrailingZ = 64;
261 	currLeadingZ = 128;
262 
263 const
264 	mdy = 0;
265 	dmy = 1;
266 	ymd = 2;
267 	myd = 3;
268 	dym = 4;
269 	ydm = 5;
270 
271 type
272 	DateOrders = SInt8;
273 const
274 	timeCycle24 = 0;    {time sequence 0:00 - 23:59}
275 	timeCycleZero = 1;    {time sequence 0:00-11:59, 0:00 - 11:59}
276 	timeCycle12 = 255;  {time sequence 12:00 - 11:59, 12:00 - 11:59}
277 	zeroCycle = 1;    {old name for timeCycleZero}
278 	longDay = 0;    {day of the month}
279 	longWeek = 1;    {day of the week}
280 	longMonth = 2;    {month of the year}
281 	longYear = 3;    {year}
282 	supDay = 1;    {suppress day of month}
283 	supWeek = 2;    {suppress day of week}
284 	supMonth = 4;    {suppress month}
285 	supYear = 8;    {suppress year}
286 	dayLdingZ = 32;
287 	mntLdingZ = 64;
288 	century = 128;
289 	secLeadingZ = 32;
290 	minLeadingZ = 64;
291 	hrLeadingZ = 128;
292 
293 { moved OffsetTable back here from QuickdrawText }
294 type
295 	OffPairPtr = ^OffPair;
296 	OffPair = record
297 		offFirst: SInt16;
298 		offSecond: SInt16;
299 	end;
300 type
301 	OffsetTable = array [0..2] of OffPair;
302 type
303 	Intl0RecPtr = ^Intl0Rec;
304 	Intl0Rec =  record
305 		decimalPt: char;              {decimal point character}
306 		thousSep: char;               {thousands separator character}
307 		listSep: char;                {list separator character}
308 		currSym1: char;               {currency symbol}
309 		currSym2: char;
310 		currSym3: char;
311 		currFmt: UInt8;                {currency format flags}
312 		dateOrder: UInt8;              {order of short date elements: mdy, dmy, etc.}
313 		shrtDateFmt: UInt8;            {format flags for each short date element}
314 		dateSep: char;                {date separator character}
315 		timeCycle: UInt8;              {specifies time cycle: 0..23, 1..12, or 0..11}
316 		timeFmt: UInt8;                {format flags for each time element}
317 		mornStr: array [1..4] of char;             {trailing string for AM if 12-hour cycle}
318 		eveStr: array [1..4] of char;              {trailing string for PM if 12-hour cycle}
319 		timeSep: char;                {time separator character}
320 		time1Suff: char;              {trailing string for AM if 24-hour cycle}
321 		time2Suff: char;
322 		time3Suff: char;
323 		time4Suff: char;
324 		time5Suff: char;              {trailing string for PM if 24-hour cycle}
325 		time6Suff: char;
326 		time7Suff: char;
327 		time8Suff: char;
328 		metricSys: UInt8;              {255 if metric, 0 if inches etc.}
329 		intl0Vers: SInt16;              {region code (hi byte) and version (lo byte)}
330 	end;
331 type
332 	Intl0Ptr = ^Intl0Rec;
333 	Intl0Hndl = ^Intl0Ptr;
334 	Intl1RecPtr = ^Intl1Rec;
335 	Intl1Rec =  record
336 		days: array [1..7] of Str15;                {day names}
337 		months: array [1..12] of Str15;             {month names}
338 		suppressDay: UInt8;            {255 for no day, or flags to suppress any element}
339 		lngDateFmt: UInt8;             {order of long date elements}
340 		dayLeading0: UInt8;            {255 for leading 0 in day number}
341 		abbrLen: UInt8;                {length for abbreviating names}
342 		st0: array [1..4] of char;                 { separator strings for long date format }
343 		st1: array [1..4] of char;
344 		st2: array [1..4] of char;
345 		st3: array [1..4] of char;
346 		st4: array [1..4] of char;
347 		intl1Vers: SInt16;              { region code (hi byte) and version (lo byte) }
348 		localRtn: array [0..0] of SInt16;            { now a flag for opt extension }
349 	end;
350 type
351 	Intl1Ptr = ^Intl1Rec;
352 	Intl1Hndl = ^Intl1Ptr;
353 {fields for optional itl1 extension}
354 type
355 	Itl1ExtRecPtr = ^Itl1ExtRec;
356 	Itl1ExtRec = record
357 		base: Intl1Rec;                   {un-extended Intl1Rec}
358 		version: SInt16;
359 		format: SInt16;
360 		calendarCode: SInt16;           {calendar code for this itl1 resource}
361 		extraDaysTableOffset: SInt32;   {offset in itl1 to extra days table}
362 		extraDaysTableLength: SInt32;   {length of extra days table}
363 		extraMonthsTableOffset: SInt32; {offset in itl1 to extra months table}
364 		extraMonthsTableLength: SInt32; {length of extra months table}
365 		abbrevDaysTableOffset: SInt32;  {offset in itl1 to abbrev days table}
366 		abbrevDaysTableLength: SInt32;  {length of abbrev days table}
367 		abbrevMonthsTableOffset: SInt32; {offset in itl1 to abbrev months table}
368 		abbrevMonthsTableLength: SInt32; {length of abbrev months table}
369 		extraSepsTableOffset: SInt32;   {offset in itl1 to extra seps table}
370 		extraSepsTableLength: SInt32;   {length of extra seps table}
371 		tables: array [0..0] of SInt16;              {now a flag for opt extension}
372 	end;
373 type
374 	UntokenTable = record
375 		len: SInt16;
376 		lastToken: SInt16;
377 		index: array [0..255] of SInt16;             {index table; last = lastToken}
378 	end;
379 	UntokenTablePtr = ^UntokenTable;
380 type
381 	UntokenTableHandle = ^UntokenTablePtr;
382 	WideCharPtr = ^WideChar;
383 	WideChar = packed record
384 		case SInt16 of
385 		0: (
386 			a: packed array [0..1] of char;			{ 0 is the high order character [for PPC] }
387 			);
388 		2: (
389 {$ifc TARGET_RT_BIG_ENDIAN}
390 			hi: char;
391 			lo: char;
392 {$elsec}
393 			lo: char;
394 			hi: char;
395 {$endc}
396 			);
397 		1: (
398 			b: SInt16;
399 			);
400 	end;
401 type
402 	WideCharArrPtr = ^WideCharArr;
403 	WideCharArr = record
404 		size: SInt16;
405 		data: array [0..9] of WideChar;
406 	end;
407 type
408 	NumberParts = record
409 		version: SInt16;
410 		data: array [0..30] of WideChar;               { index by [tokLeftQuote..tokMaxSymbols] }
411 		pePlus: WideCharArr;
412 		peMinus: WideCharArr;
413 		peMinusPlus: WideCharArr;
414 		altNumTable: WideCharArr;
415 		reserved: packed array [0..19] of char;
416 	end;
417 	NumberPartsPtr = ^NumberParts;
418 
419 
420 type
421 	Itl4RecPtr = ^Itl4Rec;
422 	Itl4Rec = record
423 		flags: SInt16;                  {reserved}
424 		resourceType: SInt32;           {contains 'itl4'}
425 		resourceNum: SInt16;            {resource ID}
426 		version: SInt16;                {version number}
427 		resHeader1: SInt32;             {reserved}
428 		resHeader2: SInt32;             {reserved}
429 		numTables: SInt16;              {number of tables, one-based}
430 		mapOffset: SInt32;              {offset to table that maps byte to token}
431 		strOffset: SInt32;              {offset to routine that copies canonical string}
432 		fetchOffset: SInt32;            {offset to routine that gets next byte of character}
433 		unTokenOffset: SInt32;          {offset to table that maps token to canonical string}
434 		defPartsOffset: SInt32;         {offset to default number parts table}
435 		resOffset6: SInt32;             {reserved}
436 		resOffset7: SInt32;             {reserved}
437 		resOffset8: SInt32;             {reserved}
438 	end;
439 type
440 	Itl4Ptr = Itl4RecPtr;
441 	Itl4Handle = ^Itl4Ptr;
442 { New NItl4Rec for System 7.0: }
443 type
444 	NItl4RecPtr = ^NItl4Rec;
445 	NItl4Rec = record
446 		flags: SInt16;                  {reserved}
447 		resourceType: SInt32;           {contains 'itl4'}
448 		resourceNum: SInt16;            {resource ID}
449 		version: SInt16;                {version number}
450 		format: SInt16;                 {format code}
451 		resHeader: SInt16;              {reserved}
452 		resHeader2: SInt32;             {reserved}
453 		numTables: SInt16;              {number of tables, one-based}
454 		mapOffset: SInt32;              {offset to table that maps byte to token}
455 		strOffset: SInt32;              {offset to routine that copies canonical string}
456 		fetchOffset: SInt32;            {offset to routine that gets next byte of character}
457 		unTokenOffset: SInt32;          {offset to table that maps token to canonical string}
458 		defPartsOffset: SInt32;         {offset to default number parts table}
459 		whtSpListOffset: SInt32;        {offset to white space code list}
460 		resOffset7: SInt32;             {reserved}
461 		resOffset8: SInt32;             {reserved}
462 		resLength1: SInt16;             {reserved}
463 		resLength2: SInt16;             {reserved}
464 		resLength3: SInt16;             {reserved}
465 		unTokenLength: SInt16;          {length of untoken table}
466 		defPartsLength: SInt16;         {length of default number parts table}
467 		whtSpListLength: SInt16;        {length of white space code list}
468 		resLength7: SInt16;             {reserved}
469 		resLength8: SInt16;             {reserved}
470 	end;
471 type
472 	NItl4Ptr = NItl4RecPtr;
473 	NItl4Handle = ^NItl4Ptr;
474 
475 type
476 	TableDirectoryRecordPtr = ^TableDirectoryRecord;
477 	TableDirectoryRecord = record
478 		tableSignature: OSType;         {4 byte long table name }
479 		reserved: UInt32;               {Reserved for internal use }
480 		tableStartOffset: UInt32;       {Table start offset in byte}
481 		tableSize: UInt32;              {Table size in byte}
482 	end;
483 type
484 	Itl5RecordPtr = ^Itl5Record;
485 	Itl5Record = record
486 		versionNumber: Fixed;          {itl5 resource version number }
487 		numberOfTables: UInt16;         {Number of tables it contains }
488 		reserved: array [0..2] of UInt16;            {Reserved for internal use }
489 		tableDirectory: array [0..0] of TableDirectoryRecord;    {Table directory records }
490 	end;
491 type
492 	RuleBasedTrslRecordPtr = ^RuleBasedTrslRecord;
493 	RuleBasedTrslRecord = record
494 		sourceType: SInt16;             {Transliterate target type for the LHS of the rule }
495 		targetType: SInt16;             {Transliterate target type for the RHS of the rule }
496 		formatNumber: SInt16;           {Transliterate resource format number }
497 		propertyFlag: SInt16;           {Transliterate property flags }
498 		numberOfRules: SInt16;          {Number of rules following this field }
499 	end;
500 
501 type
502 	ItlcRecordPtr = ^ItlcRecord;
503 	ItlcRecord = record
504 		itlcSystem: SInt16;             {default system script}
505 		itlcReserved: SInt16;           {reserved}
506 		itlcFontForce: SInt8;          {default font force flag}
507 		itlcIntlForce: SInt8;          {default intl force flag}
508 		itlcOldKybd: SInt8;            {MacPlus intl keybd flag}
509 		itlcFlags: SInt8;              {general flags}
510 		itlcIconOffset: SInt16;         {keyboard icon offset; not used in 7.0}
511 		itlcIconSide: SInt8;           {keyboard icon side; not used in 7.0}
512 		itlcIconRsvd: SInt8;           {rsvd for other icon info}
513 		itlcRegionCode: SInt16;         {preferred verXxx code}
514 		itlcSysFlags: SInt16;           {flags for setting system globals}
515 		itlcReserved4: array [0..31] of SInt8;      { for future use }
516 	end;
517 type
518 	ItlbRecordPtr = ^ItlbRecord;
519 	ItlbRecord = record
520 		itlbNumber: SInt16;             {itl0 id number}
521 		itlbDate: SInt16;               {itl1 id number}
522 		itlbSort: SInt16;               {itl2 id number}
523 		itlbFlags: SInt16;              {Script flags}
524 		itlbToken: SInt16;              {itl4 id number}
525 		itlbEncoding: SInt16;           {itl5 ID # (optional; char encoding)}
526 		itlbLang: SInt16;               {current language for script }
527 		itlbNumRep: SInt8;             {number representation code}
528 		itlbDateRep: SInt8;            {date representation code }
529 		itlbKeys: SInt16;               {KCHR id number}
530 		itlbIcon: SInt16;               {ID # of SICN or kcs#/kcs4/kcs8 suite.}
531 	end;
532 { New ItlbExtRecord structure for System 7.0 }
533 type
534 	ItlbExtRecordPtr = ^ItlbExtRecord;
535 	ItlbExtRecord = record
536 		base: ItlbRecord;                   {un-extended ItlbRecord}
537 		itlbLocalSize: SInt32;          {size of script's local record}
538 		itlbMonoFond: SInt16;           {default monospace FOND ID}
539 		itlbMonoSize: SInt16;           {default monospace font size}
540 		itlbPrefFond: SInt16;           {preferred FOND ID}
541 		itlbPrefSize: SInt16;           {preferred font size}
542 		itlbSmallFond: SInt16;          {default small FOND ID}
543 		itlbSmallSize: SInt16;          {default small font size}
544 		itlbSysFond: SInt16;            {default system FOND ID}
545 		itlbSysSize: SInt16;            {default system font size}
546 		itlbAppFond: SInt16;            {default application FOND ID}
547 		itlbAppSize: SInt16;            {default application font size}
548 		itlbHelpFond: SInt16;           {default Help Mgr FOND ID}
549 		itlbHelpSize: SInt16;           {default Help Mgr font size}
550 		itlbValidStyles: Style;        {set of valid styles for script}
551 		itlbAliasStyle: Style;         {style (set) to mark aliases}
552 	end;
553 
554 
555 {$endc} {TARGET_OS_MAC}
556 
557 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
558 
559 end.
560 {$endc} {not MACOSALLINCLUDE}
561