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