Package Name: intlresources

Return to: Package List


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;