4.2 Data Structures F-K
FALSE
#define FALSE 0
#define TRUE (~0) /* use as return value, not for comparisons */
FFFieldMessageBlock
typedef struct {
char textBuffer[100];
int startOffset;
} FFFieldMessageBlock;
FileAccess
typedef ByteEnum FileAccess
#define FA_READ_ONLY 0
#define FA_WRITE_ONLY 1
#define FA_READ_WRITE 2
FileAccessFlags
typedef ByteFlags FileAccessFlags;
#define FILE_DENY_RW 0x10
#define FILE_DENY_W 0x20
#define FILE_DENY_R 0x30
#define FILE_DENY_NONE 0x40
#define FILE_ACCESS_R 0x00
#define FILE_ACCESS_W 0x01
#define FILE_ACCESS_RW 0x02
#define FILE_NO_ERRORS 0x80 When you open a file for bytewise access, you must pass a record of **FileAccessFlags**. The **FileAccessFlags** record specifies two things: what kind of access the caller wants, and what type of access is permitted to other geodes. A set of **FileAccessFlags** is thus a bit-wise "or" of two different values. The first specifies what kind of access the calling geode wants and has the following values:
FILE_ACCESS_R
The geode will only be reading from the file.
FILE_ACCESS_W
The geode will write to the file but will not read from it.
FILE_ACCESS_RW
The geode will read from and write to the file.
The second part specifies what kind of access other geodes may have. Note that if you try to deny a permission which has already been given to another geode (e.g. you open a file with FILE_DENY_W when another geode has the file open for write-access), the call will fail. It has the following values:
FILE_DENY_RW
No geode may open the file for any kind of access, whether read, write, or read/write.
FILE_DENY_R
No geode may open the file for read or read/write access.
FILE_DENY_W
No geode may open the file for write or read/write access.
FILE_DENY_NONE
Other geodes may open the file for any kind of access.
Two flags, one from each of these sets of values, are combined to make up a proper FileAccessFlags value. For example, to open the file for read-only access while prohibiting other geodes from writing to the file, you would pass the flags “(FILE_ACCESS_R | FILE_DENY_W)”.
FileAccessRights
typedef char FileAccessRights[FILE_RIGHTS_SIZE];
FileAttrs
typedef ByteFlags FileAttrs;
#define FA_ARCHIVE 0x20
#define FA_SUBDIR 0x10
#define FA_VOLUME 0x8
#define FA_SYSTEM 0x4
#define FA_HIDDEN 0x2
#define FA_RDONLY 0x1
#define FILE_ATTR_NORMAL 0
#define FILE_ATTR_READ_ONLY FA_RDONLY
#define FILE_ATTR_HIDDEN FA_HIDDEN
#define FILE_ATTR_SYSTEM FA_SYSTEM
#define FILE_ATTR_VOLUME_LABEL FA_VOLUME Every DOS or GEOS file has certain attributes. These attributes mark such things as whether the file is read-only. With GEOS files, the attributes can be accessed by using the extended attribute FEA_FILE_ATTR. You can also access any file's standard attributes with the routines **FileGetAttributes()** and **FileSetAttributes()**; these routines work for both GEOS files and plain DOS files.
The FileAttrs field contains the following bits:
FA_ARCHIVE
This flag is set if the file requires backup. Backup programs typically clear this bit.
FA_SUBDIR
This flag is set if the “file” is actually a directory. Geodes may not change this flag.
FA_VOLUME
This flag is set if the “file” is actually the volume label. This flag will be off for all files a geode will ever see. Geodes may not change this flag.
FA_SYSTEM
This flag is set if the file is a system file. Geodes should not change this bit.
FA_HIDDEN
This flag is set if the file is hidden.
FA_RDONLY
This flag is set if the file is read-only.
See Also: FileGetAttrs(), FileSetAttrs()
Include: file.h
FileChangeNotificationData
typedef struct {
PathName FCND_pathname;
DiskHandle FCND_diskHandle;
FileChangeType FCND_changeType;
} FileChangeNotificationData;
FileChangeType
typedef ByteEnum FileChangeType;
#define FCT_CREATE 0
#define FCT_DELETE 1
#define FCT_RENAME 2
#define FCT_CONTENTS 3
#define FCT_DISK_FORMAT 4
FileCopyrightNotice
typedef char FileCopyrightNotice[GFH_NOTICE_SIZE];
FileCreateFlags
typedef WordFlags FileCreateFlags;
#define FCF_NATIVE 0x8000
#define FCF_MODE 0x0300 /* Filled with FILE_CREATE_* constant */
#define FCF_ACCESS 0x00ff /* Filled with FileAccessFlags */
FileDateAndTime
typedef DWordFlags FileDateAndTime;
#define FDAT_HOUR 0xf8000000
#define FDAT_MINUTE 0x07e00000
#define FDAT_2SECOND 0x001f0000
#define FDAT_YEAR 0x0000fe00
#define FDAT_MONTH 0x000001e0
#define FDAT_DAY 0x0000001f
#define FDAT_HOUR_OFFSET 27
#define FDAT_MINUTE_OFFSET 21
#define FDAT_2SECOND_OFFSET 16
#define FDAT_YEAR_OFFSET 9
#define FDAT_MONTH_OFFSET 5
#define FDAT_DAY_OFFSET 0
#define FDAT_BASE_YEAR 1980 Every GEOS file has two date and time stamps. One of them records the time the file was created, and one records the time the file was last modified. These stamps are recorded with the file's extended attributes; they are labeled FEA_CREATION and FEA_MODIFICATION, respectively. Non-GEOS files have a single date/time stamp, which records the time the file was last modified.
The date/time stamps are stored in a 32-bit bitfield. This field contains entries for the year, month, day, hour, minute, and second. Each field is identified by a mask and an offset. To access a field, simply clear all bits except those in the mask, then shift the bits to the right by the number of the offset. (Macros are provided to do this; they are described below.) FileDateAndTime contains the following fields, identified by their masks:
FDAT_YEAR
This field records the year, counting from a base year of 1980. (The constant FDAT_BASE_YEAR is defined as 1980.) This field is at an offset of FDAT_YEAR_OFFSET bits from the low end of the value.
FDAT_MONTH
This field records the month as an integer, with January being one. It is located at an offset of FDAT_MONTH_OFFSET.
FDAT_DAY
This field records the day of the month. It is located at an offset of FDAT_DAY_OFFSET.
FDAT_HOUR
This field records the hour on a 24-hour clock, with zero being the hour after midnight. It is located at an offset of FDAT_HOUR_OFFSET.
FDAT_MINUTE This field records the minute. It is located at an offset of FDAT_MINUTE_OFFSET.
FDAT_2SECOND This field records the second, divided by two; that is, a field value of 15 indicates the 30th second. (It is represented this way to let the second fit into 5 bits, thus letting the entire value fit into 32 bits.) It is located at an offset of FDAT_2SECOND_OFFSET.
Macros are provided to extract values from each of the fields of a FileDateAndTime structure. The macros are listed below:
byte FDATExtractYear( /* returns year field, counted from 1980*/
FileDateAndTime fdat);
word FDATExtractYearAD( /* returns year field + base year */
FileDateAndTime fdat);
byte FDATExtractMonth( /* returns month field (1 = January, etc.) */
FileDateAndTime fdat);
byte FDATExtractDay( /* returns day field */
FileDateAndTime fdat);
byte FDATExtractHour( /* returns hour field */
FileDateAndTime fdat);
byte FDATExtractMinute( /* returns minute field */
FileDateAndTime fdat);
byte FDATExtract2Second( /* returns 2Second field */
FileDateAndTime fdat);
byte FDATExtractSecond( /* returns number of seconds (2 * 2Second) */
FileDateAndTime fdat); **Include:** file.h
FileDesktopInfo
typedef char FileDesktopInfo[FILE_DESKTOP_INFO_SIZE];
FileDirID
typedef dword FileDirID;
FileFileID
typedef dword FileFileID;
FileExclude
typedef ByteEnum FileExclude;
#define FE_EXCLUSIVE 1
#define FE_DENY_WRITE 2
#define FE_DENY_READ 3
#define FE_NONE 4
FileExtAttrDesc
typedef struct {
FileExtendedAttribute FEAD_attr; /* Attribute to get or set */
void *FEAD_value; /* Pointer to buffer/new value */
word FEAD_size; /* length of buffer/new value */
chr *FEAD_name; /* If FEAD_attr == FEA_CUSTOM,
* this points to null-
* terminated ASCII string with
* attribute's name; otherwise,
* this is ignored. */
} FileExtendedAttrDesc; The routines to get and set extended attributes can be passed the attribute FEA_MULTIPLE. In this case, they will also be passed the address of an array of **FileExtAttrDesc** structures and the number of elements of the array. They will go through the array and read or write the appropriate information.
FileEnum() can also be passed arrays of FileExtAttrDesc structures. In this case, the number of elements in the array is not passed. Instead, each array ends with a FileExtAttrDesc with a FEAD_attr field set to FEA_END_OF_LIST.
See Also: FileExtendedAttribute
Include: file.h
FileExtendedAttribute
typedef enum /* word */ {
FEA_MODIFICATION,
FEA_FILE_ATTR,
FEA_SIZE,
FEA_FILE_TYPE,
FEA_FLAGS,
FEA_RELEASE,
FEA_PROTOCOL,
FEA_TOKEN,
FEA_CREATOR,
FEA_USER_NOTES,
FEA_NOTICE,
FEA_CREATION,
FEA_PASSWORD,
FEA_CUSTOM,
FEA_NAME,
FEA_GEODE_ATTR,
FEA_PATH_INFO,
FEA_FILE_ID,
FEA_DESKTOP_INFO,
FEA_DRIVE_STATUS,
FEA_DOS_NAME,
FEA_OWNER,
FEA_RIGHTS,
FEA_MULTIPLE = 0xfffe,
FEA_END_OF_LIST = 0xffff,
} FileExtendedAttribute; Every GEOS file has a set of extended attributes. These attributes can be recovered with **FileGetPathExtAttributes()** or **FileGetHandleExtAttributes()**. You can also use **FileEnum()** to search a directory for files with specified extended attributes.
The above extended attributes have been implemented. More may be added with future releases of GEOS. The attributes are discussed at length in Section 17.5.3 of the Concepts book.
See Also: FileExtAttrDesc
Include: file.h
FileHandle
typedef Handle FileHandle;
FileLongName
typedef char FileLongName[FILE_LONGNAME_BUFFER_SIZE];
FileOwnerName
typedef char FileOwnerName[FILE_OWNER_NAME_SIZE];
FilePassword
typedef char FilePassword[FILE_PASSWORD_SIZE];
FilePosMode
typedef ByteEnum FilePosMode;
#define FILE_POS_START 0
#define FILE_POS_RELATIVE 1
#define FILE_POS_END 2
FileUserNotes
typedef char FileUserNotes[GFH_USER_NOTES_BUFFER_SIZE];
FindNoteHeader
typedef struct {
word FNH_count; /* The number of matching notes we've found */
} FindNoteHeader;
FloatExponent
typedef WordFlags FloatExponent;
#define FE_SIGN 0x8000
#define FE_EXPONENT 0x7fff
FloatNum
typedef struct {
word F_mantissa_wd0;
word F_mantissa_wd1;
word F_mantissa_wd2;
word F_mantissa_wd3;
FloatExponent F_exponent;
} FloatNum;
FontAttrs
typedef ByteFlags FontAttrs;
#define FA_FIXED_WIDTH 0x40
#define FA_ORIENT 0x20
#define FA_OUTLINE 0x10
#define FA_FAMILY 0x0f
#define FA_FAMILY_OFFSET 0 **Include:** font.h
FontEnumFlags
typedef ByteFlags FontEnumFlags;
#define FEF_ALPHABETIZE 0x80 /* Alphabetize returned list of fonts */
#define FEF_FIXED_WIDTH 0x20 /* Return only fixed-width fonts */
#define FEF_FAMILY 0x10
#define FEF_STRING 0x08
#define FEF_DOWNCASE 0x04 /* Returned font names will be lowercase */
#define FEF_BITMAPS 0x02 /* Interested in bitmap fonts */
#define FEF_OUTLINES 0x01 /* Interested in outline fonts */ **Include:** font.h
FontEnumStruct
typedef struct {
FontIDs FES_ID;
char FES_name[FID_NAME_LEN];
} FontEnumStruct; **Include:** font.h
FontFamily
typedef byte FontFamily;
#define FF_NON_PORTABLE 0x0007
#define FF_SPECIAL 0x0006
#define FF_MONO 0x0005
#define FF_SYMBOL 0x0004
#define FF_ORNAMENT 0x0003
#define FF_SCRIPT 0x0002
#define FF_SANS_SERIF 0x0001
#define FF_SERIF 0x0000 **Include:** fontID.h
FontGroup
typedef enum /* word */ {
#define FG_NON_PORTABLE 0x0e00
#define FG_SPECIAL 0x0c00
#define FG_MONO 0x0a00
#define FG_SYMBOL 0x0800
#define FG_ORNAMENT 0x0600
#define FG_SCRIPT 0x0400
#define FG_SANS_SERIF 0x0200
#define FG_SERIF 0x0000
} FontGroup; **Include:** fontID.h
FontIDRecord
typedef WordFlags FontIDRecord;
#define FIDR_maker 0xf000
#define FIDR_ID 0x0fff
#define FIDR_maker_OFFSET 12
#define FIDR_ID_OFFSET 0 **Include:** font.h
FontID
typedef word FontID;
#define FID_PRINTER_20CPI 0xfa05
#define FID_PRINTER_17CPI 0xfa04
#define FID_PRINTER_16CPI 0xfa03
#define FID_PRINTER_15CPI 0xfa02
#define FID_PRINTER_12CPI 0xfa01
#define FID_PRINTER_10CPI 0xfa00
#define FID_PRINTER_PROP_SANS 0xf200
#define FID_PRINTER_PROP_SERIF 0xf000
#define FID_BITSTREAM_LETTER_GOTHIC 0x3a03
#define FID_PS_LETTER_GOTHIC 0x2a03
#define FID_DTC_LETTER_GOTHIC 0x1a03
#define FID_BITSTREAM_PRESTIGE_ELITE 0x3a02
#define FID_PS_PRESTIGE_ELITE 0x2a02
#define FID_DTC_PRESTIGE_ELITE 0x1a02
#define FID_BITSTREAM_AMERICAN_TYPEWRITER 0x3a01
#define FID_PS_AMERICAN_TYPEWRITER 0x2a01
#define FID_DTC_AMERICAN_TYPEWRITER 0x1a01
#define FID_BITSTREAM_URW_MONO 0x3a00
#define FID_PS_COURIER 0x2a00
#define FID_DTC_URW_MONO 0x1a00
#define FID_BITSTREAM_FUN_DINGBATS 0x380d
#define FID_PS_FUN_DINGBATS 0x280d
#define FID_DTC_FUN_DINGBATS 0x180d
#define FID_BITSTREAM_CHEQ 0x380c
#define FID_PS_CHEQ 0x280c
#define FID_DTC_CHEQ 0x180c
#define FID_BITSTREAM_BUNDESBAHN_PI_3 0x380b
#define FID_PS_BUNDESBAHN_PI_3 0x280b
#define FID_DTC_BUNDESBAHN_PI_3 0x180b
#define FID_BITSTREAM_BUNDESBAHN_PI_2 0x380a
#define FID_PS_BUNDESBAHN_PI_2 0x280a
#define FID_DTC_BUNDESBAHN_PI_2 0x180a
#define FID_BITSTREAM_BUNDESBAHN_PI_1 0x3809
#define FID_PS_BUNDESBAHN_PI_1 0x2809
#define FID_DTC_BUNDESBAHN_PI_1 0x1809
#define FID_BITSTREAM_U_GREEK_MATH_PI 0x3808
#define FID_PS_U_GREEK_MATH_PI 0x2808
#define FID_DTC_U_GREEK_MATH_PI 0x1808
#define FID_BITSTREAM_U_NEWS_COMM_PI 0x3807
#define FID_PS_U_NEWS_COMM_PI 0x2807
#define FID_DTC_U_NEWS_COMM_PI 0x1807
#define FID_BITSTREAM_ACE_I 0x3806
#define FID_PS_ACE_I 0x2806
#define FID_DTC_ACE_I 0x1806
#define FID_BITSTREAM_SONATA 0x3805
#define FID_PS_SONATA 0x2805
#define FID_DTC_SONATA 0x1805
#define FID_BITSTREAM_CARTA 0x3804
#define FID_PS_CARTA 0x2804
#define FID_DTC_CARTA 0x1804
#define FID_BITSTREAM_MICR 0x3803
#define FID_PS_MICR 0x2803
#define FID_DTC_MICR 0x1803
#define FID_BITSTREAM_ZAPF_DINGBATS 0x3802
#define FID_PS_ZAPF_DINGBATS 0x2802
#define FID_DTC_ZAPF_DINGBATS 0x1802
#define FID_BITSTREAM_DINGBATS 0x3801
#define FID_PS_DINGBATS 0x2801
#define FID_DTC_DINGBATS 0x1801
#define FID_BITSTREAM_URW_SYMBOLPS 0x3800
#define FID_PS_SYMBOL 0x2800
#define FID_DTC_URW_SYMBOLPS 0x1800
#define FID_BITSTREAM_JUNIPER 0x367f
#define FID_PS_JUNIPER 0x267f
#define FID_DTC_JUNIPER 0x167f
#define FID_BITSTREAM_COTTONWOOD 0x367e
#define FID_PS_COTTONWOOD 0x267e
#define FID_DTC_COTTONWOOD 0x167e
#define FID_BITSTREAM_BANCO 0x367d
#define FID_PS_BANCO 0x267d
#define FID_DTC_BANCO 0x167d
#define FID_BITSTREAM_ARCADIA 0x367c
#define FID_PS_ARCADIA 0x267c
#define FID_DTC_ARCADIA 0x167c
#define FID_BITSTREAM_ZIPPER 0x367b
#define FID_PS_ZIPPER 0x267b
#define FID_DTC_ZIPPER 0x167b
#define FID_BITSTREAM_WEIFZ_RUNDGOTIFCH 0x367a
#define FID_PS_WEIFZ_RUNDGOTIFCH 0x267a
#define FID_DTC_WEIFZ_RUNDGOTIFCH 0x167a
#define FID_BITSTREAM_WASHINGTON 0x3679
#define FID_PS_WASHINGTON 0x2679
#define FID_DTC_WASHINGTON 0x1679
#define FID_BITSTREAM_VICTORIAN 0x3678
#define FID_PS_VICTORIAN 0x2678
#define FID_DTC_VICTORIAN 0x1678
#define FID_BITSTREAM_VEGAS 0x3677
#define FID_PS_VEGAS 0x2677
#define FID_DTC_VEGAS 0x1677
#define FID_BITSTREAM_VARIO 0x3676
#define FID_PS_VARIO 0x2676
#define FID_DTC_VARIO 0x1676
#define FID_BITSTREAM_VAG_RUNDSCHRIFT 0x3675
#define FID_PS_VAG_RUNDSCHRIFT 0x2675
#define FID_DTC_VAG_RUNDSCHRIFT 0x1675
#define FID_BITSTREAM_TRAJANUS 0x3674
#define FID_PS_TRAJANUS 0x2674
#define FID_DTC_TRAJANUS 0x1674
#define FID_BITSTREAM_TITUS 0x3673
#define FID_PS_TITUS 0x2673
#define FID_DTC_TITUS 0x1673
#define FID_BITSTREAM_TIME_SCRIPT 0x3672
#define FID_PS_TIME_SCRIPT 0x2672
#define FID_DTC_TIME_SCRIPT 0x1672
#define FID_BITSTREAM_THUNDERBIRD 0x3671
#define FID_PS_THUNDERBIRD 0x2671
#define FID_DTC_THUNDERBIRD 0x1671
#define FID_BITSTREAM_THOROWGOOD 0x3670
#define FID_PS_THOROWGOOD 0x2670
#define FID_DTC_THOROWGOOD 0x1670
#define FID_BITSTREAM_TARRAGON 0x366f
#define FID_PS_TARRAGON 0x266f
#define FID_DTC_TARRAGON 0x166f
#define FID_BITSTREAM_TANGO 0x366e
#define FID_PS_TANGO 0x266e
#define FID_DTC_TANGO 0x166e
#define FID_BITSTREAM_SYNCHRO 0x366d
#define FID_PS_SYNCHRO 0x266d
#define FID_DTC_SYNCHRO 0x166d
#define FID_BITSTREAM_SUPERSTAR 0x366c
#define FID_PS_SUPERSTAR 0x266c
#define FID_DTC_SUPERSTAR 0x166c
#define FID_BITSTREAM_STOP 0x366b
#define FID_PS_STOP 0x266b
#define FID_DTC_STOP 0x166b
#define FID_BITSTREAM_STILLA_CAPS 0x366a
#define FID_PS_STILLA_CAPS 0x266a
#define FID_DTC_STILLA_CAPS 0x166a
#define FID_BITSTREAM_STILLA 0x3669
#define FID_PS_STILLA 0x2669
#define FID_DTC_STILLA 0x1669
#define FID_BITSTREAM_STENTOR 0x3668
#define FID_PS_STENTOR 0x2668
#define FID_DTC_STENTOR 0x1668
#define FID_BITSTREAM_SQUIRE 0x3667
#define FID_PS_SQUIRE 0x2667
#define FID_DTC_SQUIRE 0x1667
#define FID_BITSTREAM_SPRINGFIELD 0x3666
#define FID_PS_SPRINGFIELD 0x2666
#define FID_DTC_SPRINGFIELD 0x1666
#define FID_BITSTREAM_SLIPSTREAM 0x3665
#define FID_PS_SLIPSTREAM 0x2665
#define FID_DTC_SLIPSTREAM 0x1665
#define FID_BITSTREAM_SINALOA 0x3664
#define FID_PS_SINALOA 0x2664
#define FID_DTC_SINALOA 0x1664
#define FID_BITSTREAM_SHELLEY 0x3663
#define FID_PS_SHELLEY 0x2663
#define FID_DTC_SHELLEY 0x1663
#define FID_BITSTREAM_SERPENTINE 0x3662
#define FID_PS_SERPENTINE 0x2662
#define FID_DTC_SERPENTINE 0x1662
#define FID_BITSTREAM_RUBBER_STAMP 0x3661
#define FID_PS_RUBBER_STAMP 0x2661
#define FID_DTC_RUBBER_STAMP 0x1661
#define FID_BITSTREAM_ROMIC 0x3660
#define FID_PS_ROMIC 0x2660
#define FID_DTC_ROMIC 0x1660
#define FID_BITSTREAM_RIALTO 0x365f
#define FID_PS_RIALTO 0x265f
#define FID_DTC_RIALTO 0x165f
#define FID_BITSTREAM_REVUE 0x365e
#define FID_PS_REVUE 0x265e
#define FID_DTC_REVUE 0x165e
#define FID_BITSTREAM_QUENTIN 0x365d
#define FID_PS_QUENTIN 0x265d
#define FID_DTC_QUENTIN 0x165d
#define FID_BITSTREAM_PRO_ARTE 0x365c
#define FID_PS_PRO_ARTE 0x265c
#define FID_DTC_PRO_ARTE 0x165c
#define FID_BITSTREAM_PRINCETOWN 0x365b
#define FID_PS_PRINCETOWN 0x265b
#define FID_DTC_PRINCETOWN 0x165b
#define FID_BITSTREAM_PRESIDENT 0x365a
#define FID_PS_PRESIDENT 0x265a
#define FID_DTC_PRESIDENT 0x165a
#define FID_BITSTREAM_PREMIER 0x3659
#define FID_PS_PREMIER 0x2659
#define FID_DTC_PREMIER 0x1659
#define FID_BITSTREAM_POST_ANTIQUA 0x3658
#define FID_PS_POST_ANTIQUA 0x2658
#define FID_DTC_POST_ANTIQUA 0x1658
#define FID_BITSTREAM_PLAZA 0x3657
#define FID_PS_PLAZA 0x2657
#define FID_DTC_PLAZA 0x1657
#define FID_BITSTREAM_PLAYBILL 0x3656
#define FID_PS_PLAYBILL 0x2656
#define FID_DTC_PLAYBILL 0x1656
#define FID_BITSTREAM_PICCADILLY 0x3655
#define FID_PS_PICCADILLY 0x2655
#define FID_DTC_PICCADILLY 0x1655
#define FID_BITSTREAM_PEIGNOT 0x3654
#define FID_PS_PEIGNOT 0x2654
#define FID_DTC_PEIGNOT 0x1654
#define FID_BITSTREAM_PAPYRUS 0x3653
#define FID_PS_PAPYRUS 0x2653
#define FID_DTC_PAPYRUS 0x1653
#define FID_BITSTREAM_PADDINGTION 0x3652
#define FID_PS_PADDINGTION 0x2652
#define FID_DTC_PADDINGTION 0x1652
#define FID_BITSTREAM_OKAY 0x3651
#define FID_PS_OKAY 0x2651
#define FID_DTC_OKAY 0x1651
#define FID_BITSTREAM_ODIN 0x3650
#define FID_PS_ODIN 0x2650
#define FID_DTC_ODIN 0x1650
#define FID_BITSTREAM_OCTOPUSS 0x364f
#define FID_PS_OCTOPUSS 0x264f
#define FID_DTC_OCTOPUSS 0x164f
#define FID_BITSTREAM_MOTTER_FEMINA 0x364e
#define FID_PS_MOTTER_FEMINA 0x264e
#define FID_DTC_MOTTER_FEMINA 0x164e
#define FID_BITSTREAM_MICROGRAMMA 0x364d
#define FID_PS_MICROGRAMMA 0x264d
#define FID_DTC_MICROGRAMMA 0x164d
#define FID_BITSTREAM_MACHINE 0x364c
#define FID_PS_MACHINE 0x264c
#define FID_DTC_MACHINE 0x164c
#define FID_BITSTREAM_LINOTEXT 0x364b
#define FID_PS_LINOTEXT 0x264b
#define FID_DTC_LINOTEXT 0x164b
#define FID_BITSTREAM_LIBERTY 0x364a
#define FID_PS_LIBERTY 0x264a
#define FID_DTC_LIBERTY 0x164a
#define FID_BITSTREAM_LAZYBONES 0x3649
#define FID_PS_LAZYBONES 0x2649
#define FID_DTC_LAZYBONES 0x1649
#define FID_BITSTREAM_LATIN_WIDE 0x3648
#define FID_PS_LATIN_WIDE 0x2648
#define FID_DTC_LATIN_WIDE 0x1648
#define FID_BITSTREAM_KNIGHTSBRIDGE 0x3647
#define FID_PS_KNIGHTSBRIDGE 0x2647
#define FID_DTC_KNIGHTSBRIDGE 0x1647
#define FID_BITSTREAM_KAPITELLIA 0x3646
#define FID_PS_KAPITELLIA 0x2646
#define FID_DTC_KAPITELLIA 0x1646
#define FID_BITSTREAM_KALLIGRAPHIA 0x3645
#define FID_PS_KALLIGRAPHIA 0x2645
#define FID_DTC_KALLIGRAPHIA 0x1645
#define FID_BITSTREAM_ICE_AGE 0x3644
#define FID_PS_ICE_AGE 0x2644
#define FID_DTC_ICE_AGE 0x1644
#define FID_BITSTREAM_ICONE 0x3643
#define FID_PS_ICONE 0x2643
#define FID_DTC_ICONE 0x1643
#define FID_BITSTREAM_HORNDON 0x3642
#define FID_PS_HORNDON 0x2642
#define FID_DTC_HORNDON 0x1642
#define FID_BITSTREAM_HORATIO 0x3641
#define FID_PS_HORATIO 0x2641
#define FID_DTC_HORATIO 0x1641
#define FID_BITSTREAM_HIGHLIGHT 0x3640
#define FID_PS_HIGHLIGHT 0x2640
#define FID_DTC_HIGHLIGHT 0x1640
#define FID_BITSTREAM_HADFIELD 0x363f
#define FID_PS_HADFIELD 0x263f
#define FID_DTC_HADFIELD 0x163f
#define FID_BITSTREAM_GLASER_STENCIL 0x363e
#define FID_PS_GLASER_STENCIL 0x263e
#define FID_DTC_GLASER_STENCIL 0x163e
#define FID_BITSTREAM_GILL_KAYO 0x363d
#define FID_PS_GILL_KAYO 0x263d
#define FID_DTC_GILL_KAYO 0x163d
#define FID_BITSTREAM_GALADRIEL 0x363c
#define FID_PS_GALADRIEL 0x263c
#define FID_DTC_GALADRIEL 0x163c
#define FID_BITSTREAM_FUTURA_DISPLAY 0x363b
#define FID_PS_FUTURA_DISPLAY 0x263b
#define FID_DTC_FUTURA_DISPLAY 0x163b
#define FID_BITSTREAM_FUTURA_C_BLACK 0x363a
#define FID_PS_FUTURA_C_BLACK 0x263a
#define FID_DTC_FUTURA_C_BLACK 0x163a
#define FID_BITSTREAM_FRANKFURTER 0x3639
#define FID_PS_FRANKFURTER 0x2639
#define FID_DTC_FRANKFURTER 0x1639
#define FID_BITSTREAM_FLORA 0x3638
#define FID_PS_FLORA 0x2638
#define FID_DTC_FLORA 0x1638
#define FID_BITSTREAM_FLANGE 0x3637
#define FID_PS_FLANGE 0x2637
#define FID_DTC_FLANGE 0x1637
#define FID_BITSTREAM_FLASH 0x3636
#define FID_PS_FLASH 0x2636
#define FID_DTC_FLASH 0x1636
#define FID_BITSTREAM_FLAMENCO 0x3635
#define FID_PS_FLAMENCO 0x2635
#define FID_DTC_FLAMENCO 0x1635
#define FID_BITSTREAM_FETTE_GOTILCH 0x3634
#define FID_PS_FETTE_GOTILCH 0x2634
#define FID_DTC_FETTE_GOTILCH 0x1634
#define FID_BITSTREAM_FETTE_FRAKTUR 0x3633
#define FID_PS_FETTE_FRAKTUR 0x2633
#define FID_DTC_FETTE_FRAKTUR 0x1633
#define FID_BITSTREAM_ENVIRO 0x3632
#define FID_PS_ENVIRO 0x2632
#define FID_DTC_ENVIRO 0x1632
#define FID_BITSTREAM_EINHORN 0x3631
#define FID_PS_EINHORN 0x2631
#define FID_DTC_EINHORN 0x1631
#define FID_BITSTREAM_ECKMANN 0x3630
#define FID_PS_ECKMANN 0x2630
#define FID_DTC_ECKMANN 0x1630
#define FID_BITSTREAM_DYNAMO 0x362f
#define FID_PS_DYNAMO 0x262f
#define FID_DTC_DYNAMO 0x162f
#define FID_BITSTREAM_DOM_CASUAL 0x362e
#define FID_PS_DOM_CASUAL 0x262e
#define FID_DTC_DOM_CASUAL 0x162e
#define FID_BITSTREAM_DAVIDA 0x362d
#define FID_PS_DAVIDA 0x262d
#define FID_DTC_DAVIDA 0x162d
#define FID_BITSTREAM_CROISSANT 0x362c
#define FID_PS_CROISSANT 0x262c
#define FID_DTC_CROISSANT 0x162c
#define FID_BITSTREAM_CRILLEE 0x362b
#define FID_PS_CRILLEE 0x262b
#define FID_DTC_CRILLEE 0x162b
#define FID_BITSTREAM_COUNTDOWN 0x362a
#define FID_PS_COUNTDOWN 0x262a
#define FID_DTC_COUNTDOWN 0x162a
#define FID_BITSTREAM_CORTEZ 0x3629
#define FID_PS_CORTEZ 0x2629
#define FID_DTC_CORTEZ 0x1629
#define FID_BITSTREAM_CONFERENCE 0x3628
#define FID_PS_CONFERENCE 0x2628
#define FID_DTC_CONFERENCE 0x1628
#define FID_BITSTREAM_COMPANY 0x3627
#define FID_PS_COMPANY 0x2627
#define FID_DTC_COMPANY 0x1627
#define FID_BITSTREAM_COLUMNA_SOLID 0x3626
#define FID_PS_COLUMNA_SOLID 0x2626
#define FID_DTC_COLUMNA_SOLID 0x1626
#define FID_BITSTREAM_CITY 0x3625
#define FID_PS_CITY 0x2625
#define FID_DTC_CITY 0x1625
#define FID_BITSTREAM_CIRKULUS 0x3624
#define FID_PS_CIRKULUS 0x2624
#define FID_DTC_CIRKULUS 0x1624
#define FID_BITSTREAM_CHURCHWARD_BRUSH 0x3623
#define FID_PS_CHURCHWARD_BRUSH 0x2623
#define FID_DTC_CHURCHWARD_BRUSH 0x1623
#define FID_BITSTREAM_CHROMIUM_ONE 0x3622
#define FID_PS_CHROMIUM_ONE 0x2622
#define FID_DTC_CHROMIUM_ONE 0x1622
#define FID_BITSTREAM_CHOC 0x3621
#define FID_PS_CHOC 0x2621
#define FID_DTC_CHOC 0x1621
#define FID_BITSTREAM_CHISEL 0x3620
#define FID_PS_CHISEL 0x2620
#define FID_DTC_CHISEL 0x1620
#define FID_BITSTREAM_CHESTERFIELD 0x361f
#define FID_PS_CHESTERFIELD 0x261f
#define FID_DTC_CHESTERFIELD 0x161f
#define FID_BITSTREAM_CAROUSEL 0x361e
#define FID_PS_CAROUSEL 0x261e
#define FID_DTC_CAROUSEL 0x161e
#define FID_BITSTREAM_CAMELLIA 0x361d
#define FID_PS_CAMELLIA 0x261d
#define FID_DTC_CAMELLIA 0x161d
#define FID_BITSTREAM_CABARET 0x361c
#define FID_PS_CABARET 0x261c
#define FID_DTC_CABARET 0x161c
#define FID_BITSTREAM_BUXOM 0x361b
#define FID_PS_BUXOM 0x261b
#define FID_DTC_BUXOM 0x161b
#define FID_BITSTREAM_BUSTER 0x361a
#define FID_PS_BUSTER 0x261a
#define FID_DTC_BUSTER 0x161a
#define FID_BITSTREAM_BOTTLENECK 0x3619
#define FID_PS_BOTTLENECK 0x2619
#define FID_DTC_BOTTLENECK 0x1619
#define FID_BITSTREAM_BLOCK 0x3618
#define FID_PS_BLOCK 0x2618
#define FID_DTC_BLOCK 0x1618
#define FID_BITSTREAM_BINNER 0x3617
#define FID_PS_BINNER 0x2617
#define FID_DTC_BINNER 0x1617
#define FID_BITSTREAM_BERNHARD_ANTIQUE 0x3616
#define FID_PS_BERNHARD_ANTIQUE 0x2616
#define FID_DTC_BERNHARD_ANTIQUE 0x1616
#define FID_BITSTREAM_BELSHAW 0x3615
#define FID_PS_BELSHAW 0x2615
#define FID_DTC_BELSHAW 0x1615
#define FID_BITSTREAM_BARCELONA 0x3614
#define FID_PS_BARCELONA 0x2614
#define FID_DTC_BARCELONA 0x1614
#define FID_BITSTREAM_BAUHAUS 0x3613
#define FID_PS_BAUHAUS 0x2613
#define FID_DTC_BAUHAUS 0x1613
#define FID_BITSTREAM_AUGUSTEA_OPEN 0x3612
#define FID_PS_AUGUSTEA_OPEN 0x2612
#define FID_DTC_AUGUSTEA_OPEN 0x1612
#define FID_BITSTREAM_AMERICAN_UNCIAL 0x3611
#define FID_PS_AMERICAN_UNCIAL 0x2611
#define FID_DTC_AMERICAN_UNCIAL 0x1611
#define FID_BITSTREAM_ULTE_SCHWABACHER 0x3610
#define FID_PS_ULTE_SCHWABACHER 0x2610
#define FID_DTC_ULTE_SCHWABACHER 0x1610
#define FID_BITSTREAM_ARNOLD_BOCKLIN 0x360f
#define FID_PS_ARNOLD_BOCKLIN 0x260f
#define FID_DTC_ARNOLD_BOCKLIN 0x160f
#define FID_BITSTREAM_ALGERIAN 0x360e
#define FID_PS_ALGERIAN 0x260e
#define FID_DTC_ALGERIAN 0x160e
#define FID_BITSTREAM_PUMP 0x360d
#define FID_PS_PUMP 0x260d
#define FID_DTC_PUMP 0x160d
#define FID_BITSTREAM_MARIAGE 0x360c
#define FID_PS_MARIAGE 0x260c
#define FID_DTC_MARIAGE 0x160c
#define FID_BITSTREAM_OLD_TOWN 0x360b
#define FID_PS_OLD_TOWN 0x260b
#define FID_DTC_OLD_TOWN 0x160b
#define FID_BITSTREAM_HOBO 0x360a
#define FID_PS_HOBO 0x260a
#define FID_DTC_HOBO 0x160a
#define FID_BITSTREAM_GOUDY_HEAVYFACE 0x3609
#define FID_PS_GOUDY_HEAVYFACE 0x2609
#define FID_DTC_GOUDY_HEAVYFACE 0x1609
#define FID_BITSTREAM_DATA_70 0x3608
#define FID_PS_DATA_70 0x2608
#define FID_DTC_DATA_70 0x1608
#define FID_BITSTREAM_LCD 0x3607
#define FID_PS_LCD 0x2607
#define FID_DTC_LCD 0x1607
#define FID_BITSTREAM_BALLOON 0x3606
#define FID_PS_BALLOON 0x2606
#define FID_DTC_BALLOON 0x1606
#define FID_BITSTREAM_BLIPPO_C_BLACK 0x3605
#define FID_PS_BLIPPO_C_BLACK 0x2605
#define FID_DTC_BLIPPO_C_BLACK 0x1605
#define FID_BITSTREAM_COOPER_C_BLACK 0x3604
#define FID_PS_COOPER_C_BLACK 0x2604
#define FID_DTC_COOPER_C_BLACK 0x1604
#define FID_BITSTREAM_COPPERPLATE 0x3603
#define FID_PS_COPPERPLATE 0x2603
#define FID_DTC_COPPERPLATE 0x1603
#define FID_BITSTREAM_STENCIL 0x3602
#define FID_PS_STENCIL 0x2602
#define FID_DTC_STENCIL 0x1602
#define FID_BITSTREAM_OLD_ENGLISH 0x3601
#define FID_PS_OLD_ENGLISH 0x2601
#define FID_DTC_OLD_ENGLISH 0x1601
#define FID_BITSTREAM_BROADWAY 0x3600
#define FID_PS_BROADWAY 0x2600
#define FID_DTC_BROADWAY 0x1600
#define FID_BITSTREAM_NUPITAL_SCRIPT 0x3430
#define FID_PS_NUPITAL_SCRIPT 0x2430
#define FID_DTC_NUPITAL_SCRIPT 0x1430
#define FID_BITSTREAM_MEDICI_SCRIPT 0x342f
#define FID_PS_MEDICI_SCRIPT 0x242f
#define FID_DTC_MEDICI_SCRIPT 0x142f
#define FID_BITSTREAM_CHARME 0x342e
#define FID_PS_CHARME 0x242e
#define FID_DTC_CHARME 0x142e
#define FID_BITSTREAM_CASCADE_SCRIPT 0x342d
#define FID_PS_CASCADE_SCRIPT 0x242d
#define FID_DTC_CASCADE_SCRIPT 0x142d
#define FID_BITSTREAM_LITHOS 0x342c
#define FID_PS_LITHOS 0x242c
#define FID_DTC_LITHOS 0x142c
#define FID_BITSTREAM_TEKTON 0x342b
#define FID_PS_TEKTON 0x242b
#define FID_DTC_TEKTON 0x142b
#define FID_BITSTREAM_VLADIMIR_SCRIPT 0x342a
#define FID_PS_VLADIMIR_SCRIPT 0x242a
#define FID_DTC_VLADIMIR_SCRIPT 0x142a
#define FID_BITSTREAM_VAN_DIJK 0x3429
#define FID_PS_VAN_DIJK 0x2429
#define FID_DTC_VAN_DIJK 0x1429
#define FID_BITSTREAM_SLOGAN 0x3428
#define FID_PS_SLOGAN 0x2428
#define FID_DTC_SLOGAN 0x1428
#define FID_BITSTREAM_SHAMROCK 0x3427
#define FID_PS_SHAMROCK 0x2427
#define FID_DTC_SHAMROCK 0x1427
#define FID_BITSTREAM_ROMAN_SCRIPT 0x3426
#define FID_PS_ROMAN_SCRIPT 0x2426
#define FID_DTC_ROMAN_SCRIPT 0x1426
#define FID_BITSTREAM_RAGE 0x3425
#define FID_PS_RAGE 0x2425
#define FID_DTC_RAGE 0x1425
#define FID_BITSTREAM_PRESENT_SCRIPT 0x3424
#define FID_PS_PRESENT_SCRIPT 0x2424
#define FID_DTC_PRESENT_SCRIPT 0x1424
#define FID_BITSTREAM_PHYLLIS_INITIALS 0x3423
#define FID_PS_PHYLLIS_INITIALS 0x2423
#define FID_DTC_PHYLLIS_INITIALS 0x1423
#define FID_BITSTREAM_PHYLLIS 0x3422
#define FID_PS_PHYLLIS 0x2422
#define FID_DTC_PHYLLIS 0x1422
#define FID_BITSTREAM_PEPITA 0x3421
#define FID_PS_PEPITA 0x2421
#define FID_DTC_PEPITA 0x1421
#define FID_BITSTREAM_PENDRY_SCRIPT 0x3420
#define FID_PS_PENDRY_SCRIPT 0x2420
#define FID_DTC_PENDRY_SCRIPT 0x1420
#define FID_BITSTREAM_PALETTE 0x341f
#define FID_PS_PALETTE 0x241f
#define FID_DTC_PALETTE 0x141f
#define FID_BITSTREAM_PALACE_SCRIPT 0x341e
#define FID_PS_PALACE_SCRIPT 0x241e
#define FID_DTC_PALACE_SCRIPT 0x141e
#define FID_BITSTREAM_NEVISON_CASUAL 0x341d
#define FID_PS_NEVISON_CASUAL 0x241d
#define FID_DTC_NEVISON_CASUAL 0x141d
#define FID_BITSTREAM_HILL 0x341c
#define FID_PS_HILL 0x241c
#define FID_DTC_HILL 0x141c
#define FID_BITSTREAM_LINOSCRIPT 0x341b
#define FID_PS_LINOSCRIPT 0x241b
#define FID_DTC_LINOSCRIPT 0x141b
#define FID_BITSTREAM_LINDSAY 0x341a
#define FID_PS_LINDSAY 0x241a
#define FID_DTC_LINDSAY 0x141a
#define FID_BITSTREAM_LE_GRIFFE 0x3419
#define FID_PS_LE_GRIFFE 0x2419
#define FID_DTC_LE_GRIFFE 0x1419
#define FID_BITSTREAM_KUNSTLERSCHREIBSCHRIFT 0x3418
#define FID_PS_KUNSTLERSCHREIBSCHRIFT 0x2418
#define FID_DTC_KUNSTLERSCHREIBSCHRIFT 0x1418
#define FID_BITSTREAM_JULIA_SCRIPT 0x3417
#define FID_PS_JULIA_SCRIPT 0x2417
#define FID_DTC_JULIA_SCRIPT 0x1417
#define FID_BITSTREAM_ISBELL 0x3416
#define FID_PS_ISBELL 0x2416
#define FID_DTC_ISBELL 0x1416
#define FID_BITSTREAM_ISADORA 0x3415
#define FID_PS_ISADORA 0x2415
#define FID_DTC_ISADORA 0x1415
#define FID_BITSTREAM_HOGARTH_SCRIPT 0x3414
#define FID_PS_HOGARTH_SCRIPT 0x2414
#define FID_DTC_HOGARTH_SCRIPT 0x1414
#define FID_BITSTREAM_HARLOW 0x3413
#define FID_PS_HARLOW 0x2413
#define FID_DTC_HARLOW 0x1413
#define FID_BITSTREAM_GLASTONBURY 0x3412
#define FID_PS_GLASTONBURY 0x2412
#define FID_DTC_GLASTONBURY 0x1412
#define FID_BITSTREAM_GILLIES_GOTHIC 0x3411
#define FID_PS_GILLIES_GOTHIC 0x2411
#define FID_DTC_GILLIES_GOTHIC 0x1411
#define FID_BITSTREAM_FREESTYLE_SCRIPT 0x3410
#define FID_PS_FREESTYLE_SCRIPT 0x2410
#define FID_DTC_FREESTYLE_SCRIPT 0x1410
#define FID_BITSTREAM_ENGLISCHE_SCHREIBSCHRIFT 0x340f
#define FID_PS_ENGLISCHE_SCHREIBSCHRIFT 0x240f
#define FID_DTC_ENGLISCHE_SCHREIBSCHRIFT 0x140f
#define FID_BITSTREAM_DEMIAN 0x340e
#define FID_PS_DEMIAN 0x240e
#define FID_DTC_DEMIAN 0x140e
#define FID_BITSTREAM_CANDICE 0x340d
#define FID_PS_CANDICE 0x240d
#define FID_DTC_CANDICE 0x140d
#define FID_BITSTREAM_BRONX 0x340c
#define FID_PS_BRONX 0x240c
#define FID_DTC_BRONX 0x140x
#define FID_BITSTREAM_BRODY 0x340b
#define FID_PS_BRODY 0x240b
#define FID_DTC_BRODY 0x140b
#define FID_BITSTREAM_BIBLE_SCRIPT 0x340a
#define FID_PS_BIBLE_SCRIPT 0x240a
#define FID_DTC_BIBLE_SCRIPT 0x140a
#define FID_BITSTREAM_ARISTON 0x3409
#define FID_PS_ARISTON 0x2409
#define FID_DTC_ARISTON 0x1409
#define FID_BITSTREAM_ANGLIA 0x3408
#define FID_PS_ANGLIA 0x2408
#define FID_DTC_ANGLIA 0x1408
#define FID_BITSTREAM_MISTRAL 0x3407
#define FID_PS_MISTRAL 0x2407
#define FID_DTC_MISTRAL 0x1407
#define FID_BITSTREAM_BALMORAL 0x3406
#define FID_PS_BALMORAL 0x2406
#define FID_DTC_BALMORAL 0x1406
#define FID_BITSTREAM_COMMERCIAL_SCRIPT 0x3405
#define FID_PS_COMMERCIAL_SCRIPT 0x2405
#define FID_DTC_COMMERCIAL_SCRIPT 0x1405
#define FID_BITSTREAM_KAUFMANN 0x3404
#define FID_PS_KAUFMANN 0x2404
#define FID_DTC_KAUFMANN 0x1404
#define FID_BITSTREAM_PARK_AVENUE 0x3403
#define FID_PS_PARK_AVENUE 0x2403
#define FID_DTC_PARK_AVENUE 0x1403
#define FID_BITSTREAM_BRUSH_SCRIPT 0x3402
#define FID_PS_BRUSH_SCRIPT 0x2402
#define FID_DTC_BRUSH_SCRIPT 0x1402
#define FID_BITSTREAM_VIVALDI 0x3401
#define FID_PS_VIVALDI 0x2401
#define FID_DTC_VIVALDI 0x1401
#define FID_BITSTREAM_ZAPF_CHANCERY 0x3400
#define FID_PS_ZAPF_CHANCERY 0x2400
#define FID_DTC_ZAPF_CHANCERY 0x1400
#define FID_BITSTREAM_AVANTE_GARDE_CONDENSED 0x323d
#define FID_PS_AVANTE_GARDE_CONDENSED 0x223d
#define FID_DTC_AVANTE_GARDE_CONDENSED 0x123d
#define FID_BITSTREAM_INSIGNIA 0x323c
#define FID_PS_INSIGNIA 0x223c
#define FID_DTC_INSIGNIA 0x123c
#define FID_BITSTREAM_INDUSTRIA 0x323b
#define FID_PS_INDUSTRIA 0x223b
#define FID_DTC_INDUSTRIA 0x123b
#define FID_BITSTREAM_DORIC_BOLD 0x323a
#define FID_PS_DORIC_BOLD 0x223a
#define FID_DTC_DORIC_BOLD 0x123a
#define FID_BITSTREAM_AKZINDENZ_GROTESK 0x3239
#define FID_PS_AKZINDENZ_GROTESK 0x2239
#define FID_DTC_AKZINDENZ_GROTESK 0x1239
#define FID_BITSTREAM_GROTESK 0x3238
#define FID_PS_GROTESK 0x2238
#define FID_DTC_GROTESK 0x1238
#define FID_BITSTREAM_TEMPO 0x3237
#define FID_PS_TEMPO 0x2237
#define FID_DTC_TEMPO 0x1237
#define FID_BITSTREAM_SYNTAX 0x3236
#define FID_PS_SYNTAX 0x2236
#define FID_DTC_SYNTAX 0x1236
#define FID_BITSTREAM_STONE_SANS 0x3235
#define FID_PS_STONE_SANS 0x2235
#define FID_DTC_STONE_SANS 0x1235
#define FID_BITSTREAM_SERIF_GOTHIC 0x3234
#define FID_PS_SERIF_GOTHIC 0x2234
#define FID_DTC_SERIF_GOTHIC 0x1234
#define FID_BITSTREAM_PRIMUS_ANTIQUA 0x3233
#define FID_PS_PRIMUS_ANTIQUA 0x2233
#define FID_DTC_PRIMUS_ANTIQUA 0x1233
#define FID_BITSTREAM_PRIMUS 0x3232
#define FID_PS_PRIMUS 0x2232
#define FID_DTC_PRIMUS 0x1232
#define FID_BITSTREAM_PRAXIS 0x3231
#define FID_PS_PRAXIS 0x2231
#define FID_DTC_PRAXIS 0x1231
#define FID_BITSTREAM_PANACHE 0x3230
#define FID_PS_PANACHE 0x2230
#define FID_DTC_PANACHE 0x1230
#define FID_BITSTREAM_OCR_B 0x322f
#define FID_PS_OCR_B 0x222f
#define FID_DTC_OCR_B 0x122f
#define FID_BITSTREAM_OCR_A 0x322e
#define FID_PS_OCR_A 0x222e
#define FID_DTC_OCR_A 0x122e
#define FID_BITSTREAM_NEWTEXT 0x322d
#define FID_PS_NEWTEXT 0x222d
#define FID_DTC_NEWTEXT 0x122d
#define FID_BITSTREAM_NEWS_GOTHIC 0x322c
#define FID_PS_NEWS_GOTHIC 0x222c
#define FID_DTC_NEWS_GOTHIC 0x122c
#define FID_BITSTREAM_NEUZEIT_GROTESK 0x322b
#define FID_PS_NEUZEIT_GROTESK 0x222b
#define FID_DTC_NEUZEIT_GROTESK 0x122b
#define FID_BITSTREAM_MIXAGE 0x322a
#define FID_PS_MIXAGE 0x222a
#define FID_DTC_MIXAGE 0x122a
#define FID_BITSTREAM_MAXIMA 0x3229
#define FID_PS_MAXIMA 0x2229
#define FID_DTC_MAXIMA 0x1229
#define FID_BITSTREAM_LUCIDA_SANS 0x3228
#define FID_PS_LUCIDA_SANS 0x2228
#define FID_DTC_LUCIDA_SANS 0x1228
#define FID_BITSTREAM_LITERA 0x3227
#define FID_PS_LITERA 0x2227
#define FID_DTC_LITERA 0x1227
#define FID_BITSTREAM_KABEL 0x3226
#define FID_PS_KABEL 0x2226
#define FID_DTC_KABEL 0x1226
#define FID_BITSTREAM_HOLSATIA 0x3225
#define FID_PS_HOLSATIA 0x2225
#define FID_DTC_HOLSATIA 0x1225
#define FID_BITSTREAM_HELVETICA_INSERAT 0x3224
#define FID_PS_HELVETICA_INSERAT 0x2224
#define FID_DTC_HELVETICA_INSERAT 0x1224
#define FID_BITSTREAM_NEUE_HELVETICA 0x3223
#define FID_PS_NEUE_HELVETICA 0x2223
#define FID_DTC_NEUE_HELVETICA 0x1223
#define FID_BITSTREAM_HELVETICA 0x3222
#define FID_PS_HELVETICA 0x2222
#define FID_DTC_HELVETICA 0x1222
#define FID_BITSTREAM_HAAS_UNICA 0x3221
#define FID_PS_HAAS_UNICA 0x2221
#define FID_DTC_HAAS_UNICA 0x1221
#define FID_BITSTREAM_GOUDY_SANS 0x3220
#define FID_PS_GOUDY_SANS 0x2220
#define FID_DTC_GOUDY_SANS 0x1220
#define FID_BITSTREAM_GOTHIC 0x321f
#define FID_PS_GOTHIC 0x221f
#define FID_DTC_GOTHIC 0x121f
#define FID_BITSTREAM_GILL_SANS 0x321e
#define FID_PS_GILL_SANS 0x221e
#define FID_DTC_GILL_SANS 0x121e
#define FID_BITSTREAM_GILL 0x321d
#define FID_PS_GILL 0x221d
#define FID_DTC_GILL 0x121d
#define FID_BITSTREAM_FUTURA 0x321c
#define FID_PS_FUTURA 0x221c
#define FID_DTC_FUTURA 0x121c
#define FID_BITSTREAM_FOLIO 0x321b
#define FID_PS_FOLIO 0x221b
#define FID_DTC_FOLIO 0x121b
#define FID_BITSTREAM_FLYER 0x321a
#define FID_PS_FLYER 0x221a
#define FID_DTC_FLYER 0x121a
#define FID_BITSTREAM_FETTE_MIDSCHRIFT 0x3219
#define FID_PS_FETTE_MIDSCHRIFT 0x2219
#define FID_DTC_FETTE_MIDSCHRIFT 0x1219
#define FID_BITSTREAM_FETTE_ENGSCHRIFT 0x3218
#define FID_PS_FETTE_ENGSCHRIFT 0x2218
#define FID_DTC_FETTE_ENGSCHRIFT 0x1218
#define FID_BITSTREAM_ERAS 0x3217
#define FID_PS_ERAS 0x2217
#define FID_DTC_ERAS 0x1217
#define FID_BITSTREAM_DIGI_GROTESK 0x3216
#define FID_PS_DIGI_GROTESK 0x2216
#define FID_DTC_DIGI_GROTESK 0x1216
#define FID_BITSTREAM_CORINTHIAN 0x3215
#define FID_PS_CORINTHIAN 0x2215
#define FID_DTC_CORINTHIAN 0x1215
#define FID_BITSTREAM_COMPACTA 0x3214
#define FID_PS_COMPACTA 0x2214
#define FID_DTC_COMPACTA 0x1214
#define FID_BITSTREAM_CLEARFACE_GOTHIC 0x3213
#define FID_PS_CLEARFACE_GOTHIC 0x2213
#define FID_DTC_CLEARFACE_GOTHIC 0x1213
#define FID_BITSTREAM_OPTIMA 0x3212
#define FID_PS_OPTIMA 0x2212
#define FID_DTC_OPTIMA 0x1212
#define FID_BITSTREAM_CHELMSFORD 0x3211
#define FID_PS_CHELMSFORD 0x2211
#define FID_DTC_CHELMSFORD 0x1211
#define FID_BITSTREAM_CASTLE 0x3210
#define FID_PS_CASTLE 0x2210
#define FID_DTC_CASTLE 0x1210
#define FID_BITSTREAM_BRITANNIC 0x320f
#define FID_PS_BRITANNIC 0x220f
#define FID_DTC_BRITANNIC 0x120f
#define FID_BITSTREAM_BERLINER_GROTESK 0x320e
#define FID_PS_BERLINER_GROTESK 0x220e
#define FID_DTC_BERLINER_GROTESK 0x120e
#define FID_BITSTREAM_BENGUIAT_GOTHIC 0x320d
#define FID_PS_BENGUIAT_GOTHIC 0x220d
#define FID_DTC_BENGUIAT_GOTHIC 0x120d
#define FID_BITSTREAM_AVANTE_GARDE 0x320c
#define FID_PS_AVANTE_GARDE 0x220c
#define FID_DTC_AVANTE_GARDE 0x120c
#define FID_BITSTREAM_ANZEIGEN_GROTESK 0x320b
#define FID_PS_ANZEIGEN_GROTESK 0x220b
#define FID_DTC_ANZEIGEN_GROTESK 0x120b
#define FID_BITSTREAM_ANTIQUE_OLIVE 0x320a
#define FID_PS_ANTIQUE_OLIVE 0x220a
#define FID_DTC_ANTIQUE_OLIVE 0x120a
#define FID_BITSTREAM_ALTERNATE_GOTHIC 0x3209
#define FID_PS_ALTERNATE_GOTHIC 0x2209
#define FID_DTC_ALTERNATE_GOTHIC 0x1209
#define FID_BITSTREAM_AKZIDENZ_GROTESK_BUCH 0x3208
#define FID_PS_AKZIDENZ_GROTESK_BUCH 0x2208
#define FID_DTC_AKZIDENZ_GROTESK_BUCH 0x1208
#define FID_BITSTREAM_AKZIDENZ_GROTESK 0x3207
#define FID_PS_AKZIDENZ_GROTESK 0x2207
#define FID_DTC_AKZIDENZ_GROTESK 0x1207
#define FID_BITSTREAM_AVENIR 0x3206
#define FID_PS_AVENIR 0x2206
#define FID_DTC_AVENIR 0x1206
#define FID_BITSTREAM_UNIVERS 0x3205
#define FID_PS_UNIVERS 0x2205
#define FID_DTC_UNIVERS 0x1205
#define FID_BITSTREAM_FRANKLIN_GOTHIC 0x3204
#define FID_PS_FRANKLIN_GOTHIC 0x2204
#define FID_DTC_FRANKLIN_GOTHIC 0x1204
#define FID_BITSTREAM_ANGRO 0x3203
#define FID_PS_ANGRO 0x2203
#define FID_DTC_ANGRO 0x1203
#define FID_BITSTREAM_EUROSTILE 0x3202
#define FID_PS_EUROSTILE 0x2202
#define FID_DTC_EUROSTILE 0x1202
#define FID_BITSTREAM_FRUTIGER 0x3201
#define FID_PS_FRUTIGER 0x2201
#define FID_DTC_FRUTIGER 0x1201
#define FID_BITSTREAM_URW_SANS 0x3200
#define FID_PS_URW_SANS 0x2200
#define FID_DTC_URW_SANS 0x1200
#define FID_BITSTREAM_GALLIARD_ROMAN_ITALIC 0x307e
#define FID_PS_GALLIARD_ROMAN_ITALIC 0x207e
#define FID_DTC_GALLIARD_ROMAN_ITALIC 0x107e
#define FID_BITSTREAM_GRANJON 0x307d
#define FID_PS_GRANJON 0x207d
#define FID_DTC_GRANJON 0x107d
#define FID_BITSTREAM_GARTH_GRAPHIC 0x307c
#define FID_PS_GARTH_GRAPHIC 0x207c
#define FID_DTC_GARTH_GRAPHIC 0x107c
#define FID_BITSTREAM_BAUER_BODONI 0x307b
#define FID_PS_BAUER_BODONI 0x207b
#define FID_DTC_BAUER_BODONI 0x107b
#define FID_BITSTREAM_BELWE 0x307a
#define FID_PS_BELWE 0x207a
#define FID_DTC_BELWE 0x107a
#define FID_BITSTREAM_CHARLEMAGNE 0x3079
#define FID_PS_CHARLEMAGNE 0x2079
#define FID_DTC_CHARLEMAGNE 0x1079
#define FID_BITSTREAM_TRAJAN 0x3078
#define FID_PS_TRAJAN 0x2078
#define FID_DTC_TRAJAN 0x1078
#define FID_BITSTREAM_ADOBE_GARAMOND 0x3077
#define FID_PS_ADOBE_GARAMOND 0x2077
#define FID_DTC_ADOBE_GARAMOND 0x1077
#define FID_BITSTREAM_ZAPF_INTERNATIONAL 0x3076
#define FID_PS_ZAPF_INTERNATIONAL 0x2076
#define FID_DTC_ZAPF_INTERNATIONAL 0x1076
#define FID_BITSTREAM_ZAPF_BOOK 0x3075
#define FID_PS_ZAPF_BOOK 0x2075
#define FID_DTC_ZAPF_BOOK 0x1075
#define FID_BITSTREAM_WORCESTER_ROUND 0x3074
#define FID_PS_WORCESTER_ROUND 0x2074
#define FID_DTC_WORCESTER_ROUND 0x1074
#define FID_BITSTREAM_WINDSOR 0x3073
#define FID_PS_WINDSOR 0x2073
#define FID_DTC_WINDSOR 0x1073
#define FID_BITSTREAM_WEISS 0x3072
#define FID_PS_WEISS 0x2072
#define FID_DTC_WEISS 0x1072
#define FID_BITSTREAM_WEIDEMANN 0x3071
#define FID_PS_WEIDEMANN 0x2071
#define FID_DTC_WEIDEMANN 0x1071
#define FID_BITSTREAM_WALBAUM 0x3070
#define FID_PS_WALBAUM 0x2070
#define FID_DTC_WALBAUM 0x1070
#define FID_BITSTREAM_VOLTA 0x306f
#define FID_PS_VOLTA 0x206f
#define FID_DTC_VOLTA 0x106f
#define FID_BITSTREAM_VENDOME 0x306e
#define FID_PS_VENDOME 0x206e
#define FID_DTC_VENDOME 0x106e
#define FID_BITSTREAM_VELJOVIC 0x306d
#define FID_PS_VELJOVIC 0x206d
#define FID_DTC_VELJOVIC 0x106d
#define FID_BITSTREAM_ADOBE_UTOPIA 0x306c
#define FID_PS_ADOBE_UTOPIA 0x206c
#define FID_DTC_ADOBE_UTOPIA 0x106c
#define FID_BITSTREAM_USHERWOOD 0x306b
#define FID_PS_USHERWOOD 0x206b
#define FID_DTC_USHERWOOD 0x106b
#define FID_BITSTREAM_URW_ANTIQUA 0x306a
#define FID_PS_URW_ANTIQUA 0x206a
#define FID_DTC_URW_ANTIQUA 0x106a
#define FID_BITSTREAM_TIMES_NEW_ROMAN 0x3069
#define FID_PS_TIMES_NEW_ROMAN 0x2069
#define FID_DTC_TIMES_NEW_ROMAN 0x1069
#define FID_BITSTREAM_TIMELESS 0x3068
#define FID_PS_TIMELESS 0x2068
#define FID_DTC_TIMELESS 0x1068
#define FID_BITSTREAM_TIFFANY 0x3067
#define FID_PS_TIFFANY 0x2067
#define FID_DTC_TIFFANY 0x1067
#define FID_BITSTREAM_TIEPOLO 0x3066
#define FID_PS_TIEPOLO 0x2066
#define FID_DTC_TIEPOLO 0x1066
#define FID_BITSTREAM_SWIFT 0x3065
#define FID_PS_SWIFT 0x2065
#define FID_DTC_SWIFT 0x1065
#define FID_BITSTREAM_STYMIE 0x3064
#define FID_PS_STYMIE 0x2064
#define FID_DTC_STYMIE 0x1064
#define FID_BITSTREAM_STRATFORD 0x3063
#define FID_PS_STRATFORD 0x2063
#define FID_DTC_STRATFORD 0x1063
#define FID_BITSTREAM_STONE_SERIF 0x3062
#define FID_PS_STONE_SERIF 0x2062
#define FID_DTC_STONE_SERIF 0x1062
#define FID_BITSTREAM_STONE_INFORMAL 0x3061
#define FID_PS_STONE_INFORMAL 0x2061
#define FID_DTC_STONE_INFORMAL 0x1061
#define FID_BITSTREAM_STEMPEL_SCHNEIDLER 0x3060
#define FID_PS_STEMPEL_SCHNEIDLER 0x2060
#define FID_DTC_STEMPEL_SCHNEIDLER 0x1060
#define FID_BITSTREAM_SOUVENIR 0x305f
#define FID_PS_SOUVENIR 0x205f
#define FID_DTC_SOUVENIR 0x105f
#define FID_BITSTREAM_SLIMBACH 0x305e
#define FID_PS_SLIMBACH 0x205e
#define FID_DTC_SLIMBACH 0x105e
#define FID_BITSTREAM_SERIFA 0x305d
#define FID_PS_SERIFA 0x205d
#define FID_DTC_SERIFA 0x105d
#define FID_BITSTREAM_SABON_ANTIQUA 0x305c
#define FID_PS_SABON_ANTIQUA 0x205c
#define FID_DTC_SABON_ANTIQUA 0x105c
#define FID_BITSTREAM_SABON 0x305b
#define FID_PS_SABON 0x205b
#define FID_DTC_SABON 0x105b
#define FID_BITSTREAM_ROMANA 0x305a
#define FID_PS_ROMANA 0x205a
#define FID_DTC_ROMANA 0x105a
#define FID_BITSTREAM_ROCKWELL 0x3059
#define FID_PS_ROCKWELL 0x2059
#define FID_DTC_ROCKWELL 0x1059
#define FID_BITSTREAM_RENAULT 0x3058
#define FID_PS_RENAULT 0x2058
#define FID_DTC_RENAULT 0x1058
#define FID_BITSTREAM_RALEIGH 0x3057
#define FID_PS_RALEIGH 0x2057
#define FID_DTC_RALEIGH 0x1057
#define FID_BITSTREAM_QUORUM 0x3056
#define FID_PS_QUORUM 0x2056
#define FID_DTC_QUORUM 0x1056
#define FID_BITSTREAM_PROTEUS 0x3055
#define FID_PS_PROTEUS 0x2055
#define FID_DTC_PROTEUS 0x1055
#define FID_BITSTREAM_PLANTIN 0x3054
#define FID_PS_PLANTIN 0x2054
#define FID_DTC_PLANTIN 0x1054
#define FID_BITSTREAM_PERPETUA 0x3053
#define FID_PS_PERPETUA 0x2053
#define FID_DTC_PERPETUA 0x1053
#define FID_BITSTREAM_PACELLA 0x3052
#define FID_PS_PACELLA 0x2052
#define FID_DTC_PACELLA 0x1052
#define FID_BITSTREAM_NOVARESE 0x3051
#define FID_PS_NOVARESE 0x2051
#define FID_DTC_NOVARESE 0x1051
#define FID_BITSTREAM_NIMROD 0x3050
#define FID_PS_NIMROD 0x2050
#define FID_DTC_NIMROD 0x1050
#define FID_BITSTREAM_NIKIS 0x304f
#define FID_PS_NIKIS 0x204f
#define FID_DTC_NIKIS 0x104f
#define FID_BITSTREAM_NAPOLEAN 0x304e
#define FID_PS_NAPOLEAN 0x204e
#define FID_DTC_NAPOLEAN 0x104e
#define FID_BITSTREAM_MODERN_NO_216 0x304d
#define FID_PS_MODERN_NO_216 0x204d
#define FID_DTC_MODERN_NO_216 0x104d
#define FID_BITSTREAM_MODERN 0x304c
#define FID_PS_MODERN 0x204c
#define FID_DTC_MODERN 0x104c
#define FID_BITSTREAM_MINISTER 0x304b
#define FID_PS_MINISTER 0x204b
#define FID_DTC_MINISTER 0x104b
#define FID_BITSTREAM_MESSIDOR 0x304a
#define FID_PS_MESSIDOR 0x204a
#define FID_DTC_MESSIDOR 0x104a
#define FID_BITSTREAM_MERIDIEN 0x3049
#define FID_PS_MERIDIEN 0x2049
#define FID_DTC_MERIDIEN 0x1049
#define FID_BITSTREAM_MEMPHIS 0x3048
#define FID_PS_MEMPHIS 0x2048
#define FID_DTC_MEMPHIS 0x1048
#define FID_BITSTREAM_MELIOR 0x3047
#define FID_PS_MELIOR 0x2047
#define FID_DTC_MELIOR 0x1047
#define FID_BITSTREAM_MARCONI 0x3046
#define FID_PS_MARCONI 0x2046
#define FID_DTC_MARCONI 0x1046
#define FID_BITSTREAM_MAGNUS 0x3045
#define FID_PS_MAGNUS 0x2045
#define FID_DTC_MAGNUS 0x1045
#define FID_BITSTREAM_MAGNA 0x3044
#define FID_PS_MAGNA 0x2044
#define FID_DTC_MAGNA 0x1044
#define FID_BITSTREAM_MADISON 0x3043
#define FID_PS_MADISON 0x2043
#define FID_DTC_MADISON 0x1043
#define FID_BITSTREAM_LUCIDA 0x3042
#define FID_PS_LUCIDA 0x2042
#define FID_DTC_LUCIDA 0x1042
#define FID_BITSTREAM_LUBALIN_GRAPH 0x3041
#define FID_PS_LUBALIN_GRAPH 0x2041
#define FID_DTC_LUBALIN_GRAPH 0x1041
#define FID_BITSTREAM_LIFE 0x3040
#define FID_PS_LIFE 0x2040
#define FID_DTC_LIFE 0x1040
#define FID_BITSTREAM_LEAWOOD 0x303f
#define FID_PS_LEAWOOD 0x203f
#define FID_DTC_LEAWOOD 0x103f
#define FID_BITSTREAM_KORINNA 0x303e
#define FID_PS_KORINNA 0x203e
#define FID_DTC_KORINNA 0x103e
#define FID_BITSTREAM_JENSON_OLD_STYLE 0x303d
#define FID_PS_JENSON_OLD_STYLE 0x203d
#define FID_DTC_JENSON_OLD_STYLE 0x103d
#define FID_BITSTREAM_JANSON 0x303c
#define FID_PS_JANSON 0x203c
#define FID_DTC_JANSON 0x103c
#define FID_BITSTREAM_JAMILLE 0x303b
#define FID_PS_JAMILLE 0x203b
#define FID_DTC_JAMILLE 0x103b
#define FID_BITSTREAM_ITALIA 0x303a
#define FID_PS_ITALIA 0x203a
#define FID_DTC_ITALIA 0x103a
#define FID_BITSTREAM_IMPRESSUM 0x3039
#define FID_PS_IMPRESSUM 0x2039
#define FID_DTC_IMPRESSUM 0x1039
#define FID_BITSTREAM_HOLLANDER 0x3038
#define FID_PS_HOLLANDER 0x2038
#define FID_DTC_HOLLANDER 0x1038
#define FID_BITSTREAM_HIROSHIGE 0x3037
#define FID_PS_HIROSHIGE 0x2037
#define FID_DTC_HIROSHIGE 0x1037
#define FID_BITSTREAM_HAWTHORN 0x3036
#define FID_PS_HAWTHORN 0x2036
#define FID_DTC_HAWTHORN 0x1036
#define FID_BITSTREAM_GOUDY 0x3035
#define FID_PS_GOUDY 0x2035
#define FID_DTC_GOUDY 0x1035
#define FID_BITSTREAM_GAMMA 0x3034
#define FID_PS_GAMMA 0x2034
#define FID_DTC_GAMMA 0x1034
#define FID_BITSTREAM_GALLIARD 0x3033
#define FID_PS_GALLIARD 0x2033
#define FID_DTC_GALLIARD 0x1033
#define FID_BITSTREAM_FRIZ_QUADRATA 0x3032
#define FID_PS_FRIZ_QUADRATA 0x2032
#define FID_DTC_FRIZ_QUADRATA 0x1032
#define FID_BITSTREAM_FENICE 0x3031
#define FID_PS_FENICE 0x2031
#define FID_DTC_FENICE 0x1031
#define FID_BITSTREAM_EXCELSIOR 0x3030
#define FID_PS_EXCELSIOR 0x2030
#define FID_DTC_EXCELSIOR 0x1030
#define FID_BITSTREAM_ESPRIT 0x302f
#define FID_PS_ESPRIT 0x202f
#define FID_DTC_ESPRIT 0x102f
#define FID_BITSTREAM_ELAN 0x302e
#define FID_PS_ELAN 0x202e
#define FID_DTC_ELAN 0x102e
#define FID_BITSTREAM_EGYPTIENNE 0x302d
#define FID_PS_EGYPTIENNE 0x202d
#define FID_DTC_EGYPTIENNE 0x102d
#define FID_BITSTREAM_EGIZIO 0x302c
#define FID_PS_EGIZIO 0x202c
#define FID_DTC_EGIZIO 0x102c
#define FID_BITSTREAM_EDWARDIAN 0x302b
#define FID_PS_EDWARDIAN 0x202b
#define FID_DTC_EDWARDIAN 0x102b
#define FID_BITSTREAM_EDISON 0x302a
#define FID_PS_EDISON 0x202a
#define FID_DTC_EDISON 0x102a
#define FID_BITSTREAM_DIGI_ANTIQUA 0x3029
#define FID_PS_DIGI_ANTIQUA 0x2029
#define FID_DTC_DIGI_ANTIQUA 0x1029
#define FID_BITSTREAM_DEMOS 0x3028
#define FID_PS_DEMOS 0x2028
#define FID_DTC_DEMOS 0x1028
#define FID_BITSTREAM_CUSHING 0x3027
#define FID_PS_CUSHING 0x2027
#define FID_DTC_CUSHING 0x1027
#define FID_BITSTREAM_CORONA 0x3026
#define FID_PS_CORONA 0x2026
#define FID_DTC_CORONA 0x1026
#define FID_BITSTREAM_CONGRESS 0x3025
#define FID_PS_CONGRESS 0x2025
#define FID_DTC_CONGRESS 0x1025
#define FID_BITSTREAM_CONCORDE_NOVA 0x3024
#define FID_PS_CONCORDE_NOVA 0x2024
#define FID_DTC_CONCORDE_NOVA 0x1024
#define FID_BITSTREAM_CONCORDE 0x3023
#define FID_PS_CONCORDE 0x2023
#define FID_DTC_CONCORDE 0x1023
#define FID_BITSTREAM_CLEARFACE 0x3022
#define FID_PS_CLEARFACE 0x2022
#define FID_DTC_CLEARFACE 0x1022
#define FID_BITSTREAM_CLARENDON 0x3021
#define FID_PS_CLARENDON 0x2021
#define FID_DTC_CLARENDON 0x1021
#define FID_BITSTREAM_CHELTENHAM 0x3020
#define FID_PS_CHELTENHAM 0x2020
#define FID_DTC_CHELTENHAM 0x1020
#define FID_BITSTREAM_CENTURY_OLD_STYLE 0x301f
#define FID_PS_CENTURY_OLD_STYLE 0x201f
#define FID_DTC_CENTURY_OLD_STYLE 0x101f
#define FID_BITSTREAM_CENTURY 0x301e
#define FID_PS_CENTURY 0x201e
#define FID_DTC_CENTURY 0x101e
#define FID_BITSTREAM_CENTENNIAL 0x301d
#define FID_PS_CENTENNIAL 0x201d
#define FID_DTC_CENTENNIAL 0x101d
#define FID_BITSTREAM_CAXTON 0x301c
#define FID_PS_CAXTON 0x201c
#define FID_DTC_CAXTON 0x101c
#define FID_BITSTREAM_ADOBE_CASLON 0x301b
#define FID_PS_ADOBE_CASLON 0x201b
#define FID_DTC_ADOBE_CASLON 0x101b
#define FID_BITSTREAM_CASLON 0x301a
#define FID_PS_CASLON 0x201a
#define FID_DTC_CASLON 0x101a
#define FID_BITSTREAM_CANDIDA 0x3019
#define FID_PS_CANDIDA 0x2019
#define FID_DTC_CANDIDA 0x1019
#define FID_BITSTREAM_BOOKMAN 0x3018
#define FID_PS_BOOKMAN 0x2018
#define FID_DTC_BOOKMAN 0x1018
#define FID_BITSTREAM_BASKERVILLE_HANDCUT 0x3017
#define FID_PS_BASKERVILLE_HANDCUT 0x2017
#define FID_DTC_BASKERVILLE_HANDCUT 0x1017
#define FID_BITSTREAM_BASKERVILLE 0x3016
#define FID_PS_BASKERVILLE 0x2016
#define FID_DTC_BASKERVILLE 0x1016
#define FID_BITSTREAM_BASILIA 0x3015
#define FID_PS_BASILIA 0x2015
#define FID_DTC_BASILIA 0x1015
#define FID_BITSTREAM_BARBEDOR 0x3014
#define FID_PS_BARBEDOR 0x2014
#define FID_DTC_BARBEDOR 0x1014
#define FID_BITSTREAM_AUREALIA 0x3013
#define FID_PS_AUREALIA 0x2013
#define FID_DTC_AUREALIA 0x1013
#define FID_BITSTREAM_NEW_ASTER 0x3012
#define FID_PS_NEW_ASTER 0x2012
#define FID_DTC_NEW_ASTER 0x1012
#define FID_BITSTREAM_ASTER 0x3011
#define FID_PS_ASTER 0x2011
#define FID_DTC_ASTER 0x1011
#define FID_BITSTREAM_AMERICANA 0x3010
#define FID_PS_AMERICANA 0x2010
#define FID_DTC_AMERICANA 0x1010
#define FID_BITSTREAM_AACHEN 0x300f
#define FID_PS_AACHEN 0x200f
#define FID_DTC_AACHEN 0x100f
#define FID_BITSTREAM_NICOLAS_COCHIN 0x300e
#define FID_PS_NICOLAS_COCHIN 0x200e
#define FID_DTC_NICOLAS_COCHIN 0x100e
#define FID_BITSTREAM_COCHIN 0x300d
#define FID_PS_COCHIN 0x200d
#define FID_DTC_COCHIN 0x100d
#define FID_BITSTREAM_ALBERTUS 0x300c
#define FID_PS_ALBERTUS 0x200c
#define FID_DTC_ALBERTUS 0x100c
#define FID_BITSTREAM_ACCOLADE 0x300b
#define FID_PS_ACCOLADE 0x200b
#define FID_DTC_ACCOLADE 0x100b
#define FID_BITSTREAM_PALATINO 0x300a
#define FID_PS_PALATINO 0x200a
#define FID_DTC_PALATINO 0x100a
#define FID_BITSTREAM_GOUDY_OLD_STYLE 0x3009
#define FID_PS_GOUDY_OLD_STYLE 0x2009
#define FID_DTC_GOUDY_OLD_STYLE 0x1009
#define FID_BITSTREAM_BERKELEY_OLD_STYLE 0x3008
#define FID_PS_BERKELEY_OLD_STYLE 0x2008
#define FID_DTC_BERKELEY_OLD_STYLE 0x1008
#define FID_BITSTREAM_ARSIS 0x3007
#define FID_PS_ARSIS 0x2007
#define FID_DTC_ARSIS 0x1007
#define FID_BITSTREAM_UNIVERSITY_ROMAN 0x3006
#define FID_PS_UNIVERSITY_ROMAN 0x2006
#define FID_DTC_UNIVERSITY_ROMAN 0x1006
#define FID_BITSTREAM_BEMBO 0x3005
#define FID_PS_BEMBO 0x2005
#define FID_DTC_BEMBO 0x1005
#define FID_BITSTREAM_GARAMOND 0x3004
#define FID_PS_GARAMOND 0x2004
#define FID_DTC_GARAMOND 0x1004
#define FID_BITSTREAM_GLYPHA 0x3003
#define FID_PS_GLYPHA 0x2003
#define FID_DTC_GLYPHA 0x1003
#define FID_BITSTREAM_BODONI 0x3002
#define FID_PS_BODONI 0x2002
#define FID_DTC_BODONI 0x1002
#define FID_BITSTREAM_CENTURY_SCHOOLBOOK 0x3001
#define FID_PS_CENTURY_SCHOOLBOOK 0x2001
#define FID_DTC_CENTURY_SCHOOLBOOK 0x1001
#define FID_BITSTREAM_URW_ROMAN 0x3000
#define FID_PS_TIMES_ROMAN 0x2000
#define FID_DTC_URW_ROMAN 0x1000
#define FID_WINDOWS 0x0a01
#define FID_BISON 0x0a00
#define FID_LED 0x0600
#define FID_PMSYSTEM 0x0203
#define FID_BERKELEY 0x0202
#define FID_UNIVERSITY 0x0201
#define FID_CHICAGO 0x0200
#define FID_ROMA 0x0001
#define FID_INVALID 0x0000 Fonts are normally referenced by FontID.
Include: fontID.h
FontMaker
typedef word FontMaker;
#define FM_PRINTER 0xf000
#define FM_MICROLOGIC 0xe000
#define FM_ATECH 0xd000
#define FM_PUBLIC 0xc000
#define FM_AGFA 0x4000
#define FM_BITSTREAM 0x3000
#define FM_ADOBE 0x2000
#define FM_NIMBUSQ 0x1000
#define FM_BITMAP 0x0000 **Include:** fontID.h
FontMap
typedef byte FontMap;
#define FM_DONT_USE 0x00ff
#define FM_EXACT 0x0000 **Include:** fontID.h
FontWeight
typedef ByteEnum FontWeight;
#define FW_ULTRA_LIGHT 0
#define FW_EXTRA_LIGHT 1
#define FW_LIGHT 2
#define FW_BOOK 3
#define FW_NORMAL 4
#define FW_DEMI 5
#define FW_BOLD 6
#define FW_EXTRA_BOLD 7
#define FW_ULTRA_BOLD 8
#define FW_BLACK 9 **Include:** font.h
FontWidth
typedef ByteEnum FontWidth;
#define FWI_NARROW 0
#define FWI_CONDENSED 1
#define FWI_MEDIUM 2
#define FWI_WIDE 3
#define FWI_EXPANDED 4 **Include:** font.h
FormatArray
typedef ClipboardItemFormatInfo FormatArray[CLIPBOARD_MAX_FORMATS];
FormatError
typedef ByteEnum FormatError;
#define FMT_DONE 0
#define FMT_READY 1
#define FMT_RUNNING 2
#define FMT_DRIVE_NOT_READY 3
#define FMT_ERR_WRITING_BOOT 4
#define FMT_ERR_WRITING_ROOT_DIR 5
#define FMT_ERR_WRITING_FAT 6
#define FMT_ABORTED 7
#define FMT_SET_VOLUME_NAME_ERR 8
#define FMT_CANNOT_FORMAT_FIXED_DISKS_IN_CUR_RELEASE 9
#define FMT_BAD_PARTITION_TABLE 10
#define FMT_ERR_READING_PARTITION_TABLE 11
#define FMT_ERR_NO_PARTITION_FOUND 12
#define FMT_ERR_MULTIPLE_PRIMARY_PARTITIONS 13
#define FMT_ERR_NO_EXTENDED_PARTITION_FOUND 14
#define FMT_ERR_CANNOT_ALLOC_SECTOR_BUFFER 15
#define FMT_ERR_DISK_IS_IN_USE 16
#define FMT_ERR_WRITE_PROTECTED 17
#define FMT_ERR_DRIVE_CANNOT_SUPPORT_GIVEN_FORMAT 18
#define FMT_ERR_INVALID_DRIVE_SPECIFIED 19
#define FMT_ERR_DRIVE_CANNOT_BE_FORMATTED 20
#define FMT_ERR_DISK_UNAVAILABLE 21
FunctionID
typedef enum /* word */ {
FUNCTION_ID_ABS,
FUNCTION_ID_ACOS,
FUNCTION_ID_ACOSH,
FUNCTION_ID_AND,
FUNCTION_ID_ASIN,
FUNCTION_ID_ASINH,
FUNCTION_ID_ATAN,
FUNCTION_ID_ATAN2,
FUNCTION_ID_ATANH,
FUNCTION_ID_AVG,
FUNCTION_ID_CHAR,
FUNCTION_ID_CHOOSE,
FUNCTION_ID_CLEAN,
FUNCTION_ID_CODE,
FUNCTION_ID_COLS,
FUNCTION_ID_COS,
FUNCTION_ID_COSH,
FUNCTION_ID_COUNT,
FUNCTION_ID_CTERM,
FUNCTION_ID_DATE,
FUNCTION_ID_DATEVALUE,
FUNCTION_ID_DAY,
FUNCTION_ID_DDB,
FUNCTION_ID_ERR,
FUNCTION_ID_EXACT,
FUNCTION_ID_EXP,
FUNCTION_ID_FACT,
FUNCTION_ID_FALSE,
FUNCTION_ID_FIND,
FUNCTION_ID_FV,
FUNCTION_ID_HLOOKUP,
FUNCTION_ID_HOUR,
FUNCTION_ID_IF,
FUNCTION_ID_INDEX,
FUNCTION_ID_INT,
FUNCTION_ID_IRR,
FUNCTION_ID_ISERR,
FUNCTION_ID_ISNUMBER,
FUNCTION_ID_ISSTRING,
FUNCTION_ID_LEFT,
FUNCTION_ID_LENGTH,
FUNCTION_ID_LN,
FUNCTION_ID_LOG,
FUNCTION_ID_LOWER,
FUNCTION_ID_MAX,
FUNCTION_ID_MID,
FUNCTION_ID_MIN,
FUNCTION_ID_MINUTE,
FUNCTION_ID_MOD,
FUNCTION_ID_MONTH,
FUNCTION_ID_N,
FUNCTION_ID_NA,
FUNCTION_ID_NOW,
FUNCTION_ID_NPV,
FUNCTION_ID_OR,
FUNCTION_ID_PI,
FUNCTION_ID_PMT,
FUNCTION_ID_PRODUCT,
FUNCTION_ID_PROPER,
FUNCTION_ID_PV,
FUNCTION_ID_RANDOM_N,
FUNCTION_ID_RANDOM,
FUNCTION_ID_RATE,
FUNCTION_ID_REPEAT,
FUNCTION_ID_REPLACE,
FUNCTION_ID_RIGHT,
FUNCTION_ID_ROUND,
FUNCTION_ID_ROWS,
FUNCTION_ID_SECOND,
FUNCTION_ID_SIN,
FUNCTION_ID_SINH,
FUNCTION_ID_SLN,
FUNCTION_ID_SQRT,
FUNCTION_ID_STD,
FUNCTION_ID_STDP,
FUNCTION_ID_STRING,
FUNCTION_ID_SUM,
FUNCTION_ID_SYD,
FUNCTION_ID_TAN,
FUNCTION_ID_TANH,
FUNCTION_ID_TERM,
FUNCTION_ID_TIME,
FUNCTION_ID_TIMEVALUE,
FUNCTION_ID_TODAY,
FUNCTION_ID_TRIM,
FUNCTION_ID_TRUE,
FUNCTION_ID_TRUNC,
FUNCTION_ID_UPPER,
FUNCTION_ID_VALUE,
FUNCTION_ID_VAR,
FUNCTION_ID_VARP,
FUNCTION_ID_VLOOKUP,
FUNCTION_ID_WEEKDAY,
FUNCTION_ID_YEAR,
FUNCTION_ID_FILENAME,
FUNCTION_ID_PAGE,
FUNCTION_ID_PAGES,
FUNCTION_ID_FIRST_EXTERNAL_FUNCTION=FUNCTION_ID_FIRST_EXTERNAL_FUNCTION_BASE
} FunctionID;
GCM_info
typedef enum /* word */ {
GCMI_MIN_X,
GCMI_MIN_X_ROUNDED,
GCMI_MIN_Y,
GCMI_MIN_Y_ROUNDED,
GCMI_MAX_X,
GCMI_MAX_X_ROUNDED,
GCMI_MAX_Y,
GCMI_MAX_Y_ROUNDED,
} GCM_info;
GCNDriveChangeNotificationType
typedef enum {
GCNDCNT_CREATED,
GCNDCNT_DESTROYED
} GCNDriveChangeNotificationType;
GCNExpressMenuNotificationType
typedef enum {
GCNEMNT_CREATED,
GCNEMNT_DESTROYED
} GCNExpressMenuNotificationType;
GCNListBlockHeader
typedef struct {
LMemBlockHeader GCNLBH_lmemHeader;
ChunkHandle GCNLBH_listOfLists;
} GCNListBlockHeader;
GCNListElement
typedef struct {
optr GCNLE_item;
} GCNListElement;
GCNListHeader
typedef struct {
ChunkArrayHeader GCNLH_meta;
word GCNLH_statusEvent;
MemHandle GCNLH_statusData;
word GCNLH_statusCount;
/* Start of GCNListOfListElements */
} GCNListHeader;
GCNListOfListsElement
typedef struct {
GCNListType GCNLOLE_ID;
ChunkHandle GCNLOLE_list;
} GCNListOfListsElement;
GCNListOfListsHeader
typedef struct {
ChunkArrayHeader GCNLOL_meta;
/* Start of GCNListOfListsElements */
} GCNListOfListsHeader;
GCNListParams
typedef struct {
GCNListType GCNLP_ID;
optr GCNLP_optr;
} GCNListParams;
GCNListSendFlags
typedef WordFlags GCNListSendFlags;
#define GCNLSF_SET_STATUS 0x8000
#define GCNLSF_IGNORE_IF_STATUS_TRANSITIONING 0x4000
GCNListType
typedef struct {
word GCNLT_manuf;
word GCNLT_type;
} GCNListType;
GCNListTypeFlags
typedef WordFlags GCNListTypeFlags;
#define GCNLTF_SAVE_TO_STATE 0x8000
GCNShutdownControlType
typedef enum {
GCNSCT_SUSPEND,
GCNSCT_SHUTDOWN,
GCNSCT_UNSUSPEND
} GCNShutdownControlType;
GCNStandardListType
typedef enum {
GCNSLT_FILE_SYSTEM,
GCNSLT_APPLICATION,
GCNSLT_DATE_TIME,
GCNSLT_DICTIONARY,
GCNSLT_EXPRESS_MENU,
GCNSLT_SHUTDOWN_CONTROL
} GCNStandardListType;
GenAppGCNListTypes
typedef enum /* word */ {
GAGCNLT_GEN_CONTROL_OBJECTS,
GAGCNLT_GEN_CONTROL_NOTIFY_STATUS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SELECT_STATE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_SHEET_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_CHAR_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_PARA_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_TYPE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_SELECTION_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_COUNT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_STYLE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FONT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_POINT_SIZE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FONT_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_JUSTIFICATION_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_FG_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_BG_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_CHART_TYPE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_CHART_GROUP_FLAGS,
GAGCNLT_APP_TARGET_NOTIFY_CHART_AXIS_ATTRIBUTES,
GAGCNLT_APP_TARGET_NOTIFY_CHART_MARKER_SHAPE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_EXPRESSION_BUILDER_STATUS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_PROPERTIES_STATUS_CHANGE,
GAGCNLT_APP_NOTIFY_DOC_SIZE_CHANGE,
GAGCNLT_APP_NOTIFY_PAPER_SIZE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_VIEW_STATE_CHANGE,
GAGCNLT_CONTROLLED_GEN_VIEW_OBJECTS
} GenAppGCNListTypes;
GeneralEvent
typedef enum {
GE_NO_EVENT=0, /* dummy event (NOP) */
GE_END_OF_SONG=2, /* marks end of song */
GE_SET_PRIORITY=4, /* changes sound priority */
GE_SET_TEMPO=6, /* changes sound tempo */
GE_SEND_NOTIFICATION=8, /* sends encoded message */
GE_V_SEMAPHORE=10 /* V's a specified semaphore*/
} GeneralEvent; These represent some of the miscellaneous events which can make up a music buffer.
GenTravelOption
The GenClass defines some values meant to be used in the place of a TravelOption enumerated value. See TravelOption.
GeodeAttrs
typedef WordFlags GeodeAttrs;
#define GA_PROCESS 0x8000
#define GA_LIBRARY 0x4000
#define GA_DRIVER 0x2000
#define GA_KEEP_FILE_OPEN 0x1000
#define GA_SYSTEM 0x0800
#define GA_MULTI_LAUNCHABLE 0x0400
#define GA_APPLICATION 0x0200
#define GA_DRIVER_INITIALIZED 0x0100
#define GA_LIBRARY_INITIALIZED 0x0080
#define GA_GEODE_INITIALIZED 0x0040
#define GA_USES_COPROC 0x0020
#define GA_REQUIRES_COPROC 0x0010
#define GA_HAS_GENERAL_CONSUMER_MODE 0x0008
#define GA_ENTRY_POINTS_IN_C 0x0004
GeodeDefaultDriverType
typedef enum {
GDDT_FILE_SYSTEM = 0, /* File system driver */
GDDT_KEYBOARD = 2, /* Keyboard driver */
GDDT_MOUSE = 4, /* Mouse driver */
GDDT_VIDEO = 6, /* Video driver */
GDDT_MEMORY_VIDEO = 8, /* Vidmem driver */
GDDT_POWER_MANAGEMENT = 10 /* Power management driver */
GDDT_TASK = 12 /* Task driver */
} GeodeDefaultDriverType; The default driver type has one value for each default driver type in GEOS. This type is used with **GeodeGetDefaultDriver()** and **GeodeSetDefaultDriver()**.
GeodeGetInfoType
typedef enum /* word */ {
GGIT_ATTRIBUTES=0,
GGIT_TYPE=2,
GGIT_GEODE_RELEASE=4,
GGIT_GEODE_PROTOCOL=6,
GGIT_TOKEN_ID=8,
GGIT_PERM_NAME_AND_EXT=10,
GGIT_PERM_NAME_ONLY=12,
} GeodeGetInfoType;
GeodeHandle
typedef Handle GeodeHandle; A standard handle that contains information about a loaded geode. When a geode has been loaded, it is referred to by its handle.
GeodeHeapVars
typedef struct {
word GHV_heapSpace;
} GeodeHeapVars;
GeodeLoadError
typedef enum {
GLE_PROTOCOL_IMPORTER_TOO_RECENT,
GLE_PROTOCOL_IMPORTER_TOO_OLD,
GLE_FILE_NOT_FOUND,
GLE_LIBRARY_NOT_FOUND,
GLE_FILE_READ_ERROR,
GLE_NOT_GEOS_FILE,
GLE_NOT_GEOS_EXECUTABLE_FILE,
GLE_ATTRIBUTE_MISMATCH,
GLE_MEMORY_ALLOCATION_ERROR,
GLE_NOT_MULTI_LAUNCHABLE,
GLE_LIBRARY_PROTOCOL_ERROR,
GLE_LIBRARY_LOAD_ERROR,
GLE_DRIVER_INIT_ERROR,
GLE_LIBRARY_INIT_ERROR,
GLE_DISK_TOO_FULL,
GLE_FIELD_DETACHING,
} GeodeLoadError; These errors may be returned by routines that load geodes, including **UserLoadApplication()**, **GeodeUseLibrary()**, **GeodeUseDriver()**, and **GeodeLoad()**.
GeodeToken
typedef struct {
TokenChars GT_chars;
ManufacturerID GT_manufID;
} GeodeToken; Defines a token identifier. The *GT_chars* field is four characters that identify the token; *GT_manufID* is the identifying number of the manufacturer of the item being referenced.
GeosFileHeaderFlags
typedef WordFlags GeosFileHeaderFlags;
#define GFHF_TEMPLATE 0x8000
#define GFHF_SHARED_MULTIPLE 0x4000
#define GFHF_SHARED_SINGLE 0x2000
GeosFileType
typedef enum /* word */ {
GFT_NOT_GEOS_FILE,
GFT_EXECUTABLE,
GFT_VM,
GFT_DATA,
GFT_DIRECTORY,
GFT_LINK
} GeosFileType; GEOS files are divided into several broad categories. You can find out a file's category by getting its FEA_FILE_TYPE extended attribute. This attribute is a member of the **GeosFileType** enumerated type. This type has the following values:
GFT_NOT_GEOS_FILE
The file is not a GEOS file. This constant is guaranteed to be equal to zero.
GFT_EXECUTABLE
The file is executable; in other words, it is some kind of geode.
GFT_VM
The file is a VM file.
GFT_DATA
The file is a GEOS byte file (see below).
GFT_DIRECTORY
The file is a GEOS directory (not yet implemented).
GFT_LINK
The file is a symbolic link (not yet implemented).
GeoWorksGenAppGCNListType
typedef enum /* word */ {
GAGCNLT_SELF_LOAD_OPTIONS = 0x6800,
GAGCNLT_GEN_CONTROL_NOTIFY_STATUS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SELECT_STATE_CHANGE,
GAGCNLT_EDIT_CONTROL_NOTIFY_UNDO_STATE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_CHAR_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_PARA_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_TYPE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_SELECTION_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_COUNT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_TEXT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_SHEET_TEXT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_STYLE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FONT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_POINT_SIZE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FONT_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_JUSTIFICATION_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_FG_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_BG_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_PARA_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_BORDER_COLOR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SEARCH_SPELL_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SEARCH_REPLACE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_CHART_TYPE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_CHART_GROUP_FLAGS,
GAGCNLT_APP_TARGET_NOTIFY_CHART_AXIS_ATTRIBUTES,
GAGCNLT_APP_TARGET_NOTIFY_CHART_MARKER_SHAPE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_CURRENT_TOOL_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_BODY_SELECTION_STATE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_AREA_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_LINE_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_TEXT_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_GROBJ_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_STYLE_SHEET_GROBJ_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_BODY_INSTRUCTION_FLAGS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_GROBJ_GRADIENT_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_RULER_TYPE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_RULER_GRID_CHANGE,
GAGCNLT_TEXT_RULER_OBJECTS,
GAGCNLT_APP_TARGET_NOTIFY_BITMAP_CURRENT_TOOL_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_BITMAP_CURRENT_FORMAT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_PROPERTIES_STATUS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_LIST_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_RCP_STATUS_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_FIELD_APPEARANCE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_DUMMY_CHANGE_2,
GAGCNLT_APP_TARGET_NOTIFY_FLAT_FILE_DUMMY_CHANGE_3,
GAGCNLT_APP_NOTIFY_DOC_SIZE_CHANGE,
GAGCNLT_APP_NOTIFY_PAPER_SIZE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_VIEW_STATE_CHANGE,
GAGCNLT_CONTROLLED_GEN_VIEW_OBJECTS,
GAGCNLT_APP_TARGET_NOTIFY_INK_STATE_CHANGE,
GAGCNLT_CONTROLLED_INK_OBJECTS,
GAGCNLT_APP_TARGET_NOTIFY_PAGE_STATE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_DOCUMENT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_DISPLAY_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_DISPLAY_LIST_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_MARKER_SHAPE,
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_POINT,
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_POLYLINE,
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_SMOOTHNESS,
GAGCNLT_APP_TARGET_NOTIFY_SPLINE_OPEN_CLOSE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_ACTIVE_CELL_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_EDIT_BAR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_SELECTION_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_WIDTH_HEIGHT_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_DOC_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_ATTR_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_CELL_NOTES_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_SPREADSHEET_DATA_RANGE_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_TEXT_NAME_CHANGE,
GAGCNLT_FLOAT_FORMAT_CHANGE,
GAGCNLT_DISPLAY_OBJECTS_WITH_RULERS,
GAGCNLT_APP_TARGET_NOTIFY_APP_CHANGE,
GAGCNLT_APP_TARGET_NOTIFY_LIBRARY_CHANGE,
GAGCNLT_WINDOWS,
GAGCNLT_STARTUP_LOAD_OPTIONS
} GeoWorksGenAppGCNListType;
GeoWorksMetaGCNListType
typedef enum /* word */ {
MGCNLT_ACTIVE_LIST = 0x00,
MGCNLT_APP_STARTUP = 0x02
} GeoWorksMetaGCNListType;
GeoWorksNotificationType
typedef enum {
GWNT_INK,
GWNT_GEN_CONTROL_NOTIFY_STATUS_CHANGE,
GWNT_SELECT_STATE_CHANGE,
GWNT_UNDO_STATE_CHANGE,
GWNT_STYLE_CHANGE,
GWNT_STYLE_SHEET_CHANGE,
GWNT_TEXT_CHAR_ATTR_CHANGE,
GWNT_TEXT_PARA_ATTR_CHANGE,
GWNT_TEXT_TYPE_CHANGE,
GWNT_TEXT_SELECTION_CHANGE,
GWNT_TEXT_COUNT_CHANGE,
GWNT_TEXT_STYLE_CHANGE,
GWNT_FONT_CHANGE,
GWNT_POINT_SIZE_CHANGE,
GWNT_FONT_ATTR_CHANGE,
GWNT_JUSTIFICATION_CHANGE,
GWNT_TEXT_FG_COLOR_CHANGE,
GWNT_TEXT_BG_COLOR_CHANGE,
GWNT_TEXT_PARA_COLOR_CHANGE,
GWNT_TEXT_BORDER_COLOR_CHANGE,
GWNT_SEARCH_REPLACE_ENABLE_CHANGE,
GWNT_SPELL_ENABLE_CHANGE,
GWNT_CHART_TYPE_CHANGE,
GWNT_CHART_GROUP_FLAGS,
GWNT_CHART_AXIS_ATTRIBUTES,
GWNT_GROBJ_CURRENT_TOOL_CHANGE,
GWNT_GROBJ_BODY_SELECTION_STATE_CHANGE,
GWNT_GROBJ_AREA_ATTR_CHANGE,
GWNT_GROBJ_LINE_ATTR_CHANGE,
GWNT_GROBJ_TEXT_ATTR_CHANGE,
GWNT_GROBJ_BODY_INSTRUCTION_FLAGS_CHANGE,
GWNT_GROBJ_GRADIENT_ATTR_CHANGE,
GWNT_RULER_TYPE_CHANGE,
GWNT_RULER_GRID_CHANGE,
GWNT_RULER_GUIDE_CHANGE,
GWNT_BITMAP_CURRENT_TOOL_CHANGE,
GWNT_BITMAP_CURRENT_FORMAT_CHANGE,
GWNT_FLAT_FILE_FIELD_PROPERTIES_STATUS_CHANGE,
GWNT_FLAT_FILE_FIELD_LIST_CHANGE,
GWNT_FLAT_FILE_RCP_STATUS_CHANGE,
GWNT_FLAT_FIELD_APPEARANCE_CHANGE,
GWNT_FLAT_FILE_DUMMY_CHANGE_2,
GWNT_FLAT_FILE_DUMMY_CHANGE_3,
GWNT_SPOOL_DOC_OR_PAPER_SIZE,
GWNT_VIEW_STATE_CHANGE,
GWNT_INK_HAS_TARGET,
GWNT_PAGE_STATE_CHANGE,
GWNT_DOCUMENT_CHANGE,
GWNT_DISPLAY_CHANGE,
GWNT_DISPLAY_LIST_CHANGE,
GWNT_SPLINE_MARKER_SHAPE,
GWNT_SPLINE_POINT,
GWNT_SPLINE_POLYLINE,
GWNT_SPLINE_SMOOTHNESS,
GWNT_SPLINE_OPEN_CLOSE_CHANGE,
GWNT_UNUSED_1,
GWNT_SPREADSHEET_ACTIVE_CELL_CHANGE,
GWNT_SPREADSHEET_EDIT_BAR_CHANGE,
GWNT_SPREADSHEET_SELECTION_CHANGE,
GWNT_SPREADSHEET_CELL_WIDTH_HEIGHT_CHANGE,
GWNT_SPREADSHEET_DOC_ATTR_CHANGE,
GWNT_SPREADSHEET_CELL_ATTR_CHANGE,
GWNT_SPREADSHEET_CELL_NOTES_CHANGE,
GWNT_SPREADSHEET_DATA_RANGE_CHANGE,
GWNT_FLOAT_FORMAT_CHANGE,
GWNT_MAP_APP_CHANGE,
GWNT_MAP_LIBRARY_CHANGE,
GWNT_TEXT_NAME_CHANGE,
GWNT_CARD_BACK_CHANGE,
GWNT_TEXT_OBJECT_HAS_FOCUS,
GWNT_TEXT_CONTEXT,
GWNT_TEXT_REPLACE_WITH_HWR,
GWNT_HELP_CONTEXT_CHANGE,
GWNT_FLOAT_FORMAT_INIT,
GWNT_HARD_ICON_BAR_FUNCTION,
GWNT_STARTUP_INDEXED_APP,
GWNT_SPOOL_PRINTING_COMPLETE,
GWNT_MODAL_WIN_CHANGE,
GWNT_SPREADSHEET_NAME_CHANGE,
GWNT_DOCUMENT_OPEN_COMPLETE,
GWNT_EMAIL_SCAN_INBOX,
GWNT_FOCUS_WINDOW_KBD_STATUS,
GWNT_TAB_DOUBLE_CLICK,
GWNT_PAGE_INFO_STATE_CHANGE,
GWNT_CURSOR_POSITION_CHANGE,
GWNT_FAX_NEW_JOB_CREATED,
GWNT_FAX_NEW_JOB_COMPLETED,
GWNT_EMAIL_DATABASE_CHANGE,
GWNT_EMAIL_STATUS_CHANGE,
GWNT_EMAIL_PAGE_PANEL_UPDATE,
GWNT_PCCOM_DISPLAY_CHAR,
GWNT_PCCOM_DISPLAY_STRING,
GWNT_PCCOM_EXIT
} GeoWorksNotificationType;
GeoWorksVisContentGCNListType
typedef enum {
VCGCNLT_TARGET_NOTIFY_TEXT_PARA_ATTR_CHANGE = 0x4a00,
PADDING_VCGCNLT_INVALID_ITEM_000
} GeoWorksVisContentGCNListType;
GetMaskType
typedef ByteEnum GetMaskType;
#define GMT_ENUM 0
#define GMT_BUFFER 1
GetPalType
typedef ByteEnum GetPalType;
#define GPT_ACTIVE 0
#define GPT_CUSTOM 1
#define GPT_DEFAULT 2
GFM_info
typedef enum /* word */ {
GFMI_HEIGHT=0, /* 0 */
GFMI_HEIGHT_ROUNDED=1,
GFMI_MEAN=2,
GFMI_MEAN_ROUNDED=3,
GFMI_DESCENT=4,
GFMI_DESCENT_ROUNDED=5,
GFMI_BASELINE=6,
GFMI_BASELINE_ROUNDED=7,
GFMI_LEADING=8,
GFMI_LEADING_ROUNDED=9,
GFMI_AVERAGE_WIDTH=10, /* 10 */
GFMI_AVERAGE_WIDTH_ROUNDED=11,
GFMI_ASCENT=12,
GFMI_ASCENT_ROUNDED=13,
GFMI_MAX_WIDTH=14,
GFMI_MAX_WIDTH_ROUNDED=15,
GFMI_MAX_ADJUSTED_HEIGHT=16,
GFMI_MAX_ADJUSTED_HEIGHT_ROUNDED=17,
GFMI_UNDER_POS=18,
GFMI_UNDER_POS_ROUNDED=19,
GFMI_UNDER_THICKNESS=20, /* 20 */
GFMI_UNDER_THICKNESS_ROUNDED=21,
GFMI_ABOVE_BOX=22,
GFMI_ABOVE_BOX_ROUNDED=23,
GFMI_ACCENT=24,
GFMI_ACCENT_ROUNDED=25,
GFMI_MANUFACTURER=26, /* 26 */
GFMI_KERN_COUNT=28, /* 28 */
GFMI_FIRST_CHAR=30, /* 30 */
GFMI_LAST_CHAR=32, /* 32 */
GFMI_DEFAULT_CHAR=34, /* 34 */
GFMI_STRIKE_POS=36, /* 36 */
GFMI_STRIKE_POS_ROUNDED=37,
GFMI_BELOW_BOX=38,
GFMI_BELOW_BOX_ROUNDED=39,
} GFM_info;
GraphicPattern
typedef struct {
PatternType HP_type;
byte HP_data;
} GraphicPattern;
GSControl
typedef WordFlags GSControl;
#define GSC_PARTIAL 0x0200
#define GSC_ONE 0x0100
#define GSC_MISC 0x0080
#define GSC_LABEL 0x0040
#define GSC_ESCAPE 0x0020
#define GSC_NEW_PAGE 0x0010
#define GSC_XFORM 0x0008
#define GSC_OUTPUT 0x0004
#define GSC_ATTR 0x0002
#define GSC_PATH 0x0001
GSRetType
typedef ByteEnum GSRetType;
#define GSRT_COMPLETE 0
#define GSRT_FORM_FEED 1
#define GSRT_ONE 2
#define GSRT_ESCAPE 3
#define GSRT_OUTPUT 4
#define GSRT_ELEMENT 5
#define GSRT_FAULT 0xff
GState
GStates are always referenced by means of GStateHandles, and are documented there.
GStateHandle
typedef Handle GStateHandle; GStates, or graphics states, are used to interpret graphics commands. Any graphics command that draws anything takes a GStateHandle as an argument. Each GState is associated with a window, and the graphics system uses the GState to determine which window the command should affect.
The GState also holds considerable information determining how drawing commands will be carried out. For instance, it holds the line color. To draw a green line, first one routine set’s the GState’s line color to green. From then on (or until the line color is changed again), all lines drawn using that GState will be green. Thus, all commands that set color, pattern, or other drawing attributes take a GStateHandle argument.
GStateHandles are also used when creating bitmaps and graphics strings. In this case, the associated window is fake; all drawing commands passed a GStateHandle representing a bitmap or graphics string will affect the data structure instead of being drawn to screen.
GString
typedef void GString; A GString (short for "Graphics Strings") represents a string of graphics commands. Each GString is made up of one or more GString elements, each of which corresponds to some standard graphics command.
GStrings may be created by means of drawing to a GStateHandle returned by GrCreateState(), but quite often GStrings are declared explicitly. The GString’s data is often set up using macros like GSDrawLine(). These macros will output an opcode (of type GStringElement) and format their macro arguments into data expected with the opcode.
For instance,
GSDrawLine(72, 144, 216, 288);
Would expand to the data:
(GStringElement) GR_DRAW_LINE
(sword) 72, 144, 216, 288
Thus, these macros just represent data, though they look like normal kernel graphics commands.
GStringElement
typedef ByteEnum GStringElement;
/* The following elements are defined :
(Miscellaneous GString opcodes:)
GR_END_STRING,
GR_COMMENT, (data: variable (word (length of code), code))
GR_NULL_OP,
GR_SET_GSTRING_BOUNDS, (data: 8 bytes (4 swords))
GR_LABEL, (data: 2 bytes (word))
GR_ESCAPE, (data: variable (word (size of code), code))
GR_NEW_PAGE,
(Coordinate Transform opcodes:)
GR_APPLY_ROTATION, (data: 4 bytes (WWFixed))
GR_APPLY_SCALE, (data: 8 bytes (2 WWFixed))
GR_APPLY_TRANSLATION, (data: 8 bytes (2 WWFixed))
GR_APPLY_TRANSFORM, (data: 26 bytes (4 WWFixed, 2 DWFixed))
GR_APPLY_TRANSLATION_DWORD, (data: 8 bytes (2 sdwords))
GR_SET_TRANSFORM, (data: 26 bytes (4 WWFixed, 2 DWFixed))
GR_SET_NULL_TRANSFORM,
GR_SET_DEFAULT_TRANSFORM,
GR_INIT_DEFAULT_TRANSFORM,
GR_SAVE_TRANSFORM,
GR_RESTORE_TRANSFORM,
(Output opcodes:)
GR_DRAW_LINE, (data: 8 bytes (4 swords))
GR_DRAW_LINE_TO, (data: 4 bytes (2 swords))
GR_DRAW_REL_LINE_TO (data: 8 bytes (2 WWFixed))
GR_DRAW_HLINE, (data: 6 bytes (3 swords))
GR_DRAW_HLINE_TO, (data: 2 bytes (sword))
GR_DRAW_VLINE, (data: 6 bytes (3 swords))
GR_DRAW_VLINE_TO, (data: 2 bytes (sword))
GR_DRAW_POLYLINE, (data: variable (word (# of points), points)
GR_DRAW_ARC, (data: 14 bytes (ArcCloseType, 6 swords))
GR_DRAW_ARC_3POINT, (data: 14 bytes (ArcCloseType, 6 swords))
GR_DRAW_ARC_3POINT_TO, (data: 10 bytes (ArcCloseType, 4 swords))
GR_DRAW_REL_ARC_3POINT_TO, (data: 18 bytes (ArcCloseType, 4 WWFixed))
GR_DRAW_RECT, (data: 8 bytes (4 swords))
GR_DRAW_RECT_TO, (data: 4 bytes (2 swords))
GR_DRAW_ROUND_RECT, (data: 10 bytes (word, 4 swords))
GR_DRAW_ROUND_RECT_TO, (data: 6 bytes (word, 2 swords))
GR_DRAW_SPLINE, (data: variable (word (# of points), points))
GR_DRAW_SPLINE_TO, (data: variable (word (# of points), points))
GR_DRAW_CURVE, (data: 16 bytes (8 swords))
GR_DRAW_CURVE_TO, (data: 12 bytes (6 swords))
GR_DRAW_REL_CURVE_TO, (data: 24 bytes (6 WWFixed))
GR_DRAW_ELLIPSE, (data: 8 bytes (4 swords))
GR_DRAW_POLYGON, (data: variable (word (# of points), points))
GR_DRAW_POINT, (data: 4 bytes (2 words))
GR_DRAW_POINT_CP,
GR_BRUSH_POLYLINE, (data: variable (word (# of points), 2 bytes,
points))
GR_DRAW_CHAR, (data: 5 bytes) (Chars, 2 swords))
GR_DRAW_CHAR_CP, (data: 1 byte) (Chars))
GR_DRAW_TEXT, (data: variable (sword, sword,
word (length of string),
string (not null terminated)))
GR_DRAW_TEXT_CP, (data: variable (word (length of string),
string (not null terminated)))
GR_DRAW_TEXT_PTR, (data: 6 bytes (2 swords, (char *)))
GR_DRAW_TEXT_OPTR, (data: 6 bytes (2 swords, optr))
GR_DRAW_PATH,
GR_FILL_RECT, (data: 8 bytes (4 swords))
GR_FILL_RECT_TO, (data: 4 bytes (2 swords))
GR_FILL_ROUND_RECT, (data: 10 bytes (4 swords, word))
GR_FILL_ROUND_RECT_TO, (data: 6 bytes (2 swords, word))
GR_FILL_ARC, (data: 14 bytes (ArcCloseType, 6 swords))
GR_FILL_POLYGON, (data: variable (word (# of points),
RegionFillRule, points))
GR_FILL_ELLIPSE, (data: 8 bytes (2 swords))
GR_FILL_PATH, data: 1 byte (RegionFillRule))
GR_FILL_ARC_3POINT, (data: 14 bytes (ArcCloseType, 6 swords))
GR_FILL_ARC_3POINT_TO (data: 10 bytes (ArcCloseType, 4 swords))
GR_FILL_BITMAP, (data: 6 bytes (2 swords, word))
GR_FILL_BITMAP_CP, (data: 2 bytes (word))
GR_FILL_BITMAP_OPTR,
GR_DRAW_BITMAP, (data: 6 bytes (2 swords, word))
GR_DRAW_BITMAP_CP, (data: 2 bytes (word))
GR_DRAW_BITMAP_OPTR, (data: 6 bytes (2 swords, optr))
GR_DRAW_BITMAP_PTR, (data: 6 bytes (2 swords, *))
GSE_BITMAP_SLICE, (data: variable)
(Drawing Attribute opcodes:)
GR_SAVE_STATE,
GR_RESTORE_STATE,
GR_SET_MIX_MODE, (data: 1 byte (MixMode))
GR_MOVE_TO, (data: 4 bytes (2 swords))
GR_REL_MOVE_TO, (data: 8 bytes (2 WWFixed))
GR_CREATE_PALETTE,
GR_DESTROY_PALETTE,
GR_SET_PALETTE_ENTRY, (data: 4 bytes (Color, 3 bytes))
GR_SET_PALETTE, (data: variable (word (# of entries),
entries (3 bytes each)))
GR_SET_LINE_COLOR, (data: 3 bytes (3 bytes))
GR_SET_LINE_MASK, (data: 1 byte (SysDrawMask))
GR_SET_LINE_COLOR_MAP, (data: 1 byte (ColorMapMode))
GR_SET_LINE_WIDTH, (data: 4 bytes (WWFixed))
GR_SET_LINE_JOIN, (data: 1 byte (LineJoin))
GR_SET_LINE_END, (data: 1 byte (LineEnd))
GR_SET_LINE_ATTR, (data: 9 bytes (CF_RGB, 3 bytes, SysDrawMask,
ColorMapMode, LineEnd, LineJoin, LineStyle)
GR_SET_MITER_LIMIT, (data: 4 bytes (WWFixed))
GR_SET_LINE_STYLE, (data: 2 bytes (LineStyle, index))
GR_SET_LINE_COLOR_INDEX, (data: 1 byte (Color))
GR_SET_CUSTOM_LINE_MASK, (data: 8 bytes (8 bytes))
GR_SET_CUSTOM_LINE_STYLE, (data: variable (word (index),
word (# of on-off dash pairs),
pairs (each pair is 2 bytes)))
GR_SET_AREA_COLOR, (data: 3 bytes (3 bytes)
GR_SET_AREA_MASK, (data: 1 byte (SysDrawMask))
GR_SET_AREA_COLOR_MAP, (data: 1 byte (ColorMapMode))
GR_SET_AREA_ATTR, (data: 6 bytes (CF_RGB, 3 bytes, SysDrawMask,
ColorMapMode))
GR_SET_AREA_COLOR_INDEX, (data: 1 byte (Color))
GR_SET_CUSTOM_AREA_MASK, (data: 8 bytes (8 bytes))
GR_SET_AREA_PATTERN, (data: 2 bytes (GraphicPattern))
GR_SET_CUSTOM_AREA_PATTERN, (data: variable (GraphicPattern,
word (size of data)
pattern data))
GR_SET_TEXT_COLOR, (data: 3 bytes (3 bytes))
GR_SET_TEXT_MASK, (data: 1 byte (SysDrawMask))
GR_SET_TEXT_COLOR_MAP, (data: 1 byte (ColorMapMode))
GR_SET_TEXT_STYLE, (data: 2 bytes (2 TextStyles))
GR_SET_TEXT_MODE, (data: 2 bytes (2 TextModes))
GR_SET_TEXT_SPACE_PAD, (data: 3 bytes (WBFixed))
GR_SET_TEXT_ATTR, (data: 20 bytes (CF_RGB, 3 bytes, SysDrawMask,
ColorMapMode, 2 TextStyles,
2 TextModes, WBFixed, FontID, word))
GR_SET_FONT, (data: 5 bytes (WBFixed, FontID))
GR_SET_TEXT_COLOR_INDEX, (data: 1 byte (Color))
GR_SET_CUSTOM_TEXT_MASK, (data: 8 bytes ()
GR_SET_TRACK_KERN, (data: 2 bytes (sword))
GR_SET_FONT_WEIGHT, (data: 2 bytes (FontWeight))
GR_SET_FONT_WIDTH, (data: 2 bytes (FontWidth))
GR_SET_SUPERSCRIPT_ATTR, (data: 2 bytes (position, scale))
GR_SET_SUBSCRIPT_ATTR, (data: 2 bytes (position, scale))
GR_SET_TEXT_PATTERN, (data: 2 bytes (GraphicPattern))
GR_SET_CUSTOM_TEXT_PATTERN, (data: variable (GraphicPattern,
word (size of data),
pattern data))
(Path opcodes:)
GR_BEGIN_PATH, (data: 1 byte (PathCombineParam))
GR_END_PATH,
GR_SET_CLIP_RECT, (data: 8 bytes (4 swords))
GR_SET_WIN_CLIP_RECT, (data: 8 bytes (4 swords))
GR_CLOSE_SUB_PATH,
GR_SET_CLIP_PATH, (data: 1 byte (flags))
GR_SET_WIN_CLIP_PATH, (data: 1 byte (flags))
GR_SET_STROKE_PATH */
GStringErrorType
typedef enum /* word */ {
GSET_NO_ERROR,
GSET_DISK_FULL
} GStringErrorType;
GStringKillType
typedef ByteEnum GStringKillType;
#define GSKT_KILL_DATA 0
#define GSKT_LEAVE_DATA 1
GStringSetPosType
typedef ByteEnum GStringSetPosType;
#define GSSPT_SKIP_1 0
#define GSSPT_RELATIVE 1
#define GSSPT_BEGINNING 2
#define GSSPT_END 3
GStringType
typedef ByteEnum GStringType;
#define GST_CHUNK 0
#define GST_STREAM 1
#define GST_VMEM 2
#define GST_PTR 3
#define GST_PATH 4
Handle
typedef word Handle;
HatchDash
typedef struct {
WWFixed HD_on;
WWFixed HD_off;
} HatchDash;
HatchLine
typedef struct {
PointWWFixed HL_origin;
WWFixed HL_deltaX;
WWFixed HL_deltaY;
WWFixed HL_angle;
ColorQuad HL_color;
word HL_numDashes;
/* array of HatchDash structures follows here */
} HatchLine;
HatchPattern
typedef struct {
word HP_numLines;
/* array of HatchLine structures follows here */
} HatchPattern;
HeapAllocFlags
typedef ByteFlags HeapAllocFlags;
#define HAF_ZERO_INIT 0x80
#define HAF_LOCK 0x40
#define HAF_NO_ERR 0x20
#define HAF_UI 0x10
#define HAF_READ_ONLY 0x08
#define HAF_OBJECT_RESOURCE 0x04
#define HAF_CODE 0x02
#define HAF_CONFORMING 0x01
#define HAF_STANDARD (0)
#define HAF_STANDARD_NO_ERR (HAF_NO_ERR)
#define HAF_STANDARD_LOCK (HAF_LOCK)
#define HAF_STANDARD_NO_ERR_LOCK (HAF_NO_ERR | HAF_LOCK)
HeapCongestion
typedef enum /* word */ {
HC_SCRUBBING,
HC_CONGESTED,
HC_DESPERATE
} HeapCongestion;
HeapFlags
typedef ByteFlags HeapFlags;
#define HF_FIXED 0x80
#define HF_SHARABLE 0x40
#define HF_DISCARDABLE 0x20
#define HF_SWAPABLE 0x10
#define HF_LMEM 0x08
#define HF_DISCARDED 0x02
#define HF_SWAPPED 0x01
#define HF_STATIC (HF_DISCARDABLE | HF_SWAPABLE)
#define HF_DYNAMIC HF_SWAPABLE
HugeArrayDirectory
typedef struct {
LMemBlockHeader HAD_header;
VMBlockHandle HAD_data;
ChunkHandle HAD_dir;
VMBlockHandle HAD_xdir;
VMBlockHandle HAD_self;
word HAD_size;
} HugeArrayDirectory;
IACPConnectFlags
typedef WordFlags IACPConnectFlags;
#define IACPCF_OBEY_LAUNCH_MODEL 0x0020
#define IACPCF_CLIENT_OD_SPECIFIED 0x0010
#define IACPCF_FIRST_ONLY 0x0008
#define IACPCF_SERVER_MODE 0x0007 **Include:** iacp.goh
IACPServerFlags
typedef ByteFlags IACPServerFlags;
#define IACPSF_MULTIPLE_INSTANCES 0x80 **Include:** iacp.goh
IACPServerMode
typedef ByteEnum IACPServerMode;
#define IACPSM_NOT_USER_INTERACTIBLE 0
#define IACPSM_IN_FLUX 1
#define IACPSM_USER_INTERACTIBLE 2 **Include:** iacp.goh
IACPSide
typedef enum {
IACPS_CLIENT,
IACPS_SERVER
} IACPSide; **Include:** iacp.goh
ImageFlags
typedef ByteFlags ImageFlags;
#define IF_IGNORE_MASK 0x10
#define IF_BORDER 0x08
#define IF_BITSIZE 0x07 /* Should hold an ImageBitSize */
#define IBS_1 0
#define IBS_2 1
#define IBS_4 2
#define IBS_8 3
#define IBS_16 4
IMCFeatures
typedef ByteFlags IMCFeatures;
#define IMCF_MAP 0x01
#define IMC_DEFAULT_FEATURES IMCF_MAP
#define IMC_DEFAULT_TOOLBOX_FEATURES 0
#define IMC_MAP_MONIKER_SIZE 1024
ImpexDataClasses
typedef WordFlags ImpexDataClasses;
#define IDC_TEXT 0x8000
#define IDC_GRAPHICS 0x4000
#define IDC_SPREADSHEET 0x2000
#define IDC_FONT 0x1000
ImpexFileSelectionData
typedef struct {
FileLongName IFSD_selection;
PathName IFSD_path;
word IFSD_disk;
GenFileSelectorEntryFlags IFSD_type;
} ImpexFileSelectionData;
ImpexMapFlags
typedef ByteFlags ImpexMapFlags;
#define IMF_IMPORT 0x80
#define IMF_EXPORT 0x40
ImpexMapFileInfoHeader
typedef struct {
LMemBlockHeader IMFIH_base;
word IMFIH_fieldChunk;
word IMFIH_numFields;
} ImpexMapFileInfoHeader;
ImpexTranslationParams
typedef struct {
optr ITP_impexOD;
Message ITP_returnMsg;
word ITP_dataClass;
FileHandle ITP_transferVMFile;
VMChain ITP_transferVMChain;
dword ITP_internal;
} ImpexTranslationParams;
ImportControlAttrs
typedef WordFlags ImportControlAttrs;
#define ICA_IGNORE_INPUT 0x8000 /* ignore input while import occurs */
ImportControlToolboxFeatures
typedef ByteFlags ImportControlToolboxFeatures;
#define IMPORTCTF_DIALOG_BOX 0x01
InitFileCharConvert
typedef ByteEnum InitFileCharConvert;
#define IFCC_INTACT 0 /* Leave all characters unchanged. */
#define IFCC_UPCASE 1 /* Make all characters upper case. */
#define IFCC_DOWNCASE 2 /* Make all characters lower case. */ This enumerated type describes how **InitFileRead...()** routines should handle incoming strings.
InitFileReadFlags
typedef WordFlags InitFileReadFlags;
#define IFRF_CHAR_CONVERT 0xc000 /* 2 bits: InitFileCharConvert type */
#define IFRF_READ_ALL 0x2000
#define IFRF_FIRST_ONLY 0x1000
#define IFRF_SIZE 0x0fff This record is used with the **InitFileRead...()** routines. The IFRF_CHAR_CONVERT field is used to indicate whether strings being read should be upcased, downcased, or left unaltered - the type is designated by a value of **InitFileCharConvert**. The IFRF_SIZE field is used by routines that take a passed buffer; this field indicates the size of the buffer (the maximum number of bytes that can be returned by the routine).
When setting this record, make sure you shift the IFRF_CHAR_CONVERT value left an offset of IFRF_CHAR_CONVERT_OFFSET.
InkBackgroundType
typedef enum {
IBT_NO_BACKGROUND = 0,
IBT_NARROW_LINED_PAPER = 2,
IBT_MEDIUM_LINED_PAPER = 4,
IBT_WIDE_LINED_PAPER = 6,
IBT_NARROW_STENO_PAPER = 8,
IBT_MEDIUM_STENO_PAPER = 10,
IBT_WIDE_STENO_PAPER = 12,
IBT_SMALL_GRID = 14,
IBT_MEDIUM_GRID = 16,
IBT_LARGE_GRID = 18,
IBT_SMALL_CROSS_SECTION = 20,
IBT_MEDIUM_CROSS_SECTION = 22,
IBT_LARGE_CROSS_SECTION = 24,
IBT_TO_DO_LIST = 26,
IBT_PHONE_MESSAGE = 28,
IBT_CUSTOM_BACKGROUND = 30
} InkBackgrountType; This enumerated type is a set of standard background pictures for use with the Ink Database routines.
InkControlFeatures
typedef ByteFlags InkControlFeatures;
#define ICF_PENCIL_TOOL 0x02
#define ICF_ERASER_TOOL 0x01
InkControlToolboxFeatures
typedef ByteFlags InkControlToolboxFeatures;
#define ICTF_PENCIL_TOOL 0x02
#define ICTF_ERASER_TOOL 0x01
InkDBDisplayInfo
typedef struct {
dword IDBDI_dword1;
dword IDBDI_dword2;
word IDBDI_word1;
} InkDBDisplayInfo;
InkDBFrame
typedef struct {
Rectangle IDBF_bounds; /* bounds of data to save or coord at
* which to load data */
VMFileHandle IDBF_VMFile; /* VM File to write to/read from */
DBGroupAndItem IDBF_DBGroupAndItem; /* DB item to save to/load from */
word IDBF_DBExtra; /* space to skip at start of block */
} InkDBFrame;
InkFlags
typedef ByteFlags InkFlags;
#define IF_HAS_TARGET 0x20
#define IF_DIRTY 0x10
#define IF_ONLY_CHILD_OF_CONTENT 0x08
#define IF_CONTROLLED 0x04
#define IF_INVALIDATE_ERASURES 0x02
#define IF_HAS_UNDO 0x01
InkReturnValue
typedef enum {
IRV_NO_REPLY,
/* VisComp objects use VisCallChildUnderPoint to send
* MSG_META_QUERY_IF_PRESS_IS_INK to its children, and
* VisCallChildUnderPoint returns this value (0) if there was not child
* under the point. No object should actually return this value. */
IRV_NO_INK,
/* Return this if the object wants to treat incoming event as mouse data. */
IRV_INK_WITH_STANDARD_OVERRIDE,
/* Return this if the object normally wants ink (the text object does this),
* but the user can force mouse events instead by pressing the pen and
* holding for some user-adjustable amount of time. */
IRV_WAIT
/* Return this value if the object under the point is run by a different
* thread and you want to hold up input (don't do anything with the incoming
* MSG_META_START_SELECT) `til obj sends MSG_GEN_APPLICATION_INK_QUERY_REPLY
* to the applicaiton object. */
} InkReturnValue; This enumerated type is used by objects to let the system know whether incoming pointer events should be interpreted as mouse or pen data.
InsertChildFlags
typedef WordFlags InsertChildFlags
#define ICF_MARK_DIRTY 0x8000
#define ICF_OPTIONS 0x0003 This record specifies how children are to be added to an object tree.
InsertChildOption
typedef ByteEnum InsertChildOption
#define ICO_FIRST 0
#define ICO_LAST 1
#define ICO_BEFORE_REFERENCE 2
#define ICO_AFTER_REFERENCE 3 This enumerated type determines how a child is added and is used with the **InsertChildFlags** record. It has four enumerations, as shown above.
InstrumentPatch
typedef enum {
#define IP_ACOUSTIC_GRAND_PIANO 0
#define IP_BRIGHT_ACOUSTIC_PIANO 1
#define IP_ELECTRIC_GRAND_PIANO 2
#define IP_HONKY_TONK_PIANO 3
#define IP_ELECTRIC_PIANO_1 4
#define IP_ELECTRIC_PIANO_2 5
#define IP_HARPSICORD 6
#define IP_CLAVICORD 7
#define IP_CELESTA 8
#define IP_GLOCKENSPIEL 9
#define IP_MUSIC_BOC 10
#define IP_VIBRAPHONE 11
#define IP_MARIMBA 12
#define IP_XYLOPHONE 13
#define IP_TUBULAR_BELLS 14
#define IP_DULCIMER 15
#define IP_DRAWBAR_ORGAN 16
#define IP_PERCUSSIVE_ORGAN 17
#define IP_ROCK_ORGAN 18
#define IP_CHURCH_ORGAN 19
#define IP_REED_ORGAN 20
#define IP_ACCORDIAN 21
#define IP_HARMONICA 22
#define IP_TANGO_ACCORDION 23
#define IP_ACOUSTIC_NYLON_GUITAR 24
#define IP_ACOUSTIC_STEEL_GUITAR 25
#define IP_ELECTRIC_JAZZ_GUITAR 26
#define IP_ELECTRIC_CLEAN_GUITAR 27
#define IP_ELECTRIC_MUTED_GUITAR 28
#define IP_OVERDRIVEN_GUITAR 29
#define IP_DISTORTION_GUITAR 30
#define IP_GUITAR_HARMONICS 31
#define IP_ACOUSTIC_BASS 32
#define IP_ELECTRIC_FINGERED_BASS 33
#define IP_ELECTRIC_PICKED_BASS 34
#define IP_FRETLESS_BASS 35
#define IP_SLAP_BASS_1 36
#define IP_SLAP_BASS_2 37
#define IP_SYNTH_BASS_1 38
#define IP_SYNTH_BASS_2 39
#define IP_VIOLIN 40
#define IP_VIOLA 41
#define IP_CELLO 42
#define IP_CONTRABASS 43
#define IP_TREMELO_STRINGS 44
#define IP_PIZZICATO_STRINGS 45
#define IP_ORCHESTRAL_HARP 46
#define IP_TIMPANI 47
#define IP_STRING_ENSAMBLE_1 48
#define IP_STRING_ENSAMBLE_2 49
#define IP_SYNTH_STRINGS_1 50
#define IP_SYNTH_STRINGS_2 51
#define IP_CHIOR_AAHS 52
#define IP_VOICE_OOHS 53
#define IP_SYNTH_VOICE 54
#define IP_ORCHESTRA_HIT 55
#define IP_TRUMPET 56
#define IP_TROMBONE 57
#define IP_TUBA 58
#define IP_MUTED_TRUMPET 59
#define IP_FRENCH_HORN 60
#define IP_BRASS_SECTION 61
#define IP_SYNTH_BRASS_1 62
#define IP_SYNTH_BRASS_2 63
#define IP_SOPRANO_SAX 64
#define IP_ALTO_SAX 65
#define IP_TENOR_SAX 66
#define IP_BARITONE_SAX 67
#define IP_OBOE 68
#define IP_ENGLISH_HORN 69
#define IP_BASSOON 70
#define IP_CLARINET 71
#define IP_PICCOLO 72
#define IP_FLUTE 73
#define IP_RECORDER 74
#define IP_PAN_FLUTE 75
#define IP_BLOWN_BOTTLE 76
#define IP_SHAKUHACHI 77
#define IP_WHISTLE 78
#define IP_OCARINA 79
#define IP_LEAD_SQUARE 80
#define IP_LEAD_SAWTOOTH 81
#define IP_LEAD_CALLIOPE 82
#define IP_LEAD_CHIFF 83
#define IP_LEAD_CHARANG 84
#define IP_LEAD_VOICE 85
#define IP_LEAD_FIFTHS 86
#define IP_LEAD_BASS_LEAD 87
#define IP_PAD_NEW_AGE 88
#define IP_PAD_WARM 89
#define IP_PAD_POLYSYNTH 90
#define IP_PAD_CHOIR 91
#define IP_PAD_BOWED 92
#define IP_PAD_METALLIC 93
#define IP_PAD_HALO 94
#define IP_PAD_SWEEP 95
#define IP_FX_RAIN 96
#define IP_FX_SOUNDTRACK 97
#define IP_FX_CRYSTAL 98
#define IP_FX_ATMOSPHERE 99
#define IP_FX_BRIGHTNESS 100
#define IP_FX_GOBLINS 101
#define IP_FX_ECHOES 102
#define IP_FX_SCI_FI 103
#define IP_SITAR 104
#define IP_BANJO 105
#define IP_SHAMISEN 106
#define IP_KOTO 107
#define IP_KALIMBA 108
#define IP_BAG_PIPE 109
#define IP_FIDDLE 110
#define IP_SHANAI 111
#define IP_TINKLE_BELL 112
#define IP_AGOGO 113
#define IP_STEEL_DRUMS 114
#define IP_WOODBLOCK 115
#define IP_TAIKO_DRUM 116
#define IP_MELODIC_TOM 117
#define IP_SYNTH_DRUM 118
#define IP_REVERSE_CYMBAL 119
#define IP_GUITAR_FRET_NOISE 120
#define IP_BREATH_NOISE 121
#define IP_SEASHORE 122
#define IP_BIRD_TWEET 123
#define IP_TELEPHONE_RING 124
#define IP_HELICOPTER 125
#define IP_APPLAUSE 126
#define IP_GUNSHOT 127
#define IP_ACOUSTIC_BASS_DRUM 128
#define IP_BASS_DRUM_1 129
#define IP_SIDE_STICK 130
#define IP_ACOUSTIC_SNARE 131
#define IP_HAND_CLAP 132
#define IP_ELECTRIC_SNARE 133
#define IP_LOW_FLOOR_TOM 134
#define IP_CLOSED_HI_HAT 135
#define IP_HIGH_FLOOR_TOM 136
#define IP_PEDAL_HI_HAT 137
#define IP_LOW_TOM 138
#define IP_OPEN_HI_HAT 139
#define IP_LOW_MID_TOM 140
#define IP_HI_MID_TOM 141
#define IP_CRASH_CYMBAL_1 142
#define IP_HIGH_TOM 143
#define IP_RIDE_CYMBAL_1 144
#define IP_CHINESE_CYMBAL 145
#define IP_RIDE_BELL 146
#define IP_TAMBOURINE 147
#define IP_SPLASH_CYMBAL 148
#define IP_COWBELL 149
#define IP_CRASH_CYMBAL_2 150
#define IP_VIBRASLAP 151
#define IP_RIDE_CYMBAL_2 152
#define IP_HI_BONGO 153
#define IP_LOW_BONGO 154
#define IP_MUTE_HI_CONGA 155
#define IP_OPEN_HI_CONGA 156
#define IP_LOW_CONGA 157
#define IP_HI_TIMBALE 158
#define IP_LOW_TIMBALE 159
#define IP_HIGH_AGOGO 160
#define IP_LOW_AGOGO 161
#define IP_CABASA 162
#define IP_MARACAS 163
#define IP_SHORT_WHISTLE 164
#define IP_LONG_WHISTLE 165
#define IP_SHORT_GUIRO 166
#define IP_LONG_GUIRO 167
#define IP_CLAVES 168
#define IP_HI_WOOD_BLOCK 169
#define IP_LOW_WOOD_BLOCK 170
#define IP_MUTE_CUICA 171
#define IP_OPEN_CUICA 172
#define IP_MUTE_TRIANGLE 173
#define IP_OPEN_TRIANGLE 174
} InstrumentPatch; These are standard simulated instruments.
InstrumentTable
typedef enum {
IT_STANDARD_TABLE=0 /* default table */
} InstrumentTable; The sound library uses this enumerated type to keep track of which table of simulated musical instruments to use.
JobStatus
typedef struct {
char JS_fname[13]; /* std DOS (8.3) spool filename */
char JS_parent[FILE_LONGNAME_LENGTH+1];
/* parent app's name */
char JS_documentName[FILE_LONGNAME_LENGTH+1];
/* document name */
word JS_numPages; /* # pages in document */
SpoolTimeStruct JS_time; /* time spooled */
byte JS_printing; /* TRUE/FALSE if we are printing */
} JobStatus;
Justification
typedef ByteEnum Justification;
#define J_LEFT 0
#define J_RIGHT 1
#define J_CENTER 2
#define J_FULL 3
KeyboardShortcut
typedef WordFlags KeyboardShortcut;
#define KS_PHYSICAL 0x8000
#define KS_ALT 0x4000
#define KS_CTRL 0x2000
#define KS_SHIFT 0x1000
#define KS_CHAR_SET 0x0f00
#define KS_CHAR 0x00ff
#define KS_CHAR_SET_OFFSET 8
#define KS_CHAR_OFFSET 0
KeyboardType
typedef ByteEnum KeyboardType;
#define KT_NOT_EXTD 1
#define KT_EXTD 2
#define KT_BOTH 3
KeyMapType
typedef enum /* word */ {
KEYMAP_US_EXTD=1,
KEYMAP_US,
KEYMAP_UK_EXTD,
KEYMAP_UK,
KEYMAP_GERMANY_EXTD,
KEYMAP_GERMANY,
KEYMAP_SPAIN_EXTD,
KEYMAP_SPAIN,
KEYMAP_DENMARK_EXTD,
KEYMAP_DENMARK,
KEYMAP_BELGIUM_EXTD,
KEYMAP_BELGIUM,
KEYMAP_CANADA_EXTD,
KEYMAP_CANADA,
KEYMAP_ITALY_EXTD,
KEYMAP_ITALY,
KEYMAP_LATIN_AMERICA_EXTD,
KEYMAP_LATIN_AMERICA,
KEYMAP_NETHERLANDS,
KEYMAP_NETHERLANDS_EXTD,
KEYMAP_NORWAY_EXTD,
KEYMAP_NORWAY,
KEYMAP_PORTUGAL_EXTD,
KEYMAP_PORTUGAL,
KEYMAP_SWEDEN_EXTD,
KEYMAP_SWEDEN,
KEYMAP_SWISS_FRENCH_EXTD,
KEYMAP_SWISS_FRENCH,
KEYMAP_SWISS_GERMAN_EXTD,
KEYMAP_SWISS_GERMAN,
KEYMAP_FRANCE_EXTD,
KEYMAP_FRANCE,
} KeyMapType;
Data Structures A-E <– Table of Contents –> Data Structures L-Z