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