UNIFM_HDR 結構 (prntfont.h)

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

以名稱格式為 UNIFM_VERSION_x_x 的常數,指定 prntfont.h 中所定義的檔案版本號碼。

ulDefaultCodepage

指定字型預設代碼頁的代碼頁標識碼。 如需詳細資訊,請參閱接下來的<備註>一節。

lGlyphSetDataRCID

指定RC_GTT資源標識符,識別 .gtt (字元轉譯數據表) 檔案,或 prntfont.h 中定義的CC_前置代碼轉換標識符之一。 如需詳細資訊,請參閱接下來的<備註>一節。

loUnidrvInfo

指定從 .ufm (Unidrv 字型計量) 檔案到檔案 UNIDRVINFO 結構位置的位元組位移。

loIFIMetrics

指定從 .ufm 檔案開頭到檔案 PRINTIFI32 結構位置的位元移。

loExtTextMetric

指定從 .ufm 檔案開頭到檔案 EXTTEXTMETRIC 結構位置的位元組位移。

loWidthTable

指定從 .ufm 檔案開頭到檔案 WIDTHTABLE 結構位置的位元組位移。

loKernPair

指定從 .ufm 檔案開頭到檔案 KERNDATA 結構位置的位元組位移。

dwReserved[2]

未使用。

備註

UNIFM_HDR 結構必須是 .ufm 檔案中包含的第一個結構。

如果 lGlyphSetDataRCID 未CC_DEFAULT,則適用下列規則:

  • 如果 lGlyphSetDataRCID 包含RC_GTT資源識別符,則 為 ulDefaultCodepage 指定的代碼頁碼必須與 .gtt (Glyph Translation Table) 檔案的第一個 UNI_CODEPAGEINFO 結構中包含的代碼頁號碼相同。

  • 如果 lGlyphSetDataRCID 包含 (以外的其中一個CC_ CC_DEFAULT) 前置词代码转换标识符, 則為 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.
    

如果 CC_DEFAULT lGlyphSetDataRCID ,則 ulDefaultCodepage 指定的值沒有任何限制,但必須指定預設代碼頁。

規格需求

需求
標頭 prntfont.h (包含 Prntfont.h)

另請參閱

EXTTEXTMETRIC

KERNDATA

PRINTIFI32

UNIDRVINFO

UNI_CODEPAGEINFO

WIDTHTABLE