File: 32ifimet.h

package info (click to toggle)
freetype 1.3.1-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 6,652 kB
  • ctags: 6,860
  • sloc: ansic: 47,576; pascal: 13,773; sh: 7,513; makefile: 786; cpp: 351; csh: 53; perl: 13
file content (118 lines) | stat: -rw-r--r-- 6,233 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
/*********************************************************************\
* Module Name: 32IFIMET.H
*
* OS/2 Intelligent Font Interface
*
* Copyright (c) 1989,1994  IBM Corporation
* Copyright (c) 1989  Microsoft Corporation
*
* Definition and description of IFIMETRICS structure
* This file is included by FDSTRUCS.H
*
\*********************************************************************/
#ifndef     __32IFIMET_H__
#define     __32IFIMET_H__

#define FACESIZE 32
#define GLYPHNAMESIZE 16

/* #defines for fsType in IFIMETRICS  */

#define IFIMETRICS_FIXED       0x0001   /*Fixed pitch */
#define IFIMETRICS_LICENSED    0x0002   /*Font subject of licensing agreement */
#define IFIMETRICS_KERNING     0x0004   /*Font has kerning data */
#define IFIMETRICS_DBCS        0x0010   /*DBCS font */
#define IFIMETRICS_MBCS        0x0018   /*MBCS (DBCS + SBCS) font */
/* Reserved                    0x8000 */
#define IFIMETRICS_ATOMS       0x4000   /*The atom name fields are valid */
#define IFIMETRICS_FAMTRUNC    0x2000   /*Familyname field is truncated */
#define IFIMETRICS_FACETRUNC   0x1000   /*Facename field is truncated */
#define IFIMETRICS_ANTIALIASED 0x0020
#define IFIMETRICS_UNICODE     0x0040
#define IFIMETRICS_NO_CACHE    0x0080

/* #defines for fsDefn in IFIMETRICS   */

#define IFIMETRICS_OUTLINE     0x0001   /*1 - Outline. 0 - Raster */
/* Reserved                    0x0002 */
/* Reserved                    0x0004 */
/* Reserved                    0x8000 */
#define IFIMETRICS_UDC_FONT    0x0010   /*User defined font */
/* Reserved                           */

/* #defines for fsSelection in IFIMETRICS valid for bitmap or outline fonts  */

#define IFIMETRICS_ITALIC      0x8000  /*Italic */
#define IFIMETRICS_UNDERSCORE  0x4000  /*Underscored */
#define IFIMETRICS_OVERSTRUCK  0x2000  /*Overstruck */

/* #defines for fsSelection in IFIMETRICS valid for bitmap fonts */

#define IFIMETRICS_NEGATIVE    0x1000   /*Negative image */
#define IFIMETRICS_HOLLOW      0x0800   /*Outline (hollow) */

#if defined(__IBMCPP__) || defined(__IBMC__)
    #pragma pack(1)
#else
    #pragma Align_members(1)
#endif

typedef struct _IFIMETRICS    /* ifim */
{                                                                    /* UNITS */
  UCHAR   szFamilyname[FACESIZE];   /*Font Family Name, e.g. Roman */
  UCHAR   szFacename[FACESIZE];     /*Face name, e.g. Tms Rmn Bold Italic */
  UCHAR   szGlyphlistName[GLYPHNAMESIZE]; /*e.g. PM316, Latin-2, Greek */
  USHORT  idRegistry;          /*IBM registration number (or zero).        I */
  LONG    lCapEmHeight;        /*Height of uppercase M                     N */
  LONG    lXHeight;            /*Nominal height of lowercase               N */
  LONG    lMaxAscender;        /*Maximum height above baseline of any char N */
  LONG    lMaxDescender;       /*Maximum depth below baseline of any char  N */
  LONG    lLowerCaseAscent;    /*Maximum height above baseline of any a-z  N */
  LONG    lLowerCaseDescent;   /*Maximum depth below basiline of any a-z   N */
  LONG    lInternalLeading;    /*White space within character              N */
  LONG    lExternalLeading;    /*White space between lines                 N */
  LONG    lAveCharWidth;       /*Weighted average character width          N */
  LONG    lMaxCharInc;         /*Maximum character increment               N */
  LONG    lEmInc;              /*Increment for Capitals (typically 'M')    N */
  LONG    lMaxBaselineExt;     /*Height of character cell                  N */
  FIXED   fxCharSlope;         /*Slope angle, degrees, clockwise           D */
  FIXED   fxInlineDir;         /*Drawing direction, degrees clockwise      D */
  FIXED   fxCharRot;           /*Glyph rotation in cell, degrees clockwise D */
  USHORT  usWeightClass;       /*Character weight, 1-9 (1=ultra-light)     I */
  USHORT  usWidthClass;        /*Character width, 1-9 (1=ultra condensed)  I */
  LONG    lEmSquareSizeX;      /*Em Square size, x-direction               N */
  LONG    lEmSquareSizeY;      /*Em Square size, y-direction               N */
  GLYPH   giFirstChar;         /*Number of first glyph in font             I */
  GLYPH   giLastChar;          /*Number of last glyph in font              I */
  GLYPH   giDefaultChar;       /*Glyph used if requested glyph invalid     I */
  GLYPH   giBreakChar;         /*Space glyph                               I */
  USHORT  usNominalPointSize;  /*Point size for which font was designed    N */
  USHORT  usMinimumPointSize;  /*Minimum point size scaling for font       N */
  USHORT  usMaximumPointSize;  /*Maximum point size scaling for font       N */
  USHORT  fsType;              /*Type indicators  (see #defines)           B */
  USHORT  fsDefn;              /*Font definition data (see #defines)       B */
  USHORT  fsSelection;         /*Font selection flags (see #defines)       B */
  USHORT  fsCapabilities;      /*Font capabilities must be 0               B */
  LONG    lSubscriptXSize;     /*Size in x-direction of subscript          N */
  LONG    lSubscriptYSize;     /*Size in y-direction of subscript          N */
  LONG    lSubscriptXOffset;   /*Offset in x-direction of subscript        N */
  LONG    lSubscriptYOffset;   /*Offset in y-direction of subscript        N */
  LONG    lSuperscriptXSize;   /*Size in x-direction of superscript        N */
  LONG    lSuperscriptYSize;   /*Size in y-direction of superscript        N */
  LONG    lSuperscriptXOffset; /*Offset in x-direction of superscript      N */
  LONG    lSuperscriptYOffset; /*Offset in y-direction of superscript      N */
  LONG    lUnderscoreSize;     /*Underscore size                           N */
  LONG    lUnderscorePosition; /*Underscore position                       N */
  LONG    lStrikeoutSize;      /*Strikeout size                            N */
  LONG    lStrikeoutPosition;  /*Strikeout position                        N */
  SHORT   cKerningPairs;       /*Number of kerning pairs in pair table     I */
  ULONG   ulFontClass;         /*IBM font classification                   B */
} IFIMETRICS;
typedef IFIMETRICS FAR *PIFIMETRICS;
#if defined(__IBMCPP__) || defined(__IBMC__)
    #pragma pack()
#else
    #pragma Align_members()
#endif

#endif