123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286 |
- /*
- * 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 */
|