Package Name: intlresources
with Interfaces.C; use Interfaces.C;
with Types; use Types;
package IntlResources is
--
-- File: IntlResources.h
--
-- Contains: International Resource definitions.
--
-- Version: Technology: System 7.5
-- Package: Universal Interfaces 2.1 in ÒMPW LatestÓ on ETO #18
--
-- Copyright: © 1984-1995 by Apple Computer, Inc.
-- All rights reserved.
--
subtype DateOrders is SInt8;
type char_Vec_4 is array (0 .. 3) of char;
type Intl0Rec is
record
decimalPt : char; -- decimal point character
thousSep : char; -- thousands separator character
listSep : char; -- list separator character
currSym1 : char; -- currency symbol
currSym2 : char;
currSym3 : char;
currFmt : UInt8; -- currency format flags
dateOrder : UInt8; -- order of short date elements: mdy, dmy, etc.
shrtDateFmt : UInt8; -- format flags for each short date element
dateSep : char; -- date separator character
timeCycle : UInt8; -- specifies time cycle: 0..23, 1..12, or 0..11
timeFmt : UInt8; -- format flags for each time element
mornStr : char_Vec_4; -- trailing string for AM if 12-hour cycle
eveStr : char_Vec_4; -- trailing string for PM if 12-hour cycle
timeSep : char; -- time separator character
time1Suff : char; -- trailing string for AM if 24-hour cycle
time2Suff : char;
time3Suff : char;
time4Suff : char;
time5Suff : char; -- trailing string for PM if 24-hour cycle
time6Suff : char;
time7Suff : char;
time8Suff : char;
metricSys : UInt8; -- 255 if metric, 0 if inches etc.
intl0Vers : Short_Integer; -- region code (hi byte) and version (lo byte)
end record;
type Intl0Ptr is Access Intl0Rec;
type Intl0Hndl is Access Intl0Ptr;
type Short_Integer_Vec_1 is array (0 .. 0) of Short_Integer;
type Intl1Rec is
record
days : Str15_Vec_7; -- day names
months : Str15_Vec_12; -- month names
suppressDay : UInt8; -- 255 for no day, or flags to suppress any element
lngDateFmt : UInt8; -- order of long date elements
dayLeading0 : UInt8; -- 255 for leading 0 in day number
abbrLen : UInt8; -- length for abbreviating names
st0 : char_Vec_4; -- separator strings for long date format
st1 : char_Vec_4;
st2 : char_Vec_4;
st3 : char_Vec_4;
st4 : char_Vec_4;
intl1Vers : Short_Integer; -- region code (hi byte) and version (lo byte)
localRtn : Short_Integer_Vec_1; -- now a flag for opt extension
end record;
type Intl1Ptr is Access Intl1Rec;
type Intl1Hndl is Access Intl1Ptr;
-- fields for optional itl1 extension
type Itl1ExtRec is
record
base : Intl1Rec; -- un-extended Intl1Res
version : Short_Integer;
format : Short_Integer;
calendarCode : Short_Integer; -- calendar code for this itl1 resource
extraDaysTableOffset : Long_Integer; -- offset in itl1 to extra days table
extraDaysTableLength : Long_Integer; -- length of extra days table
extraMonthsTableOffset : Long_Integer; -- offset in itl1 to extra months table
extraMonthsTableLength : Long_Integer; -- length of extra months table
abbrevDaysTableOffset : Long_Integer; -- offset in itl1 to abbrev days table
abbrevDaysTableLength : Long_Integer; -- length of abbrev days table
abbrevMonthsTableOffset : Long_Integer; -- offset in itl1 to abbrev months table
abbrevMonthsTableLength : Long_Integer; -- length of abbrev months table
extraSepsTableOffset : Long_Integer; -- offset in itl1 to extra seps table
extraSepsTableLength : Long_Integer; -- length of extra seps table
tables : Short_Integer_Vec_1; -- now a flag for opt extension
end record;
type Short_Integer_Vec_256 is array (0 .. 255) of Short_Integer;
type UntokenTable is
record
len : Short_Integer;
lastToken : Short_Integer;
index : Short_Integer_Vec_256; -- index table; last = lastToken
end record;
type UntokenTablePtr is Access UntokenTable;
type UntokenTableHandle is Access UntokenTablePtr;
type WideChar is array (0 .. 1) of char;
type WideChar_Vec_31 is array (0 .. 30) of WideChar;
type WideChar_Vec_10 is array (0 .. 9) of WideChar;
type char_Vec_2 is array (0 .. 1) of char;
subtype WideChar_a is char_Vec_2; -- 0 is the high order character
subtype WideChar_b is Short_Integer;
type WideCharArr is
record
size : Short_Integer;
data : WideChar_Vec_10;
end record;
type char_Vec_20 is array (0 .. 19) of char;
type NumberParts is
record
version : Short_Integer;
data : WideChar_Vec_31; -- index by [tokLeftQuote..tokMaxSymbols]
pePlus : WideCharArr;
peMinus : WideCharArr;
peMinusPlus : WideCharArr;
altNumTable : WideCharArr;
reserved : char_Vec_20;
end record;
type NumberPartsPtr is Access NumberParts;
type Itl4Rec is
record
flags : Short_Integer; -- reserved
resourceType : Long_Integer; -- contains 'itl4'
resourceNum : Short_Integer; -- resource ID
version : Short_Integer; -- version number
resHeader1 : Long_Integer; -- reserved
resHeader2 : Long_Integer; -- reserved
numTables : Short_Integer; -- number of tables, one-based
mapOffset : Long_Integer; -- offset to table that maps byte to token
strOffset : Long_Integer; -- offset to routine that copies canonical string
fetchOffset : Long_Integer; -- offset to routine that gets next byte of character
unTokenOffset : Long_Integer; -- offset to table that maps token to canonical string
defPartsOffset : Long_Integer; -- offset to default number parts table
resOffset6 : Long_Integer; -- reserved
resOffset7 : Long_Integer; -- reserved
resOffset8 : Long_Integer; -- reserved
end record;
type Itl4Ptr is Access Itl4Rec;
type Itl4Handle is Access Itl4Ptr;
-- New NItl4Rec for System 7.0:
type NItl4Rec is
record
flags : Short_Integer; -- reserved
resourceType : Long_Integer; -- contains 'itl4'
resourceNum : Short_Integer; -- resource ID
version : Short_Integer; -- version number
format : Short_Integer; -- format code
resHeader : Short_Integer; -- reserved
resHeader2 : Long_Integer; -- reserved
numTables : Short_Integer; -- number of tables, one-based
mapOffset : Long_Integer; -- offset to table that maps byte to token
strOffset : Long_Integer; -- offset to routine that copies canonical string
fetchOffset : Long_Integer; -- offset to routine that gets next byte of character
unTokenOffset : Long_Integer; -- offset to table that maps token to canonical string
defPartsOffset : Long_Integer; -- offset to default number parts table
whtSpListOffset : Long_Integer; -- offset to white space code list
resOffset7 : Long_Integer; -- reserved
resOffset8 : Long_Integer; -- reserved
resLength1 : Short_Integer; -- reserved
resLength2 : Short_Integer; -- reserved
resLength3 : Short_Integer; -- reserved
unTokenLength : Short_Integer; -- length of untoken table
defPartsLength : Short_Integer; -- length of default number parts table
whtSpListLength : Short_Integer; -- length of white space code list
resLength7 : Short_Integer; -- reserved
resLength8 : Short_Integer; -- reserved
end record;
type NItl4Ptr is Access NItl4Rec;
type NItl4Handle is Access NItl4Ptr;
type TableDirectoryRecord is
record
tableSignature : OSType; -- 4 byte long table name
reserved : unsigned_long; -- Reserved for internal use
tableStartOffset : unsigned_long; -- Table start offset in byte
tableSize : unsigned_long; -- Table size in byte
end record;
type TableDirectoryRecord_Vec_1 is array (0 .. 0) of TableDirectoryRecord;
type unsigned_short_Vec_3 is array (0 .. 2) of unsigned_short;
type Itl5Record is
record
versionNumber : Fixed; -- itl5 resource version number
numberOfTables : unsigned_short; -- Number of tables it contains
reserved : unsigned_short_Vec_3; -- Reserved for internal use
tableDirectory : TableDirectoryRecord_Vec_1; -- Table directory records
end record;
type RuleBasedTrslRecord is
record
sourceType : Short_Integer; -- Transliterate target type for the LHS of the rule
targetType : Short_Integer; -- Transliterate target type for the RHS of the rule
formatNumber : Short_Integer; -- Transliterate resource format number
propertyFlag : Short_Integer; -- Transliterate property flags
numberOfRules : Short_Integer; -- Number of rules following this field
end record;
type ItlcRecord is
record
itlcSystem : Short_Integer; -- default system script
itlcReserved : Short_Integer; -- reserved
itlcFontForce : SInt8; -- default font force flag
itlcIntlForce : SInt8; -- default intl force flag
itlcOldKybd : SInt8; -- MacPlus intl keybd flag
itlcFlags : SInt8; -- general flag
itlcIconOffset : Short_Integer; -- keyboard icon offset; not used in 7.0
itlcIconSide : SInt8; -- keyboard icon side; not used in 7.0
itlcIconRsvd : SInt8; -- rsvd for other icon info
itlcRegionCode : Short_Integer; -- preferred verXxx code
itlcSysFlags : Short_Integer; -- flags for setting system globals
itlcReserved4 : SInt8_Vec_32; -- for future use
end record;
type ItlbRecord is
record
itlbNumber : Short_Integer; -- itl0 id number
itlbDate : Short_Integer; -- itl1 id number
itlbSort : Short_Integer; -- itl2 id number
itlbFlags : Short_Integer; -- Script flags
itlbToken : Short_Integer; -- itl4 id number
itlbEncoding : Short_Integer; -- itl5 ID # (optional; char encoding)
itlbLang : Short_Integer; -- current language for scripts
itlbNumRep : SInt8; -- number representation code
itlbDateRep : SInt8; -- date representation code
itlbKeys : Short_Integer; -- KCHR id number
itlbIcon : Short_Integer; -- ID # of SICN or kcs#/kcs4/kcs8 suite
end record;
-- New ItlbExtRecord structure for System 7.0
type ItlbExtRecord is
record
base : ItlbRecord; -- un-extended ItlbRecor
itlbLocalSize : Long_Integer; -- size of script's local recor
itlbMonoFond : Short_Integer; -- default monospace FOND I
itlbMonoSize : Short_Integer; -- default monospace font siz
itlbPrefFond : Short_Integer; -- preferred FOND I
itlbPrefSize : Short_Integer; -- preferred font siz
itlbSmallFond : Short_Integer; -- default small FOND I
itlbSmallSize : Short_Integer; -- default small font siz
itlbSysFond : Short_Integer; -- default system FOND I
itlbSysSize : Short_Integer; -- default system font siz
itlbAppFond : Short_Integer; -- default application FOND I
itlbAppSize : Short_Integer; -- default application font siz
itlbHelpFond : Short_Integer; -- default Help Mgr FOND I
itlbHelpSize : Short_Integer; -- default Help Mgr font siz
itlbValidStyles : Style; -- set of valid styles for scrip
itlbAliasStyle : Style; -- style (set) to mark aliase
end record;
end IntlResources;