mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
359 lines
11 KiB
C
359 lines
11 KiB
C
/*
|
|
File: IntlResources.h
|
|
|
|
Contains: C Interface to the Macintosh Libraries
|
|
|
|
Written by: Don Louv
|
|
|
|
Copyright: © 1983-1992 by Apple Computer, Inc., all rights reserved.
|
|
|
|
Change History (most recent first):
|
|
|
|
<5> 10/16/92 PKE For New IM: Add timeCycle constants and Itl1ExtRec.
|
|
<4> 8/28/92 DCL Fixed enums with commas before the closing brace. MPW now
|
|
complains.
|
|
<3> 7/28/92 DCL Remove ifdef __cplusplus because there ain't nothin' but
|
|
resources here. (oh, yeah, and it was wrong anyway)
|
|
<2> 5/29/92 DCL Moved int0, itl3 & itl4 resource constants from TextUtils and
|
|
Script.
|
|
<1> 5/5/92 DCL first checked in
|
|
|
|
*/
|
|
|
|
#ifndef __INTLRESOURCES__
|
|
#define __INTLRESOURCES__
|
|
|
|
#ifndef __TYPES__
|
|
#include <Types.h>
|
|
#endif
|
|
|
|
enum {
|
|
|
|
/* Bits in the itlcFlags byte.
|
|
*/
|
|
itlcShowIcon = 7, /*Show icon even if only one script*/
|
|
itlcDualCaret = 6, /*Use dual caret for mixed direction text*/
|
|
|
|
/* Bits in the itlcSysFlags word.
|
|
*/
|
|
itlcSysDirection = 15, /*System direction - left to right/right to left*/
|
|
|
|
/* the NumberParts indices */
|
|
tokLeftQuote = 1,
|
|
tokRightQuote = 2,
|
|
tokLeadPlacer = 3,
|
|
tokLeader = 4,
|
|
tokNonLeader = 5,
|
|
tokZeroLead = 6,
|
|
tokPercent = 7,
|
|
tokPlusSign = 8,
|
|
tokMinusSign = 9,
|
|
tokThousands = 10,
|
|
tokSeparator = 12, /*11 is a reserved field*/
|
|
tokEscape = 13,
|
|
tokDecPoint = 14,
|
|
tokEPlus = 15,
|
|
tokEMinus = 16,
|
|
tokMaxSymbols = 31,
|
|
|
|
curNumberPartsVersion = 1 /*current version of NumberParts record*/
|
|
};
|
|
|
|
/* These were moved from Packages.h */
|
|
enum {
|
|
currSymLead = 16,
|
|
currNegSym = 32,
|
|
currTrailingZ = 64,
|
|
currLeadingZ = 128
|
|
};
|
|
|
|
enum {mdy,dmy,ymd,myd,dym,ydm};
|
|
typedef unsigned char DateOrders;
|
|
|
|
enum {
|
|
timeCycle24 = 0, /*time sequence 0:00 - 23:59*/ /*<5>*/
|
|
timeCycleZero = 1, /*time sequence 0:00-11:59, 0:00 - 11:59*/ /*<5>*/
|
|
timeCycle12 = 255, /*time sequence 12:00 - 11:59, 12:00 - 11:59*/ /*<5>*/
|
|
zeroCycle = 1, /*old name for timeCycleZero*/
|
|
longDay = 0, /*day of the month*/
|
|
longWeek = 1, /*day of the week*/
|
|
longMonth = 2, /*month of the year*/
|
|
longYear = 3, /*year*/
|
|
supDay = 1, /*suppress day of month*/
|
|
supWeek = 2, /*suppress day of week*/
|
|
supMonth = 4, /*suppress month*/
|
|
supYear = 8, /*suppress year*/
|
|
dayLdingZ = 32,
|
|
mntLdingZ = 64,
|
|
century = 128,
|
|
secLeadingZ = 32,
|
|
minLeadingZ = 64,
|
|
hrLeadingZ = 128
|
|
};
|
|
|
|
|
|
struct OffPair {
|
|
short offFirst;
|
|
short offSecond;
|
|
};
|
|
|
|
typedef struct OffPair OffPair;
|
|
|
|
|
|
typedef OffPair OffsetTable[3];
|
|
|
|
|
|
struct Intl0Rec {
|
|
char decimalPt; /*decimal point character*/
|
|
char thousSep; /*thousands separator character*/
|
|
char listSep; /*list separator character*/
|
|
char currSym1; /*currency symbol*/
|
|
char currSym2;
|
|
char currSym3;
|
|
unsigned char currFmt; /*currency format flags*/
|
|
unsigned char dateOrder; /*order of short date elements: mdy, dmy, etc.*/
|
|
unsigned char shrtDateFmt; /*format flags for each short date element*/
|
|
char dateSep; /*date separator character*/
|
|
unsigned char timeCycle; /*specifies time cycle: 0..23, 1..12, or 0..11*/
|
|
unsigned char timeFmt; /*format flags for each time element*/
|
|
char mornStr[4]; /*trailing string for AM if 12-hour cycle*/
|
|
char eveStr[4]; /*trailing string for PM if 12-hour cycle*/
|
|
char timeSep; /*time separator character*/
|
|
char time1Suff; /*trailing string for AM if 24-hour cycle*/
|
|
char time2Suff;
|
|
char time3Suff;
|
|
char time4Suff;
|
|
char time5Suff; /*trailing string for PM if 24-hour cycle*/
|
|
char time6Suff;
|
|
char time7Suff;
|
|
char time8Suff;
|
|
unsigned char metricSys; /*255 if metric, 0 if inches etc.*/
|
|
short intl0Vers; /*region code (hi byte) and version (lo byte)*/
|
|
};
|
|
|
|
typedef struct Intl0Rec Intl0Rec;
|
|
typedef Intl0Rec *Intl0Ptr, **Intl0Hndl;
|
|
|
|
struct Intl1Rec {
|
|
Str15 days[7]; /*day names*/
|
|
Str15 months[12]; /*month names*/
|
|
unsigned char suppressDay; /*255 for no day, or flags to suppress any element*/
|
|
unsigned char lngDateFmt; /*order of long date elements*/
|
|
unsigned char dayLeading0; /*255 for leading 0 in day number*/
|
|
unsigned char abbrLen; /*length for abbreviating names*/
|
|
char st0[4]; /*separator strings for long date format*/
|
|
char st1[4];
|
|
char st2[4];
|
|
char st3[4];
|
|
char st4[4];
|
|
short intl1Vers; /*region code (hi byte) and version (lo byte)*/
|
|
short localRtn[1]; /*now a flag for opt extension*/
|
|
};
|
|
|
|
typedef struct Intl1Rec Intl1Rec;
|
|
typedef Intl1Rec *Intl1Ptr, **Intl1Hndl;
|
|
|
|
|
|
struct Itl1ExtRec { /*fields for optional itl1 extension*/ /*<5>*/
|
|
Intl1Rec base; /*un-extended Intl1Rec*/
|
|
short version;
|
|
short format;
|
|
short calendarCode; /*calendar code for this itl1 resource*/
|
|
long extraDaysTableOffset; /*offset in itl1 to extra days table*/
|
|
long extraDaysTableLength; /*length of extra days table*/
|
|
long extraMonthsTableOffset; /*offset in itl1 to extra months table*/
|
|
long extraMonthsTableLength; /*length of extra months table*/
|
|
long abbrevDaysTableOffset; /*offset in itl1 to abbrev days table*/
|
|
long abbrevDaysTableLength; /*length of abbrev days table*/
|
|
long abbrevMonthsTableOffset; /*offset in itl1 to abbrev months table*/
|
|
long abbrevMonthsTableLength; /*length of abbrev months table*/
|
|
long extraSepsTableOffset; /*offset in itl1 to extra seps table*/
|
|
long extraSepsTableLength; /*length of extra seps table*/
|
|
short tables[1]; /*now a flag for opt extension*/
|
|
};
|
|
|
|
typedef struct Itl1ExtRec Itl1ExtRec;
|
|
|
|
|
|
|
|
struct UntokenTable {
|
|
short len;
|
|
short lastToken;
|
|
short index[256]; /*index table; last = lastToken*/
|
|
};
|
|
|
|
typedef struct UntokenTable UntokenTable;
|
|
typedef UntokenTable *UntokenTablePtr, **UntokenTableHandle;
|
|
|
|
|
|
union WideChar {
|
|
char a[2]; /*0 is the high order character*/
|
|
short b;
|
|
};
|
|
|
|
typedef union WideChar WideChar;
|
|
|
|
struct WideCharArr {
|
|
short size;
|
|
WideChar data[10];
|
|
};
|
|
|
|
typedef struct WideCharArr WideCharArr;
|
|
|
|
|
|
struct NumberParts {
|
|
short version;
|
|
WideChar data[31]; /*index by [tokLeftQuote..tokMaxSymbols]*/
|
|
WideCharArr pePlus;
|
|
WideCharArr peMinus;
|
|
WideCharArr peMinusPlus;
|
|
WideCharArr altNumTable;
|
|
char reserved[20];
|
|
};
|
|
|
|
typedef struct NumberParts NumberParts;
|
|
typedef NumberParts *NumberPartsPtr;
|
|
|
|
|
|
|
|
struct Itl4Rec {
|
|
short flags; /*reserved*/
|
|
long resourceType; /*contains 'itl4'*/
|
|
short resourceNum; /*resource ID*/
|
|
short version; /*version number*/
|
|
long resHeader1; /*reserved*/
|
|
long resHeader2; /*reserved*/
|
|
short numTables; /*number of tables, one-based*/
|
|
long mapOffset; /*offset to table that maps byte to token*/
|
|
long strOffset; /*offset to routine that copies canonical string*/
|
|
long fetchOffset; /*offset to routine that gets next byte of character*/
|
|
long unTokenOffset; /*offset to table that maps token to canonical string*/
|
|
long defPartsOffset; /*offset to default number parts table*/
|
|
long resOffset6; /*reserved*/
|
|
long resOffset7; /*reserved*/
|
|
long resOffset8; /*reserved*/
|
|
};
|
|
|
|
typedef struct Itl4Rec Itl4Rec;
|
|
typedef Itl4Rec *Itl4Ptr, **Itl4Handle;
|
|
|
|
/* New NItl4Rec for System 7.0: */
|
|
struct NItl4Rec {
|
|
short flags; /*reserved*/
|
|
long resourceType; /*contains 'itl4'*/
|
|
short resourceNum; /*resource ID*/
|
|
short version; /*version number*/
|
|
short format; /*format code*/
|
|
short resHeader; /*reserved*/
|
|
long resHeader2; /*reserved*/
|
|
short numTables; /*number of tables, one-based*/
|
|
long mapOffset; /*offset to table that maps byte to token*/
|
|
long strOffset; /*offset to routine that copies canonical string*/
|
|
long fetchOffset; /*offset to routine that gets next byte of character*/
|
|
long unTokenOffset; /*offset to table that maps token to canonical string*/
|
|
long defPartsOffset; /*offset to default number parts table*/
|
|
long whtSpListOffset; /*offset to white space code list*/
|
|
long resOffset7; /*reserved*/
|
|
long resOffset8; /*reserved*/
|
|
short resLength1; /*reserved*/
|
|
short resLength2; /*reserved*/
|
|
short resLength3; /*reserved*/
|
|
short unTokenLength; /*length of untoken table*/
|
|
short defPartsLength; /*length of default number parts table*/
|
|
short whtSpListLength; /*length of white space code list*/
|
|
short resLength7; /*reserved*/
|
|
short resLength8; /*reserved*/
|
|
};
|
|
|
|
typedef struct NItl4Rec NItl4Rec;
|
|
typedef NItl4Rec *NItl4Ptr, **NItl4Handle;
|
|
|
|
struct TableDirectoryRecord {
|
|
OSType tableSignature; /*4 byte long table name */
|
|
unsigned long reserved; /*Reserved for internal use */
|
|
unsigned long tableStartOffset; /*Table start offset in byte*/
|
|
unsigned long tableSize; /*Table size in byte*/
|
|
};
|
|
|
|
typedef struct TableDirectoryRecord TableDirectoryRecord;
|
|
|
|
struct Itl5Record {
|
|
Fixed versionNumber; /*itl5 resource version number */
|
|
unsigned short numberOfTables; /*Number of tables it contains */
|
|
unsigned short reserved[3]; /*Reserved for internal use */
|
|
TableDirectoryRecord tableDirectory[1]; /*Table directory records */
|
|
};
|
|
|
|
typedef struct Itl5Record Itl5Record;
|
|
|
|
struct RuleBasedTrslRecord {
|
|
short sourceType; /*Transliterate target type for the LHS of the rule */
|
|
short targetType; /*Transliterate target type for the RHS of the rule */
|
|
short formatNumber; /*Transliterate resource format number */
|
|
short propertyFlag; /*Transliterate property flags */
|
|
short numberOfRules; /*Number of rules following this field */
|
|
};
|
|
|
|
typedef struct RuleBasedTrslRecord RuleBasedTrslRecord;
|
|
|
|
|
|
|
|
struct ItlcRecord {
|
|
short itlcSystem; /*default system script*/
|
|
short itlcReserved; /*reserved*/
|
|
char itlcFontForce; /*default font force flag*/
|
|
char itlcIntlForce; /*default intl force flag*/
|
|
char itlcOldKybd; /*MacPlus intl keybd flag*/
|
|
char itlcFlags; /*general flags*/
|
|
short itlcIconOffset; /*keyboard icon offset; not used in 7.0*/
|
|
char itlcIconSide; /*keyboard icon side; not used in 7.0*/
|
|
char itlcIconRsvd; /*rsvd for other icon info*/
|
|
short itlcRegionCode; /*preferred verXxx code*/
|
|
short itlcSysFlags; /*flags for setting system globals*/ /*<40>*/
|
|
char itlcReserved4[32]; /*for future use*/ /*<40>*/
|
|
};
|
|
|
|
typedef struct ItlcRecord ItlcRecord;
|
|
|
|
struct ItlbRecord {
|
|
short itlbNumber; /*itl0 id number*/
|
|
short itlbDate; /*itl1 id number*/
|
|
short itlbSort; /*itl2 id number*/
|
|
short itlbFlags; /*Script flags*/
|
|
short itlbToken; /*itl4 id number*/
|
|
short itlbEncoding; /*itl5 ID # (optional; char encoding)*/
|
|
short itlbLang; /*current language for script */
|
|
char itlbNumRep; /*number representation code*/
|
|
char itlbDateRep; /*date representation code */
|
|
short itlbKeys; /*KCHR id number*/
|
|
short itlbIcon; /*ID # of SICN or kcs#/kcs4/kcs8 suite.*/
|
|
};
|
|
|
|
typedef struct ItlbRecord ItlbRecord;
|
|
|
|
/* New ItlbExtRecord structure for System 7.0 */
|
|
struct ItlbExtRecord {
|
|
ItlbRecord base; /*un-extended ItlbRecord*/
|
|
long itlbLocalSize; /*size of script's local record*/
|
|
short itlbMonoFond; /*default monospace FOND ID*/
|
|
short itlbMonoSize; /*default monospace font size*/
|
|
short itlbPrefFond; /*preferred FOND ID*/
|
|
short itlbPrefSize; /*preferred font size*/
|
|
short itlbSmallFond; /*default small FOND ID*/
|
|
short itlbSmallSize; /*default small font size*/
|
|
short itlbSysFond; /*default system FOND ID*/
|
|
short itlbSysSize; /*default system font size*/
|
|
short itlbAppFond; /*default application FOND ID*/
|
|
short itlbAppSize; /*default application font size*/
|
|
short itlbHelpFond; /*default Help Mgr FOND ID*/
|
|
short itlbHelpSize; /*default Help Mgr font size*/
|
|
Style itlbValidStyles; /*set of valid styles for script*/
|
|
Style itlbAliasStyle; /*style (set) to mark aliases*/
|
|
};
|
|
|
|
typedef struct ItlbExtRecord ItlbExtRecord;
|
|
|
|
|
|
|
|
#endif
|