Mercurial > games > semicongine
diff fuhtark_test/include/ddk/prntfont.h @ 1500:91c8c3b7cbf0
add: futhark tests for generating vulkan api
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 21:36:48 +0700 |
| parents | |
| children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/ddk/prntfont.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,286 @@ +/* + * 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 */
