Jump to content

FOCAMETRICS: Difference between revisions

From EDM2
Created page with "FOCAMETRICS data structure. This structure is returned to applications on the GPIQueryFonts and GPIQueryFontMetrics calls and conveys information from the font creator to th..."
 
No edit summary
 
Line 7: Line 7:
   ULONG      ulSize;                              /*  Structure size in bytes. */
   ULONG      ulSize;                              /*  Structure size in bytes. */
   CHAR      szFamilyname[32];  /*  Font family name. */
   CHAR      szFamilyname[32];  /*  Font family name. */
   CHAR      szFacename[32];    /*  Face name. The typeface name defines the particular font; for example, "Times New Roma
   CHAR      szFacename[32];    /*  Face name. The typeface name defines the particular font; for example, "Times New Roman Bold Italic."** This string is null terminated and is, therefore, limited to 32 characters in length. */
n Bold Italic."** This string is null terminated and is, therefore, limited to 32 characters in length. */
   SHORT      usRegistryId;                        /*  Registry identifier. */
   SHORT      usRegistryId;                        /*  Registry identifier. */
   USHORT    usCodePage;                          /*  Code page supported by the font. */
   USHORT    usCodePage;                          /*  Code page supported by the font. */

Latest revision as of 16:24, 27 December 2019

FOCAMETRICS data structure.

This structure is returned to applications on the GPIQueryFonts and GPIQueryFontMetrics calls and conveys information from the font creator to the application.

Type

typedef struct _FOCAMETRICS {
 ULONG      ulIdentity;                          /*  Structure identity code. */
 ULONG      ulSize;                              /*  Structure size in bytes. */
 CHAR       szFamilyname[32];  /*  Font family name. */
 CHAR       szFacename[32];    /*  Face name. The typeface name defines the particular font; for example, "Times New Roman Bold Italic."** This string is null terminated and is, therefore, limited to 32 characters in length. */
 SHORT      usRegistryId;                        /*  Registry identifier. */
 USHORT     usCodePage;                          /*  Code page supported by the font. */
 SHORT      yEmHeight;                           /*  Em height. */
 SHORT      yXHeight;                            /*  X height. */
 SHORT      yMaxAscender;                        /*  Maximum ascender. */
 SHORT      yMaxDescender;                       /*  Maximum descender. */
 SHORT      yLowerCaseAscent;                    /*  Lowercase ascent. */
 SHORT      yLowerCaseDescent;                   /*  Lowercase descent. */
 SHORT      yInternalLeading;                    /*  Internal leading. */
 SHORT      yExternalLeading;                    /*  External leading. */
 SHORT      xAveCharWidth;                       /*  Average character width. */
 SHORT      xMaxCharInc;                         /*  Maximum character increment. */
 SHORT      xEmInc;                              /*  Em increment. */
 SHORT      yMaxBaselineExt;                     /*  Maximum baseline extent. */
 SHORT      sCharSlope;                          /*  Character slope. */
 SHORT      sInlineDir;                          /*  Inline direction. */
 SHORT      sCharRot;                            /*  Character rotation. */
 USHORT     usWeightClass;                       /*  Weight class. */
 USHORT     usWidthClass;                        /*  Width class. */
 SHORT      xDeviceRes;                          /*  X-device resolution. */
 SHORT      yDeviceRes;                          /*  Y-device resolution. */
 SHORT      usFirstChar;                         /*  First character. */
 SHORT      usLastChar;                          /*  Last character. */
 SHORT      usDefaultChar;                       /*  Default character. */
 SHORT      usBreakChar;                         /*  Break character. */
 SHORT      usNominalPointSize;                  /*  Nominal point size. */
 SHORT      usMinimumPointSize;                  /*  Minimum point size. */
 SHORT      usMaximumPointSize;                  /*  Maximum point size. */
 SHORT      usTypeFlags;                         /*  Type indicators. */
 SHORT      fsDefn;                              /*  Definition indicators. */
 SHORT      fsSelectionFlags;                    /*  Selection indicators. */
 SHORT      fsCapabilities;                      /*  Capabilities. */
 SHORT      ySubscriptXSize;                     /*  Subscript X-size. */
 SHORT      ySubscriptYSize;                     /*  Subscript Y-size. */
 SHORT      ySubscriptXOffset;                   /*  Subscript X-offset. */
 SHORT      ySubscriptYOffset;                   /*  Subscript Y-offset. */
 SHORT      ySuperscriptXSize;                   /*  Superscript X-size. */
 SHORT      ySuperscriptYSize;                   /*  Superscript Y-size. */
 SHORT      ySuperscriptXOffset;                 /*  Superscript X-offset. */
 SHORT      ySuperscriptYOffset;                 /*  Superscript Y-offset. */
 SHORT      yUnderscoreSize;                     /*  Underscore size. */
 SHORT      yUnderscorePosition;                 /*  Underscore position. */
 SHORT      yStrikeoutSize;                      /*  Strikeout size. */
 SHORT      yStrikeoutPosition;                  /*  Strikeout position. */
 SHORT      usKerningPairs;                      /*  Kerning pairs. */
 SHORT      sFamilyClass;                        /*  Font family design classification. */
 PSZ        pszDeviceNameOffset;                 /*  Address where device name is stored. */
} FOCAMETRICS;

C Declaration Method

typedef FOCAMETRICS *PFOCAMETRICS;