19 #ifndef __WORLDSCRIPT__
20 #define __WORLDSCRIPT__
30 #ifndef __QUICKDRAWTEXT__
46 #if PRAGMA_STRUCT_ALIGN
47 #pragma options align = mac68k
48 #elif PRAGMA_STRUCT_PACKPUSH
50 #elif PRAGMA_STRUCT_PACK
54 typedef UInt16 WSIOffset;
55 typedef UInt8 WSIByteCount;
56 typedef UInt8 WSIByteIndex;
58 typedef UInt16 WSIStateOffset;
59 typedef UInt32 WSITableOffset;
60 typedef UInt16 WSISubtableOffset;
61 typedef UInt16 WSIGlyphcode;
62 typedef UInt32 WSITableIdentifiers;
64 kScriptSettingsTag = FOUR_CHAR_CODE(
'info'),
65 kMetamorphosisTag = FOUR_CHAR_CODE(
'mort'),
66 kGlyphExpansionTag = FOUR_CHAR_CODE(
'g2g#'),
67 kPropertiesTag = FOUR_CHAR_CODE(
'prop'),
68 kJustificationTag = FOUR_CHAR_CODE(
'kash'),
69 kCharToGlyphTag = FOUR_CHAR_CODE(
'cmap'),
70 kGlyphToCharTag = FOUR_CHAR_CODE(
'pamc'),
71 kFindScriptRunTag = FOUR_CHAR_CODE(
'fstb')
76 WSILookupSimpleArray = 0,
77 WSILookupSegmentSingle = 2,
78 WSILookupSegmentArray = 4,
79 WSILookupSingleTable = 6,
80 WSILookupTrimmedArray = 8
83 typedef unsigned short WSILookupTableFormat;
84 typedef unsigned short WSILookupValue;
86 typedef unsigned short WSILookupOffset;
106 WSIGlyphcode firstGlyph;
107 WSIGlyphcode limitGlyph;
108 WSILookupValue valueArray[1];
119 WSILookupTableFormat format;
127 kCurrentGlyphExpansionVersion = 0x00010000
130 typedef unsigned short GlyphExpansionFormats;
131 enum { GlyphExpansionLookupFormat = 1, GlyphExpansionContextualFormat = 2 };
134 WSIByteCount numGlyphs;
135 WSIByteIndex bestGlyph;
136 WSIGlyphcode glyphs[1];
145 WSISubtableOffset stateTableOffset;
146 WSISubtableOffset classTableOffset;
154 short expansionNumer;
155 short expansionDenom;
165 enum { kCurrentGlyphToCharVersion = 0x00010100 };
167 typedef unsigned short GlyphToCharLookupFormats;
169 kGlyphToCharLookup8Format = 1,
170 kGlyphToCharLookup16Format = 2,
171 kGlyphToCharLookup32Format = 3
174 typedef UInt8 GlyphToCharFontIndex;
175 typedef UInt8 QDGlyphcode;
177 WSISubtableOffset fontNameOffset;
184 WSISubtableOffset offsets[1];
190 WSISubtableOffset actionOffset;
215 kCurrentJustificationVersion = 0x0200
218 enum { kJustificationStateTableFormat = 1 };
222 kMaxJustificationStringLength = 13
225 typedef UInt8 WSIJustificationPriority;
226 enum { WSIJustificationSetMarkMask = 0x80 };
229 WSIJustificationPriority
231 WSIJustificationPriority priority;
232 WSIStateOffset newState;
236 typedef unsigned short WSIJustificationClasses;
238 wsiJustEndOfLineClass = 0,
239 wsiJustEndOfRunClass = 1,
240 wsiJustDeletedGlyphClass = 2,
241 wsiJustUserDefinedClass = 3
244 typedef unsigned short WSIJustificationStates;
246 wsiStartOfLineState = 0,
247 wsiStartOfRunState = 1,
248 wsiUserDefinedState = 2
252 typedef UInt8 WSIJustificationClassOffset;
255 unsigned short rowWidth;
256 short classTableOffset;
257 short stateTableOffset;
271 unsigned short spacesPerInsertion;
273 unsigned short justStringOffset;
284 currentPropsTableVersion = 0x00010000
289 kCharToGlyphCurrentVersion = 0x40
294 enum { kScriptsDefaultJustWeight = -1 };
298 typedef UInt16 WSIFeatureType;
299 typedef UInt16 WSIFeatureSelector;
301 WSIFeatureType featureType;
302 WSIFeatureSelector featureSelector;
306 #if PRAGMA_STRUCT_ALIGN
307 #pragma options align = reset
308 #elif PRAGMA_STRUCT_PACKPUSH
310 #elif PRAGMA_STRUCT_PACK
314 #ifdef PRAGMA_IMPORT_OFF
Basic Macintosh data types.
long Fixed
Definition: MacTypes.h:153
Quickdraw Text Interfaces.
Definition: WorldScript.h:133
Definition: WorldScript.h:139
Definition: WorldScript.h:144
Definition: WorldScript.h:151
Definition: WorldScript.h:176
Definition: MacTypes.h:520
Definition: WorldScript.h:300
Definition: WorldScript.h:228
Definition: WorldScript.h:253