(prntfont.h) UNIFM_HDR 结构

UNIFM_HDR 结构用于定义 Unidrv 字体指标文件 的内容 (.ufm 文件) 。

语法

typedef struct _UNIFM_HDR {
  DWORD dwSize;
  DWORD dwVersion;
  ULONG ulDefaultCodepage;
  LONG  lGlyphSetDataRCID;
  DWORD loUnidrvInfo;
  DWORD loIFIMetrics;
  DWORD loExtTextMetric;
  DWORD loWidthTable;
  DWORD loKernPair;
  DWORD dwReserved[2];
} UNIFM_HDR, *PUNIFM_HDR;

成员

dwSize

指定 .ufm 文件的总大小(以字节为单位)。 请注意,这是用于定义文件的所有结构的总大小。 此值不是UNIFM_HDR结构的大小。

dwVersion

指定文件版本号,如 prntfont.h 中由名称格式为 UNIFM_VERSION_x_x 的常量定义。

ulDefaultCodepage

指定字体的默认代码页的代码页标识符。 有关更多信息,请参见下面的“备注”部分。

lGlyphSetDataRCID

指定标识 .gtt (字形转换表) 文件的RC_GTT资源标识符,或在 prntfont.h 中定义的CC_前缀代码转换标识符之一。 有关更多信息,请参见下面的“备注”部分。

loUnidrvInfo

指定从 .ufm (Unidrv Font Metrics) 文件开头到文件 UNIDRVINFO 结构位置的字节偏移量。

loIFIMetrics

指定从 .ufm 文件开头到文件 PRINTIFI32 结构位置的字节偏移量。

loExtTextMetric

指定从 .ufm 文件开头到文件 EXTTEXTMETRIC 结构位置的字节偏移量。

loWidthTable

指定从 .ufm 文件开头到文件 WIDTHTABLE 结构位置的字节偏移量。

loKernPair

指定从 .ufm 文件开头到文件 KERNDATA 结构位置的字节偏移量。

dwReserved[2]

未使用。

注解

UNIFM_HDR 结构必须是 .ufm 文件中包含的第一个结构。

如果未CC_DEFAULT lGlyphSetDataRCID ,则以下规则适用:

  • 如果 lGlyphSetDataRCID 包含RC_GTT资源标识符,则为 ulDefaultCodepage 指定的代码页码必须与 .gtt (Glyph Translation Table) 文件的第一个UNI_CODEPAGEINFO结构中包含的 代码 页码相同。

  • 如果 lGlyphSetDataRCID 包含除 CC_DEFAULT) 以外的CC_前缀的代码转换标识符之一 (,则为 ulDefaultCodepage 指定的代码页码必须是与CC_前缀标识符关联的代码页码。 (这些代码页码在 Prntfont.h 中列出,每个CC_前缀标识符旁边。)

    Prntfont.h 中列出的系统预定义的字符转换代码如下所示:

    //
    // System predefined character conversion
    //
    // UNIDRV is going to support  following system predefined character conversion.
    // By specifying these number in UNIFM.dwGlyphSetDataRCID;
    //
    
    #define CC_NOPRECNV 0x0000FFFF // Not use predefined
    
    //
    // ANSI
    //
    #define CC_DEFAULT  0 // Default Character Conversion
    #define CC_CP437   -1 // Unicode to IBM Codepage 437
    #define CC_CP850   -2 // Unicode to IBM Codepage 850
    #define CC_CP863   -3 // Unicode to IBM Codepage 863
    
    //
    // East Asia
    //
    
    #define CC_BIG5     -10 // Unicode to Chinese Big 5. Codepage 950.
    #define CC_ISC      -11 // Unicode to Korean Industrial Standard. Codepage 949.
    #define CC_JIS      -12 // Unicode to JIS X0208. Codepage 932.
    #define CC_JIS_ANK  -13 // Unicode to JIS X0208 except ANK. Codepage 932.
    #define CC_NS86     -14 // Big-5 to National Standard conversion. Codepage 950
    #define CC_TCA      -15 // Big-5 to Taipei Computer Association. Codepage 950.
    #define CC_GB2312   -16 // Unicode to GB2312. Codepage 936
    #define CC_SJIS     -17 // Unicode to Shift-JIS. Codepage 932.
    #define CC_WANSUNG  -18 // Unicode to Extended Wansung. Codepage 949.
    

如果 lGlyphSetDataRCID CC_DEFAULT,则为 ulDefaultCodepage 指定的值没有限制,但必须指定默认代码页。

要求

要求
Header prntfont.h (包括 Prntfont.h)

另请参阅

EXTTEXTMETRIC

KERNDATA

PRINTIFI32

UNIDRVINFO

UNI_CODEPAGEINFO

WIDTHTABLE