Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenprntfont.h
Go to the documentation of this file.
00001 /* 00002 * prntfont.h 00003 * 00004 * Declarations for Windows NT printer driver font metrics 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Filip Navara <xnavara@volny.cz> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __PRNTFONT_H 00024 #define __PRNTFONT_H 00025 00026 #define UNIFM_VERSION_1_0 0x10000 00027 #define UNI_GLYPHSETDATA_VERSION_1_0 0x10000 00028 00029 #define UFM_SOFT 1 00030 #define UFM_CART 2 00031 #define UFM_SCALABLE 4 00032 00033 #define DF_TYPE_HPINTELLIFONT 0 00034 #define DF_TYPE_TRUETYPE 1 00035 #define DF_TYPE_PST1 2 00036 #define DF_TYPE_CAPSL 3 00037 #define DF_TYPE_OEM1 4 00038 #define DF_TYPE_OEM2 5 00039 #define DF_NOITALIC 1 00040 #define DF_NOUNDER 2 00041 #define DF_XM_CR 4 00042 #define DF_NO_BOLD 8 00043 #define DF_NO_DOUBLE_UNDERLINE 16 00044 #define DF_NO_STRIKETHRU 32 00045 #define DF_BKSP_OK 64 00046 00047 #define MTYPE_COMPOSE 1 00048 #define MTYPE_DIRECT 2 00049 #define MTYPE_PAIRED 4 00050 #define MTYPE_FORMAT_MASK 7 00051 #define MTYPE_SINGLE 8 00052 #define MTYPE_DOUBLE 16 00053 #define MTYPE_DOUBLEBYTECHAR_MASK 24 00054 #define MTYPE_REPLACE 32 00055 #define MTYPE_ADD 64 00056 #define MTYPE_DISABLE 128 00057 #define MTYPE_PREDEFIN_MASK 192 00058 00059 #define CC_NOPRECNV 0x0000FFFF 00060 #define CC_DEFAULT 0 00061 #define CC_CP437 -1 00062 #define CC_CP850 -2 00063 #define CC_CP863 -3 00064 #define CC_BIG5 -10 00065 #define CC_ISC -11 00066 #define CC_JIS -12 00067 #define CC_JIS_ANK -13 00068 #define CC_NS86 -14 00069 #define CC_TCA -15 00070 #define CC_GB2312 -16 00071 #define CC_SJIS -17 00072 #define CC_WANSUNG -18 00073 00074 #define UFF_FILE_MAGIC 'UFF1' 00075 #define UFF_VERSION_NUMBER 0x10001 00076 #define FONT_DIR_SORTED 1 00077 #define FONT_REC_SIG 'CERF' 00078 #define WINNT_INSTALLER_SIG 'IFTN' 00079 00080 #define FONT_FL_UFM 0x0001 00081 #define FONT_FL_IFI 0x0002 00082 #define FONT_FL_SOFTFONT 0x0004 00083 #define FONT_FL_PERMANENT_SF 0x0008 00084 #define FONT_FL_DEVICEFONT 0x0010 00085 #define FONT_FL_GLYPHSET_GTT 0x0020 00086 #define FONT_FL_GLYPHSET_RLE 0x0040 00087 #define FONT_FL_RESERVED 0x8000 00088 00089 #define DATA_UFM_SIG 'MFUD' 00090 #define DATA_IFI_SIG 'IFID' 00091 #define DATA_GTT_SIG 'TTGD' 00092 #define DATA_CTT_SIG 'TTCD' 00093 #define DATA_VAR_SIG 'RAVD' 00094 00095 #define FG_CANCHANGE 128 00096 #define WM_FI_FILENAME 900 00097 00098 #define GET_UNIDRVINFO(pUFM) ((PUNIDRVINFO)((ULONG_PTR)(pUFM) + (pUFM)->loUnidrvInfo)) 00099 #define GET_IFIMETRICS(pUFM) ((IFIMETRICS*)((ULONG_PTR)(pUFM) + (pUFM)->loIFIMetrics)) 00100 #define GET_EXTTEXTMETRIC(pUFM) ((EXTTEXTMETRIC*)((ULONG_PTR)(pUFM) + (pUFM)->loExtTextMetric)) 00101 #define GET_WIDTHTABLE(pUFM) ((PWIDTHTABLE)((ULONG_PTR)(pUFM) + (pUFM)->loWidthTable)) 00102 #define GET_KERNDATA(pUFM) ((PKERNDATA)((ULONG_PTR)(pUFM) + (pUFM)->loKernPair)) 00103 #define GET_SELECT_CMD(pUni) ((PCHAR)(pUni) + (pUni)->SelectFont.loOffset) 00104 #define GET_UNSELECT_CMD(pUni) ((PCHAR)(pUni) + (pUni)->UnSelectFont.loOffset) 00105 #define GET_GLYPHRUN(pGTT) ((PGLYPHRUN)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loRunOffset)) 00106 #define GET_CODEPAGEINFO(pGTT) ((PUNI_CODEPAGEINFO)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loCodePageOffset)) 00107 #define GET_MAPTABLE(pGTT) ((PMAPTABLE)((ULONG_PTR)(pGTT) + ((PUNI_GLYPHSETDATA)pGTT)->loMapTableOffset)) 00108 00109 typedef struct _UNIFM_HDR 00110 { 00111 DWORD dwSize; 00112 DWORD dwVersion; 00113 ULONG ulDefaultCodepage; 00114 LONG lGlyphSetDataRCID; 00115 DWORD loUnidrvInfo; 00116 DWORD loIFIMetrics; 00117 DWORD loExtTextMetric; 00118 DWORD loWidthTable; 00119 DWORD loKernPair; 00120 DWORD dwReserved[2]; 00121 } UNIFM_HDR, *PUNIFM_HDR; 00122 00123 typedef struct _INVOC 00124 { 00125 DWORD dwCount; 00126 DWORD loOffset; 00127 } INVOC, *PINVOC; 00128 00129 typedef struct _UNIDRVINFO 00130 { 00131 DWORD dwSize; 00132 DWORD flGenFlags; 00133 WORD wType; 00134 WORD fCaps; 00135 WORD wXRes; 00136 WORD wYRes; 00137 SHORT sYAdjust; 00138 SHORT sYMoved; 00139 WORD wPrivateData; 00140 SHORT sShift; 00141 INVOC SelectFont; 00142 INVOC UnSelectFont; 00143 WORD wReserved[4]; 00144 } UNIDRVINFO, *PUNIDRVINFO; 00145 00146 typedef struct _EXTTEXTMETRIC 00147 { 00148 SHORT emSize; 00149 SHORT emPointSize; 00150 SHORT emOrientation; 00151 SHORT emMasterHeight; 00152 SHORT emMinScale; 00153 SHORT emMaxScale; 00154 SHORT emMasterUnits; 00155 SHORT emCapHeight; 00156 SHORT emXHeight; 00157 SHORT emLowerCaseAscent; 00158 SHORT emLowerCaseDescent; 00159 SHORT emSlant; 00160 SHORT emSuperScript; 00161 SHORT emSubScript; 00162 SHORT emSuperScriptSize; 00163 SHORT emSubScriptSize; 00164 SHORT emUnderlineOffset; 00165 SHORT emUnderlineWidth; 00166 SHORT emDoubleUpperUnderlineOffset; 00167 SHORT emDoubleLowerUnderlineOffset; 00168 SHORT emDoubleUpperUnderlineWidth; 00169 SHORT emDoubleLowerUnderlineWidth; 00170 SHORT emStrikeOutOffset; 00171 SHORT emStrikeOutWidth; 00172 WORD emKernPairs; 00173 WORD emKernTracks; 00174 } EXTTEXTMETRIC, *PEXTTEXTMETRIC; 00175 00176 typedef struct _WIDTHRUN 00177 { 00178 WORD wStartGlyph; 00179 WORD wGlyphCount; 00180 DWORD loCharWidthOffset; 00181 } WIDTHRUN, *PWIDTHRUN; 00182 00183 typedef struct _WIDTHTABLE 00184 { 00185 DWORD dwSize; 00186 DWORD dwRunNum; 00187 WIDTHRUN WidthRun[1]; 00188 } WIDTHTABLE, *PWIDTHTABLE; 00189 00190 typedef struct _KERNDATA 00191 { 00192 DWORD dwSize; 00193 DWORD dwKernPairNum; 00194 FD_KERNINGPAIR KernPair[1]; 00195 } KERNDATA, *PKERNDATA; 00196 00197 typedef struct _UNI_GLYPHSETDATA 00198 { 00199 DWORD dwSize; 00200 DWORD dwVersion; 00201 DWORD dwFlags; 00202 LONG lPredefinedID; 00203 DWORD dwGlyphCount; 00204 DWORD dwRunCount; 00205 DWORD loRunOffset; 00206 DWORD dwCodePageCount; 00207 DWORD loCodePageOffset; 00208 DWORD loMapTableOffset; 00209 DWORD dwReserved[2]; 00210 } UNI_GLYPHSETDATA, *PUNI_GLYPHSETDATA; 00211 00212 typedef struct _UNI_CODEPAGEINFO 00213 { 00214 DWORD dwCodePage; 00215 INVOC SelectSymbolSet; 00216 INVOC UnSelectSymbolSet; 00217 } UNI_CODEPAGEINFO, *PUNI_CODEPAGEINFO; 00218 00219 typedef struct _GLYPHRUN 00220 { 00221 WCHAR wcLow; 00222 WORD wGlyphCount; 00223 } GLYPHRUN, *PGLYPHRUN; 00224 00225 typedef struct _TRANSDATA 00226 { 00227 BYTE ubCodePageID; 00228 BYTE ubType; 00229 union 00230 { 00231 SHORT sCode; 00232 BYTE ubCode; 00233 BYTE ubPairs[2]; 00234 } uCode; 00235 } TRANSDATA, *PTRANSDATA; 00236 00237 typedef struct _MAPTABLE { 00238 DWORD dwSize; 00239 DWORD dwGlyphNum; 00240 TRANSDATA Trans[1]; 00241 } MAPTABLE, *PMAPTABLE; 00242 00243 typedef struct _UFF_FILEHEADER { 00244 DWORD dwSignature; 00245 DWORD dwVersion; 00246 DWORD dwSize; 00247 DWORD nFonts; 00248 DWORD nGlyphSets; 00249 DWORD nVarData; 00250 DWORD offFontDir; 00251 DWORD dwFlags; 00252 DWORD dwReserved[4]; 00253 } UFF_FILEHEADER, *PUFF_FILEHEADER; 00254 00255 typedef struct _UFF_FONTDIRECTORY { 00256 DWORD dwSignature; 00257 WORD wSize; 00258 WORD wFontID; 00259 SHORT sGlyphID; 00260 WORD wFlags; 00261 DWORD dwInstallerSig; 00262 DWORD offFontName; 00263 DWORD offCartridgeName; 00264 DWORD offFontData; 00265 DWORD offGlyphData; 00266 DWORD offVarData; 00267 } UFF_FONTDIRECTORY, *PUFF_FONTDIRECTORY; 00268 00269 typedef struct _DATA_HEADER { 00270 DWORD dwSignature; 00271 WORD wSize; 00272 WORD wDataID; 00273 DWORD dwDataSize; 00274 DWORD dwReserved; 00275 } DATA_HEADER, *PDATA_HEADER; 00276 00277 typedef struct _OEMFONTINSTPARAM { 00278 DWORD cbSize; 00279 HANDLE hPrinter; 00280 HANDLE hModule; 00281 HANDLE hHeap; 00282 DWORD dwFlags; 00283 PWSTR pFontInstallerName; 00284 } OEMFONTINSTPARAM, *POEMFONTINSTPARAM; 00285 00286 #endif /* __PRNTFONT_H */ Generated on Mon May 28 2012 04:32:00 for ReactOS by
1.7.6.1
|