File:  [OS/2 SDKs] / pmsdk / include / pmfont.h
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs
Thu Aug 9 12:28:37 2018 UTC (7 years, 9 months ago) by root
Branches: msft, MAIN
CVS tags: pmsdk-1989, HEAD
Microsoft OS/2 SDK PM 02-24-1989

/*******************************Module*Header*******************************\
* Module Name: PMFONTS.H                                                    *
*                                                                           *
* Include file that declares types for fonts.                               *
*                                                                           *
* Copyright (c) 1989 Microsoft Corporation                                  *
*                                                                           *
\*******************************Module*Header*******************************/

typedef struct _FOCAMETRICS { /* foca */
    ULONG   ulIdentity;
    ULONG   ulSize;
    CHAR    szFamilyname[32];
    CHAR    szFacename[32];
    SHORT   usRegistryId;
    SHORT   usCodePage;
    SHORT   yEmHeight;
    SHORT   yXHeight;
    SHORT   yMaxAscender;
    SHORT   yMaxDescender;
    SHORT   yLowerCaseAscent;
    SHORT   yLowerCaseDescent;
    SHORT   yInternalLeading;
    SHORT   yExternalLeading;
    SHORT   xAveCharWidth;
    SHORT   xMaxCharInc;
    SHORT   xEmInc;
    SHORT   yMaxBaselineExt;
    SHORT   sCharSlope;
    SHORT   sInlineDir;
    SHORT   sCharRot;
    USHORT  usWeightClass;
    USHORT  usWidthClass;
    SHORT   xDeviceRes;
    SHORT   yDeviceRes;
    SHORT   usFirstChar;
    SHORT   usLastChar;
    SHORT   usDefaultChar;
    SHORT   usBreakChar;
    SHORT   usNominalPointSize;
    SHORT   usMinimumPointSize;
    SHORT   usMaximumPointSize;
    SHORT   fsTypeFlags;
    SHORT   fsDefn;
    SHORT   fsSelectionFlags;
    SHORT   fsCapabilities;
    SHORT   ySubscriptXSize;
    SHORT   ySubscriptYSize;
    SHORT   ySubscriptXOffset;
    SHORT   ySubscriptYOffset;
    SHORT   ySuperscriptXSize;
    SHORT   ySuperscriptYSize;
    SHORT   ySuperscriptXOffset;
    SHORT   ySuperscriptYOffset;
    SHORT   yUnderscoreSize;
    SHORT   yUnderscorePosition;
    SHORT   yStrikeoutSize;
    SHORT   yStrikeoutPosition;
    SHORT   usKerningPairs;
    SHORT   usKerningTracks;
    PSZ     pszDeviceNameOffset;
} FOCAMETRICS;
typedef FOCAMETRICS FAR *PFOCAMETRICS;

typedef struct _FONTDEFINITIONHEADER { /* fdh */
    ULONG   ulIdentity;
    ULONG   ulSize;
    SHORT   fsFontdef;
    SHORT   fsChardef;
    SHORT   usCellSize;
    SHORT   xCellWidth;
    SHORT   yCellHeight;
    SHORT   xCellIncrement;
    SHORT   xCellA;
    SHORT   xCellB;
    SHORT   xCellC;
    SHORT   pCellBaseOffset;
} FONTDEFINITIONHEADER;
typedef FONTDEFINITIONHEADER FAR *PFONTDEFINITIONHEADER;

#define FONTDEFFONT1     0x0047     /* set width, height, inc. & base offset */
#define FONTDEFFONT2     0x0042     /* set height & base offset */
#define FONTDEFFONT3     0x0042     /* set height & base offset */
#define FONTDEFCHAR1     0x0081     /* set char offset and width */
#define FONTDEFCHAR2     0x0081     /* set char offset and width */
#define FONTDEFCHAR3     0x00b8     /* set char offset, A, B, and C space */
#define SPACE_UNDEF      0x8000     /* space undefined = take default */

typedef struct _FONTSIGNATURE { /* fs */
    ULONG   ulIdentity;
    ULONG   ulSize;
    CHAR    achSignature[12];
} FONTSIGNATURE;
typedef FONTSIGNATURE FAR *PFONTSIGNATURE;

typedef struct _FOCAFONT { /* ff */
    FONTSIGNATURE     fsSignature;
    FOCAMETRICS      fmMetrics;
    FONTDEFINITIONHEADER fdDefinitions;
} FOCAFONT;
typedef FOCAFONT FAR *PFOCAFONT;

#define FONT_SIGNATURE   0xfffffffe /* Identity header start */
#define FONT_METRICS     0x00000001 /* Identity metrics */
#define FONT_DEFINITION  0x00000002 /* Identity definition */
#define FONT_ENDRECORD   0xffffffff /* Identity record end */

/* Options for QueryFonts */

#define QUERY_PUBLIC_FONTS      0x0001
#define QUERY_PRIVATE_FONTS     0x0002

#define CDEF_GENERIC            0x0001
#define CDEF_BOLD               0x0002
#define CDEF_ITALIC             0x0004
#define CDEF_UNDERSCORE         0x0008
#define CDEF_STRIKEOUT          0x0010

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.