Something went wrong. Try again.
Reactos
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287/* * prntfont.h * * Declarations for Windows NT printer driver font metrics * * This file is part of the w32api package. * * Contributors: * Created by Filip Navara <xnavara@volny.cz> * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAIMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */
#ifndef __PRNTFONT_H#define __PRNTFONT_H
#define UNIFM_VERSION_1_0 0x10000#define UNI_GLYPHSETDATA_VERSION_1_0 0x10000
#define UFM_SOFT 1#define UFM_CART 2#define UFM_SCALABLE 4
#define DF_TYPE_HPINTELLIFONT 0#define DF_TYPE_TRUETYPE 1#define DF_TYPE_PST1 2#define DF_TYPE_CAPSL 3#define DF_TYPE_OEM1 4#define DF_TYPE_OEM2 5#define DF_NOITALIC 1#define DF_NOUNDER 2#define DF_XM_CR 4#define DF_NO_BOLD 8#define DF_NO_DOUBLE_UNDERLINE 16#define DF_NO_STRIKETHRU 32#define DF_BKSP_OK 64
#define MTYPE_COMPOSE 1#define MTYPE_DIRECT 2#define MTYPE_PAIRED 4#define MTYPE_FORMAT_MASK 7#define MTYPE_SINGLE 8#define MTYPE_DOUBLE 16#define MTYPE_DOUBLEBYTECHAR_MASK 24#define MTYPE_REPLACE 32#define MTYPE_ADD 64#define MTYPE_DISABLE 128#define MTYPE_PREDEFIN_MASK 192
#define CC_NOPRECNV 0x0000FFFF#define CC_DEFAULT 0#define CC_CP437 -1#define CC_CP850 -2#define CC_CP863 -3#define CC_BIG5 -10#define CC_ISC -11#define CC_JIS -12#define CC_JIS_ANK -13#define CC_NS86 -14#define CC_TCA -15#define CC_GB2312 -16#define CC_SJIS -17#define CC_WANSUNG -18
#define UFF_FILE_MAGIC 'UFF1'#define UFF_VERSION_NUMBER 0x10001#define FONT_DIR_SORTED 1#define FONT_REC_SIG 'CERF'#define WINNT_INSTALLER_SIG 'IFTN'
#define FONT_FL_UFM 0x0001#define FONT_FL_IFI 0x0002#define FONT_FL_SOFTFONT 0x0004#define FONT_FL_PERMANENT_SF 0x0008#define FONT_FL_DEVICEFONT 0x0010#define FONT_FL_GLYPHSET_GTT 0x0020#define FONT_FL_GLYPHSET_RLE 0x0040#define FONT_FL_RESERVED 0x8000
#define DATA_UFM_SIG 'MFUD'#define DATA_IFI_SIG 'IFID'#define DATA_GTT_SIG 'TTGD'#define DATA_CTT_SIG 'TTCD'#define DATA_VAR_SIG 'RAVD'
#define FG_CANCHANGE 128#define WM_FI_FILENAME 900
#define GET_UNIDRVINFO(pUFM) ((PUNIDRVINFO)((ULONG_PTR)(pUFM) + (pUFM)->loUnidrvInfo))#define GET_IFIMETRICS(pUFM) ((IFIMETRICS*)((ULONG_PTR)(pUFM) + (pUFM)->loIFIMetrics))#define GET_EXTTEXTMETRIC(pUFM) ((EXTTEXTMETRIC*)((ULONG_PTR)(pUFM) + (pUFM)->loExtTextMetric))#define GET_WIDTHTABLE(pUFM) ((PWIDTHTABLE)((ULONG_PTR)(pUFM) + (pUFM)->loWidthTable))#define GET_KERNDATA(pUFM) ((PKERNDATA)((ULONG_PTR)(pUFM) + (pUFM)->loKernPair))#define GET_SELECT_CMD(pUni) ((PCHAR)(pUni) + (pUni)->SelectFont.loOffset)#define GET_UNSELECT_CMD(pUni) ((PCHAR)(pUni) + (pUni)->UnSelectFont.loOffset)#define GET_GLYPHRUN(pGTT) ((PGLYPHRUN)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loRunOffset))#define GET_CODEPAGEINFO(pGTT) ((PUNI_CODEPAGEINFO)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loCodePageOffset))#define GET_MAPTABLE(pGTT) ((PMAPTABLE)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loMapTableOffset))
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;
typedef struct _INVOC{ DWORD dwCount; DWORD loOffset;} INVOC, *PINVOC;
typedef struct _UNIDRVINFO{ DWORD dwSize; DWORD flGenFlags; WORD wType; WORD fCaps; WORD wXRes; WORD wYRes; SHORT sYAdjust; SHORT sYMoved; WORD wPrivateData; SHORT sShift; INVOC SelectFont; INVOC UnSelectFont; WORD wReserved[4];} UNIDRVINFO, *PUNIDRVINFO;
typedef struct _EXTTEXTMETRIC{ SHORT emSize; SHORT emPointSize; SHORT emOrientation; SHORT emMasterHeight; SHORT emMinScale; SHORT emMaxScale; SHORT emMasterUnits; SHORT emCapHeight; SHORT emXHeight; SHORT emLowerCaseAscent; SHORT emLowerCaseDescent; SHORT emSlant; SHORT emSuperScript; SHORT emSubScript; SHORT emSuperScriptSize; SHORT emSubScriptSize; SHORT emUnderlineOffset; SHORT emUnderlineWidth; SHORT emDoubleUpperUnderlineOffset; SHORT emDoubleLowerUnderlineOffset; SHORT emDoubleUpperUnderlineWidth; SHORT emDoubleLowerUnderlineWidth; SHORT emStrikeOutOffset; SHORT emStrikeOutWidth; WORD emKernPairs; WORD emKernTracks;} EXTTEXTMETRIC, *PEXTTEXTMETRIC;
typedef struct _WIDTHRUN{ WORD wStartGlyph; WORD wGlyphCount; DWORD loCharWidthOffset;} WIDTHRUN, *PWIDTHRUN;
typedef struct _WIDTHTABLE{ DWORD dwSize; DWORD dwRunNum; WIDTHRUN WidthRun[1];} WIDTHTABLE, *PWIDTHTABLE;
typedef struct _KERNDATA{ DWORD dwSize; DWORD dwKernPairNum; FD_KERNINGPAIR KernPair[1];} KERNDATA, *PKERNDATA;
typedef struct _UNI_GLYPHSETDATA{ DWORD dwSize; DWORD dwVersion; DWORD dwFlags; LONG lPredefinedID; DWORD dwGlyphCount; DWORD dwRunCount; DWORD loRunOffset; DWORD dwCodePageCount; DWORD loCodePageOffset; DWORD loMapTableOffset; DWORD dwReserved[2];} UNI_GLYPHSETDATA, *PUNI_GLYPHSETDATA;
typedef struct _UNI_CODEPAGEINFO{ DWORD dwCodePage; INVOC SelectSymbolSet; INVOC UnSelectSymbolSet;} UNI_CODEPAGEINFO, *PUNI_CODEPAGEINFO;
typedef struct _GLYPHRUN{ WCHAR wcLow; WORD wGlyphCount;} GLYPHRUN, *PGLYPHRUN;
typedef struct _TRANSDATA{ BYTE ubCodePageID; BYTE ubType; union { SHORT sCode; BYTE ubCode; BYTE ubPairs[2]; } uCode;} TRANSDATA, *PTRANSDATA;
typedef struct _MAPTABLE { DWORD dwSize; DWORD dwGlyphNum; TRANSDATA Trans[1];} MAPTABLE, *PMAPTABLE;
typedef struct _UFF_FILEHEADER { DWORD dwSignature; DWORD dwVersion; DWORD dwSize; DWORD nFonts; DWORD nGlyphSets; DWORD nVarData; DWORD offFontDir; DWORD dwFlags; DWORD dwReserved[4];} UFF_FILEHEADER, *PUFF_FILEHEADER;
typedef struct _UFF_FONTDIRECTORY { DWORD dwSignature; WORD wSize; WORD wFontID; SHORT sGlyphID; WORD wFlags; DWORD dwInstallerSig; DWORD offFontName; DWORD offCartridgeName; DWORD offFontData; DWORD offGlyphData; DWORD offVarData;} UFF_FONTDIRECTORY, *PUFF_FONTDIRECTORY;
typedef struct _DATA_HEADER { DWORD dwSignature; WORD wSize; WORD wDataID; DWORD dwDataSize; DWORD dwReserved;} DATA_HEADER, *PDATA_HEADER;
typedef struct _OEMFONTINSTPARAM { DWORD cbSize; HANDLE hPrinter; HANDLE hModule; HANDLE hHeap; DWORD dwFlags; PWSTR pFontInstallerName;} OEMFONTINSTPARAM, *POEMFONTINSTPARAM;
#endif /* __PRNTFONT_H */