Поделиться через


структура 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

Указывает номер версии файла, определенный в prntfont.h константой с форматом имени UNIFM_VERSION_x_x.

ulDefaultCodepage

Указывает идентификатор кодовой страницы для кодовой страницы шрифта по умолчанию. Дополнительные сведения см. в разделе "Примечания".

lGlyphSetDataRCID

Указывает идентификатор ресурса RC_GTT, который идентифицирует файл .gtt (таблица перевода глифов) или один из CC_ идентификаторов преобразования кода с префиксом, определенных в файле prntfont.h. Дополнительные сведения см. в разделе "Примечания".

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 , должен совпадать с номером кодовой страницы, который содержится в первой UNI_CODEPAGEINFO структуре файла .gtt (таблица перевода глифов).

  • Если 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.
    

Если параметр lGlyphSetDataRCID CC_DEFAULT, для значения ulDefaultCodepage нет ограничений, но необходимо указать кодовую страницу по умолчанию.

Требования

Требование Значение
Заголовок prntfont.h (включая Prntfont.h)

См. также раздел

EXTTEXTMETRIC

KERNDATA

PRINTIFI32

UNIDRVINFO

UNI_CODEPAGEINFO

WIDTHTABLE