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