74#define INITIAL_FAMILY_COUNT 64
143 if(plenW) *plenW = lenW;
164 if (lastChar > 0xffff)
166 if ((firstChar ^ lastChar) > 0xff)
179 for(
i = 0,
c = firstChar;
c <= lastChar;
i++,
c++)
210#define IFFCX_CHARSET 1
219 ULONG WeightDiff1, WeightDiff2;
234 if (WeightDiff1 < WeightDiff2)
236 if (WeightDiff1 > WeightDiff2)
253#define IEFF_UNICODE 1
254#define IEFF_EXTENDED 2
261 DWORD dwCompareFlags = 0;
270 last = &InfoList[nCount];
327 if (FontFamilyCount < 0)
350 if (FontFamilyCount < 0 || FontFamilyCount < InfoCount)
362 for (
i = 0;
i < FontFamilyCount;
i++)
382 &
Info[
i].NewTextMetricEx);
384 (
VOID*)&EnumLogFontExA,
385 (
VOID*)&NewTextMetricExA,
407 DPRINT(
"EnumFontFamiliesExW(%p, %p(%S, %u, %u), %p, %p, 0x%08lX)\n",
413 DPRINT(
"EnumFontFamiliesExW(%p, NULL, %p, %p, 0x%08lX)\n",
430 DPRINT(
"EnumFontFamiliesW(%p, %S, %p, %p)\n",
431 hdc, lpszFamily, lpEnumFontFamProc,
lParam);
435 if (
NULL != lpszFamily)
437 if (!*lpszFamily)
return 1;
456 DPRINT(
"EnumFontFamiliesExA(%p, %p(%s, %u, %u), %p, %p, 0x%08lX)\n",
462 DPRINT(
"EnumFontFamiliesExA(%p, NULL, %p, %p, 0x%08lX)\n",
469 pLogFontW = &LogFontW;
471 else pLogFontW =
NULL;
487 DPRINT(
"EnumFontFamiliesA(%p, %s, %p, %p)\n",
488 hdc, lpszFamily, lpEnumFontFamProc,
lParam);
492 if (
NULL != lpszFamily)
494 if (!*lpszFamily)
return 1;
521 if ( !lpString || uCount <= 0 || !lpResults || (nMaxExtent < 0 && nMaxExtent != -1 ) )
530 memcpy(&resultsW, lpResults,
sizeof(resultsW));
532 lpStringW =
FONT_mbtowc(
hdc, lpString, uCount, &uCountW, &font_cp);
533 if (lpStringW ==
NULL)
582 DPRINT(
"GetCharacterPlacementW\n");
607 for (
i = 0;
i < nSet;
i++)
615 for (
i = 0;
i < nSet;
i++)
627 for (
i = 1;
i < nSet;
i++)
655 if ( !lpString || uCount <= 0 || (nMaxExtent < 0 && nMaxExtent != -1 ) )
671 if ( nSet > lpResults->
nGlyphs )
693 DPRINT(
"GetCharABCWidthsFloatW\n");
694 if ((!abcF) || (FirstChar > LastChar))
701 (
ULONG)(LastChar - FirstChar + 1),
718 DPRINT(
"GetCharWidthsFloatW\n");
719 if ((!pxBuffer) || (iFirstChar > iLastChar))
726 (
ULONG)(iLastChar - iFirstChar + 1),
743 DPRINT(
"GetCharWidthsW\n");
744 if ((!
lpBuffer) || (iFirstChar > iLastChar))
751 (
ULONG)(iLastChar - iFirstChar + 1),
768 DPRINT(
"GetCharWidths32W\n");
769 if ((!
lpBuffer) || (iFirstChar > iLastChar))
776 (
ULONG)(iLastChar - iFirstChar + 1),
794 DPRINT(
"GetCharABCWidthsW\n");
795 if ((!lpabc) || (FirstChar > LastChar))
802 (
ULONG)(LastChar - FirstChar + 1),
825 DPRINT(
"GetCharWidthsA\n");
868 DPRINT(
"GetCharWidths32A\n");
911 DPRINT(
"GetCharWidthsFloatA\n");
948 DPRINT(
"GetCharABCWidthsA\n");
991 DPRINT(
"GetCharABCWidthsFloatA\n");
1022 DPRINT(
"GetCharABCWidthsI\n");
1043 DPRINT(
"GetCharWidthsI\n");
1049 if (!cgi)
return TRUE;
1067 DWORD Gcp = 0, Ret = 0;
1128 DPRINT(
"GetGlyphOutlineA uChar %x\n", uChar);
1137 mbchs[0] = (uChar & 0xff00) >> 8;
1138 mbchs[1] = (uChar & 0xff);
1143 mbchs[0] = (uChar & 0xff);
1173 DPRINT(
"GetGlyphOutlineW uChar %x\n", uChar);
1175 if (!lpvBuffer) cbBuffer = 0;
1252 DPRINT(
"needed = %u\n", needed);
1295 ptr = (
char*)(output + 1);
1296 left = needed -
sizeof(*output);
1349 memcpy(lpOTM, output, cbData);
1410 UINT Size, AvailableSize = 0, StringSize;
1420 if (!lpOTM || (cbData <
sizeof(*lpOTM)))
1434 DPRINT1(
"NtGdiGetTransform failed!\n");
1484 Size =
sizeof(*lpOTM);
1485 AvailableSize = cbData -
Size;
1486 Ptr = (
BYTE*)lpOTM +
sizeof(*lpOTM);
1493 if (AvailableSize >= StringSize)
1498 AvailableSize -= StringSize;
1507 if (AvailableSize >= StringSize)
1512 AvailableSize -= StringSize;
1521 if (AvailableSize >= StringSize)
1526 AvailableSize -= StringSize;
1535 if (AvailableSize >= StringSize)
1540 AvailableSize -= StringSize;
1561 if ((cPairs != 0) || (pkpDst == 0))
1584 DWORD i, total_kern_pairs, kern_pairs_copied = 0;
1587 if (!cPairs && kern_pairA)
1611 if (!total_kern_pairs)
return 0;
1613 if (!cPairs && !kern_pairA)
return total_kern_pairs;
1616 if (kern_pairW ==
NULL)
1622 for (
i = 0;
i < total_kern_pairs;
i++)
1637 if (kern_pairs_copied >= cPairs)
break;
1644 kern_pairs_copied++;
1649 return kern_pairs_copied;
1669 (
PVOID) &elfexd->elfDesignVector,
1726 plf = &
Info[
i].EnumLogFontEx.elfLogFont;
1727 DPRINT1(
"%d: '%S',%u,'%S', %ld:%ld, %ld, %d, %d\n",
i,
1735#ifndef RTL_SOFT_ASSERT
1736#define RTL_SOFT_ASSERT(exp) \
1738 DbgPrint("%s(%d): Soft assertion failed\n Expression: %s\n", __FILE__, __LINE__, #exp), FALSE : TRUE)
1739#define RTL_SOFT_ASSERT_defined
1754 DPRINT1(
"ret: %ld, InfoCount: %ld\n",
ret, InfoCount);
1765 DPRINT1(
"ret: %ld, InfoCount: %ld\n",
ret, InfoCount);
1787 DPRINT1(
"ret: %ld, InfoCount: %ld\n",
ret, InfoCount);
1792#ifdef RTL_SOFT_ASSERT_defined
1793#undef RTL_SOFT_ASSERT_defined
1794#undef RTL_SOFT_ASSERT
1814 DoFontSystemUnittest();
1856 DWORD fdwOutputPrecision,
1857 DWORD fdwClipPrecision,
1859 DWORD fdwPitchAndFamily,
1906 DWORD fdwOutputPrecision,
1907 DWORD fdwClipPrecision,
1909 DWORD fdwPitchAndFamily,
1929 if (
NULL != lpszFace)
1957 *pcwc = *pcFiles = 0;
1971 ULONG pathCount = 1;
1972 for (
PCWSTR pch1 = pszFiles; *pch1; ++pch1)
1980 PWSTR pszBuff = HEAP_alloc(cchBuff *
sizeof(
WCHAR));
1985 *pcFiles = pathCount;
1991 for (pch1 = pch1Prev = pszFiles;; ++pch1)
1993 if (*pch1 && *pch1 !=
L'|')
1996 UINT_PTR spanLen = pch1 - pch1Prev;
2028 PCWSTR pchDotExt = &szFullPath[
cch - 4];
2029 if (
_wcsicmp(pchDotExt,
L".pfb") != 0 &&
2059 pch1Prev = pch1 + 1;
2065 *pcwc = *pcFiles = 0;
2074 for (
PWSTR pch2 = pszBuff; *pch2; ++pch2)
2106 if (
fl & ~(FR_PRIVATE | FR_NOT_ENUM))
2123 if (
fl & ~(FR_PRIVATE | FR_NOT_ENUM))
2196 if (
fl & ~(FR_PRIVATE | FR_NOT_ENUM))
2237 DPRINT(
"RemoveFontResourceExW\n");
2239 if (
fl & ~(FR_PRIVATE | FR_NOT_ENUM))
2297 static const WCHAR alphabet[] =
2299 'a',
'b',
'c',
'd',
'e',
'f',
'g',
'h',
'i',
'j',
'k',
'l',
'm',
'n',
'o',
'p',
'q',
2300 'r',
's',
't',
'u',
'v',
'w',
'x',
'y',
'z',
'A',
'B',
'C',
'D',
'E',
'F',
'G',
'H',
2301 'I',
'J',
'K',
'L',
'M',
'N',
'O',
'P',
'Q',
'R',
'S',
'T',
'U',
'V',
'W',
'X',
'Y',
'Z',0
2311 return (sz.
cx / 26 + 1) / 2;
2371 DPRINT(
"Index %d Charset %u CodePage %u FontSig %lu\n",
2393 if (Dc_Attr ==
NULL)
2470#define EfdFontFamilies 3
2482 ULONG cbDataSize, cbRetSize;
2500 if (cbDataSize == 0)
2588 if ( pbFont && cbFont && pcFonts)
2722 if (!lpBaseFaceName)
INT APIENTRY NtGdiAddFontResourceW(_In_reads_(cwc) WCHAR *pwszFiles, _In_ ULONG cwc, _In_ ULONG cFiles, _In_ FLONG f, _In_ DWORD dwPidTid, _In_opt_ DESIGNVECTOR *pdv)
static BOOL CALLBACK EnumProc(_In_ HWND hWnd, _In_ LPARAM lParam)
ACPI_SIZE strlen(const char *String)
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
void __cdecl qsort(_Inout_updates_bytes_(_NumOfElements *_SizeOfElements) void *_Base, _In_ size_t _NumOfElements, _In_ size_t _SizeOfElements, _In_ int(__cdecl *_PtFuncCompare)(const void *, const void *))
static TAGREF LPCWSTR LPDWORD LPVOID lpBuffer
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INVALID_FUNCTION
#define NT_SUCCESS(StatCode)
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
#define ERROR_CALL_NOT_IMPLEMENTED
#define ERROR_INVALID_PARAMETER
#define INVALID_HANDLE_VALUE
#define HeapFree(x, y, z)
#define ERROR_INVALID_HANDLE
#define FILE_ATTRIBUTE_NORMAL
#define WideCharToMultiByte
#define MultiByteToWideChar
DWORD WINAPI SearchPathW(IN LPCWSTR lpPath OPTIONAL, IN LPCWSTR lpFileName, IN LPCWSTR lpExtension OPTIONAL, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart OPTIONAL)
UINT WINAPI GetWindowsDirectoryW(OUT LPWSTR lpBuffer, IN UINT uSize)
BOOL WINAPI GetCPInfo(UINT codepage, LPCPINFO cpinfo)
INT WINAPI GetLocaleInfoW(LCID lcid, LCTYPE lctype, LPWSTR buffer, INT len)
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
__kernel_ptrdiff_t ptrdiff_t
ULONG RtlCompareUnicodeString(PUNICODE_STRING s1, PUNICODE_STRING s2, BOOLEAN UpCase)
LONG NTAPI NtGdiGetFontFamilyInfo(HDC Dc, const LOGFONTW *UnsafeLogFont, PFONTFAMILYINFO UnsafeInfo, LPLONG UnsafeInfoCount)
_Must_inspect_result_ _In_ PFSRTL_PER_STREAM_CONTEXT Ptr
VOID WINAPI EnumLogFontExW2A(LPENUMLOGFONTEXA fontA, CONST ENUMLOGFONTEXW *fontW)
VOID NTAPI LogFontA2W(LPLOGFONTW pW, CONST LOGFONTA *pA)
LPKGCP LpkGetCharacterPlacement
VOID NTAPI LogFontW2A(LPLOGFONTA pA, CONST LOGFONTW *pW)
PWSTR FASTCALL HEAP_strdupA2W_buf(_In_ PCSTR lpszA, _In_ PWSTR pszStaticBuff, _In_ SIZE_T cchStaticBuff)
DWORD WINAPI GetDCDWord(_In_ HDC hdc, _In_ UINT u, _In_ DWORD dwError)
BOOL WINAPI LoadLPK(INT LpkFunctionID)
static VOID FASTCALL HEAP_free(_In_ __drv_freesMem(Mem) PVOID memory)
VOID WINAPI GdiSetLastError(DWORD dwErrCode)
FORCEINLINE PDC_ATTR GdiGetDcAttr(HDC hdc)
NTSTATUS FASTCALL HEAP_strdupA2W(_Outptr_ PWSTR *ppszW, _In_ PCSTR lpszA)
static VOID FASTCALL HEAP_strdupA2W_buf_free(_In_opt_ PWSTR pszDynamicBuff, _In_ PWSTR pszStaticBuff)
BOOL APIENTRY NtGdiGetTransform(_In_ HDC hdc, _In_ DWORD iXform, _Out_ LPXFORM pxf)
GLuint GLuint GLsizei count
GLint GLint GLsizei GLsizei height
GLint GLint GLsizei width
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_Check_return_ long __cdecl labs(_In_ long x)
_Check_return_ _CRT_JIT_INTRINSIC double __cdecl fabs(_In_ double x)
_Check_return_ _CRTIMP double __cdecl floor(_In_ double x)
_CRTIMP size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
NTSYSAPI ULONG WINAPI RtlNtStatusToDosError(NTSTATUS)
#define EXCEPTION_EXECUTE_HANDLER
#define memcpy(s1, s2, n)
#define ERROR_FILE_NOT_FOUND
static const struct update_accum a1
static const struct update_accum a2
static const struct update_accum a3
static const struct update_accum a4
static DWORD DWORD void LPSTR DWORD cch
static LPCSTR DWORD void * pvReserved
static LPTEXTMETRICW lptm
static LPCSTR INT LPWORD pgi
static LPCSTR INT LPWORD DWORD flags
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
static const char mbstate_t *static wchar_t const char mbstate_t *static const wchar_t int *static double
#define cmp(status, error)
unsigned __int3264 UINT_PTR
_In_ NDIS_STATUS _In_ ULONG _In_ USHORT _In_opt_ PVOID _In_ ULONG DataSize
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U(_In_opt_z_ PCWSTR DosPathName, _Out_ PUNICODE_STRING NtPathName, _Out_opt_ PCWSTR *NtFileNamePart, _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo)
NTSYSAPI NTSTATUS NTAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING DestinationString, PANSI_STRING SourceString, BOOLEAN AllocateDestinationString)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
NTSYSAPI VOID NTAPI RtlInitAnsiString(PANSI_STRING DestinationString, PCSZ SourceString)
__kernel_entry W32KAPI DWORD APIENTRY NtGdiGetGlyphIndicesW(_In_ HDC hdc, _In_reads_opt_(cwc) LPCWSTR pwc, _In_ INT cwc, _Out_writes_opt_(cwc) LPWORD pgi, _In_ DWORD iMode)
__kernel_entry W32KAPI ULONG APIENTRY NtGdiGetKerningPairs(_In_ HDC hdc, _In_ ULONG cPairs, _Out_writes_to_opt_(cPairs, return) KERNINGPAIR *pkpDst)
__kernel_entry W32KAPI HANDLE APIENTRY NtGdiAddFontMemResourceEx(_In_reads_bytes_(cjBuffer) PVOID pvBuffer, _In_ DWORD cjBuffer, _In_reads_bytes_opt_(cjDV) DESIGNVECTOR *pdv, _In_ ULONG cjDV, _Out_ DWORD *pNumFonts)
_In_ DWORD _In_ DWORD dwOffset
__kernel_entry W32KAPI ULONG APIENTRY NtGdiGetGlyphOutline(_In_ HDC hdc, _In_ WCHAR wch, _In_ UINT iFormat, _Out_ LPGLYPHMETRICS pgm, _In_ ULONG cjBuf, _Out_writes_bytes_opt_(cjBuf) PVOID pvBuf, _In_ LPMAT2 pmat2, _In_ BOOL bIgnoreRotation)
__kernel_entry W32KAPI ULONG APIENTRY NtGdiGetOutlineTextMetricsInternalW(_In_ HDC hdc, _In_ ULONG cjotm, _Out_writes_bytes_opt_(cjotm) OUTLINETEXTMETRICW *potmw, _Out_ TMDIFF *ptmd)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiEnumFontChunk(_In_ HDC hdc, _In_ ULONG_PTR idEnum, _In_ ULONG cjEfdw, _Out_ ULONG *pcjEfdw, _Out_ PENUMFONTDATAW pefdw)
__kernel_entry W32KAPI NTSTATUS APIENTRY NtGdiFlush(VOID)
__kernel_entry W32KAPI HFONT APIENTRY NtGdiHfontCreate(_In_reads_bytes_(cjElfw) ENUMLOGFONTEXDVW *pelfw, _In_ ULONG cjElfw, _In_ LFTYPE lft, _In_ FLONG fl, _In_ PVOID pvCliData)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiGetCharABCWidthsW(_In_ HDC hdc, _In_ UINT wchFirst, _In_ ULONG cwch, _In_reads_opt_(cwch) PWCHAR pwch, _In_ FLONG fl, _Out_writes_bytes_(cwch *sizeof(ABC)) PVOID pvBuf)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiEnumFontClose(_In_ ULONG_PTR idEnum)
__kernel_entry W32KAPI INT APIENTRY NtGdiGetTextCharsetInfo(_In_ HDC hdc, _Out_opt_ LPFONTSIGNATURE lpSig, _In_ DWORD dwFlags)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiEnumFonts(_In_ HDC hdc, _In_ ULONG iEnumType, _In_ FLONG flWin31Compat, _In_ ULONG cchFaceName, _In_reads_opt_(cchFaceName) LPCWSTR pwszFaceName, _In_ ULONG lfCharSet, _Inout_ ULONG *pulCount, _Out_writes_bytes_opt_(*pulCount) PVOID pvUserModeBuffer)
__kernel_entry W32KAPI ULONG_PTR APIENTRY NtGdiEnumFontOpen(_In_ HDC hdc, _In_ ULONG iEnumType, _In_ FLONG flWin31Compat, _In_ ULONG cwchMax, _In_opt_ LPWSTR pwszFaceName, _In_ ULONG lfCharSet, _Out_ ULONG *pulCount)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiRemoveFontResourceW(_In_reads_(cwc) WCHAR *pwszFiles, _In_ ULONG cwc, _In_ ULONG cFiles, _In_ ULONG fl, _In_ DWORD dwPidTid, _In_opt_ DESIGNVECTOR *pdv)
__kernel_entry W32KAPI ULONG APIENTRY NtGdiQueryFontAssocInfo(_In_ HDC hdc)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiRemoveFontMemResourceEx(_In_ HANDLE hMMFont)
__kernel_entry W32KAPI DWORD APIENTRY NtGdiGetCharacterPlacementW(_In_ HDC hdc, _In_reads_z_(nCount) LPWSTR pwsz, _In_ INT nCount, _In_ INT nMaxExtent, _Inout_ LPGCP_RESULTSW pgcpw, _In_ DWORD dwFlags)
__kernel_entry W32KAPI BOOL APIENTRY NtGdiGetCharWidthW(_In_ HDC hdc, _In_ UINT wcFirst, _In_ UINT cwc, _In_reads_opt_(cwc) PWCHAR pwc, _In_ FLONG fl, _Out_writes_bytes_(cwc *sizeof(ULONG)) PVOID pvBuf)
__kernel_entry W32KAPI ULONG APIENTRY NtGdiGetEudcTimeStampEx(_In_reads_opt_(cwcBaseFaceName) LPWSTR lpBaseFaceName, _In_ ULONG cwcBaseFaceName, _In_ BOOL bSystemTimeStamp)
struct tagFONTFAMILYINFO FONTFAMILYINFO
#define DC_FONTTEXT_DIRTY
struct _ENUMFONTDATAW * PENUMFONTDATAW
struct _NTMW_INTERNAL * PNTMW_INTERNAL
#define GdiDeviceSpaceToWorldSpace
#define _SEH2_EXCEPT(...)
#define _SEH2_YIELD(__stmt)
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
STRSAFEAPI StringCchCatW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCbCopyW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszSrc)
STRSAFEAPI StringCchCopyNW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc, size_t cchToCopy)
WCHAR lfFaceName[LF_FACESIZE]
int otmsStrikeoutPosition
POINT otmptSuperscriptOffset
POINT otmptSubscriptOffset
TEXTMETRICA otmTextMetrics
POINT otmptSuperscriptSize
int otmsUnderscorePosition
POINT otmptSuperscriptOffset
POINT otmptSuperscriptSize
int otmsStrikeoutPosition
int otmsUnderscorePosition
TEXTMETRICW otmTextMetrics
POINT otmptSubscriptOffset
BYTE DefaultChar[MAX_DEFAULTCHAR]
BYTE elfFullName[LF_FULLFACESIZE]
BYTE elfScript[LF_FACESIZE]
BYTE elfStyle[LF_FACESIZE]
DESIGNVECTOR elfDesignVector
ENUMLOGFONTEXW elfEnumLogfontEx
WCHAR elfStyle[LF_FACESIZE]
WCHAR elfFullName[LF_FULLFACESIZE]
WCHAR elfScript[LF_FACESIZE]
ENUMLOGFONTEXW EnumLogFontEx
CHAR lfFaceName[LF_FACESIZE]
WCHAR lfFaceName[LF_FACESIZE]
#define RtlCopyMemory(Destination, Source, Length)
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
VOID FASTCALL NewTextMetricExW2A(NEWTEXTMETRICEXA *tma, NEWTEXTMETRICEXW *tmw)
BOOL WINAPI RemoveFontResourceW(_In_ LPCWSTR lpFileName)
FORCEINLINE int FASTCALL IntFontFamilyCompareEx(const FONTFAMILYINFO *ffi1, const FONTFAMILYINFO *ffi2, DWORD dwCompareFlags)
BOOL WINAPI GetCharWidthFloatW(HDC hdc, UINT iFirstChar, UINT iLastChar, PFLOAT pxBuffer)
HFONT WINAPI CreateFontIndirectExW(const ENUMLOGFONTEXDVW *elfexd)
static const CHARSETINFO FONT_tci[MAXTCIINDEX]
DWORD WINAPI GetKerningPairsA(HDC hDC, DWORD cPairs, LPKERNINGPAIR kern_pairA)
static INT width_to_LP(XFORM *xForm, INT width)
BOOL WINAPI GetCharWidth32A(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer)
DWORD WINAPI GetGlyphOutlineWow(DWORD a0, DWORD a1, DWORD a2, DWORD a3, DWORD a4, DWORD a5, DWORD a6)
VOID FASTCALL NewTextMetricW2A(NEWTEXTMETRICA *tma, NEWTEXTMETRICW *tmw)
DWORD WINAPI SetMapperFlags(HDC hDC, DWORD flags)
BOOL WINAPI CreateScalableFontResourceW(DWORD fdwHidden, LPCWSTR lpszFontRes, LPCWSTR lpszFontFile, LPCWSTR lpszCurrentPath)
BOOL WINAPI RemoveFontResourceExW(_In_ LPCWSTR lpFileName, _In_ DWORD fl, _In_opt_ PVOID pdv)
DWORD WINAPI GetFontLanguageInfo(HDC hDc)
DWORD WINAPI GetFontData(HDC hdc, DWORD dwTable, DWORD dwOffset, LPVOID lpvBuffer, DWORD cbData)
static int __cdecl IntFontFamilyCompare(const void *ffi1, const void *ffi2)
BOOL APIENTRY GetCharWidthFloatA(HDC hdc, UINT iFirstChar, UINT iLastChar, PFLOAT pxBuffer)
int FASTCALL IntFontFamilyListUnique(FONTFAMILYINFO *InfoList, INT nCount, const LOGFONTW *plf, DWORD dwFlags)
BOOL WINAPI GetCharABCWidthsFloatW(HDC hdc, UINT FirstChar, UINT LastChar, LPABCFLOAT abcF)
PWSTR FASTCALL IntConvertFontPaths(_In_ PCWSTR pszFiles, _Out_ PDWORD pcFiles, _Out_ PDWORD pcwc, _Inout_ PDWORD pfl, _In_ BOOL bFlag)
INT WINAPI NewEnumFontFamiliesExW(HDC hDC, LPLOGFONTW lpLogfont, FONTENUMPROCW lpEnumFontFamExProcW, LPARAM lParam, DWORD dwFlags)
BOOL WINAPI EudcLoadLinkW(LPCWSTR pBaseFaceName, LPCWSTR pEudcFontPath, INT iPriority, INT iFontLinkType)
static LPSTR FONT_GetCharsByRangeA(HDC hdc, UINT firstChar, UINT lastChar, PINT pByteLen)
int WINAPI RemoveFontResourceTracking(LPCSTR lpString, int unknown)
static __inline INT GDI_ROUND(FLOAT val)
static LPWSTR FONT_mbtowc(HDC hdc, LPCSTR str, INT count, INT *plenW, UINT *pCP)
LONG WINAPI GdiGetCharDimensions(HDC hdc, LPTEXTMETRICW lptm, LONG *height)
HFONT WINAPI CreateFontIndirectExA(const ENUMLOGFONTEXDVA *elfexd)
BOOL APIENTRY GetCharABCWidthsFloatA(HDC hdc, UINT iFirstChar, UINT iLastChar, LPABCFLOAT lpABCF)
VOID FASTCALL FONT_TextMetricWToA(const TEXTMETRICW *ptmW, LPTEXTMETRICA ptmA)
INT WINAPI AddFontResourceA(_In_ LPCSTR lpszFilename)
BOOL WINAPI RemoveFontResourceExA(_In_ LPCSTR lpFileName, _In_ DWORD fl, _In_opt_ PVOID pdv)
static INT INTERNAL_YDSTOWS(XFORM *xForm, INT height)
DWORD WINAPI NewGetCharacterPlacementW(HDC hdc, LPCWSTR lpString, INT uCount, INT nMaxExtent, GCP_RESULTSW *lpResults, DWORD dwFlags)
int WINAPI EnumFontsA(HDC hDC, LPCSTR lpFaceName, FONTENUMPROCA FontFunc, LPARAM lParam)
BOOL WINAPI RemoveFontMemResourceEx(HANDLE fh)
#define INITIAL_FAMILY_COUNT
BOOL WINAPI GetCharWidthW(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer)
INT WINAPI AddFontResourceW(_In_ LPCWSTR lpszFilename)
int WINAPI AddFontResourceTracking(LPCSTR lpString, int unknown)
static INT height_to_LP(XFORM *xForm, INT height)
ULONG WINAPI GetFontAssocStatus(HDC hdc)
BOOL WINAPI RemoveFontResourceA(_In_ LPCSTR lpFileName)
DWORD WINAPI GetEUDCTimeStampExW(LPWSTR lpBaseFaceName)
VOID WINAPI UnloadNetworkFonts(DWORD unknown)
BOOL WINAPI GetCharWidth32W(HDC hdc, UINT iFirstChar, UINT iLastChar, LPINT lpBuffer)
DWORD WINAPI QueryFontAssocStatus(VOID)
DWORD WINAPI cGetTTFFromFOT(DWORD x1, DWORD x2, DWORD x3, DWORD x4, DWORD x5, DWORD x6, DWORD x7)
INT WINAPI GdiAddFontResourceW(LPCWSTR lpszFilename, FLONG fl, DESIGNVECTOR *pdv)
int WINAPI EnumFontsW(HDC hDC, LPCWSTR lpFaceName, FONTENUMPROCW FontFunc, LPARAM lParam)
INT WINAPI AddFontResourceExW(_In_ LPCWSTR lpszFilename, _In_ DWORD fl, _In_opt_ PVOID pvReserved)
BOOL WINAPI bInitSystemAndFontsDirectoriesW(LPWSTR *SystemDir, LPWSTR *FontsDir)
ULONG WINAPI GetEUDCTimeStamp(VOID)
BOOL WINAPI EudcUnloadLinkW(LPCWSTR pBaseFaceName, LPCWSTR pEudcFontPath)
static int FASTCALL IntEnumFontFamilies(HDC Dc, const LOGFONTW *LogFont, PVOID EnumProc, LPARAM lParam, DWORD dwFlags)
DWORD APIENTRY NtGdiGetFontData(HDC hDC, DWORD Table, DWORD Offset, LPVOID Buffer, DWORD Size)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG _In_ LONG _In_ LONG x2
_In_ CLIPOBJ _In_ BRUSHOBJ _In_ LONG x1
_In_ ULONG_PTR _In_opt_ DESIGNVECTOR * pdv
#define ERROR_FILE_EXISTS
BOOL WINAPI GetTextMetricsW(_In_ HDC, _Out_ LPTEXTMETRICW)
BOOL WINAPI GetCharABCWidthsA(_In_ HDC hdc, _In_ UINT wFirst, _In_ UINT wLast, _Out_writes_(wLast - wFirst+1) LPABC lpABC)
UINT WINAPI GetOutlineTextMetricsA(_In_ HDC hdc, _In_ UINT cjCopy, _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICA potm)
BOOL WINAPI GetCharWidthI(_In_ HDC hdc, _In_ UINT giFirst, _In_ UINT cgi, _In_reads_opt_(cgi) LPWORD pgi, _Out_writes_(cgi) LPINT piWidths)
int WINAPI GetDeviceCaps(_In_opt_ HDC, _In_ int)
HFONT WINAPI CreateFontIndirectA(_In_ const LOGFONTA *)
DWORD WINAPI GetCharacterPlacementW(_In_ HDC hdc, _In_reads_(nCount) LPCWSTR lpString, _In_ int nCount, _In_ int nMexExtent, _Inout_ LPGCP_RESULTSW lpResults, _In_ DWORD dwFlags)
int WINAPI EnumFontFamiliesExW(_In_ HDC, _In_ PLOGFONTW, _In_ FONTENUMPROCW, _In_ LPARAM, _In_ DWORD)
struct _OUTLINETEXTMETRICA OUTLINETEXTMETRICA
BOOL WINAPI GetTextExtentPointW(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE lpsz)
int WINAPI EnumFontFamiliesExA(_In_ HDC, _In_ PLOGFONTA, _In_ FONTENUMPROCA, _In_ LPARAM, _In_ DWORD)
int WINAPI EnumFontFamiliesW(_In_ HDC, _In_opt_ LPCWSTR, _In_ FONTENUMPROCW, _In_ LPARAM)
int WINAPI GetTextCharset(_In_ HDC)
int WINAPI EnumFontFamiliesA(_In_ HDC, _In_opt_ LPCSTR, _In_ FONTENUMPROCA, _In_ LPARAM)
#define CHINESEBIG5_CHARSET
BOOL WINAPI GetCharABCWidthsI(_In_ HDC hdc, _In_ UINT giFirst, _In_ UINT cgi, _In_reads_opt_(cgi) LPWORD pgi, _Out_writes_(cgi) LPABC pabc)
HFONT WINAPI CreateFontW(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCWSTR)
UINT WINAPI GetOutlineTextMetricsW(_In_ HDC hdc, _In_ UINT cjCopy, _Out_writes_bytes_opt_(cjCopy) LPOUTLINETEXTMETRICW potm)
DWORD WINAPI GdiGetCodePage(HDC)
#define VIETNAMESE_CHARSET
DWORD WINAPI GetGlyphIndicesA(_In_ HDC hdc, _In_reads_(c) LPCSTR lpstr, _In_ int c, _Out_writes_(c) LPWORD pgi, _In_ DWORD fl)
HFONT WINAPI CreateFontA(_In_ int, _In_ int, _In_ int, _In_ int, _In_ int, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR)
DWORD WINAPI GetKerningPairsW(_In_ HDC hdc, _In_ DWORD nPairs, _Out_writes_to_opt_(nPairs, return) LPKERNINGPAIR lpKernPair)
HFONT WINAPI CreateFontIndirectW(_In_ const LOGFONTW *)
BOOL WINAPI CreateScalableFontResourceA(_In_ DWORD, _In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR)
DWORD WINAPI GetCharacterPlacementA(_In_ HDC hdc, _In_reads_(nCount) LPCSTR lpString, _In_ int nCount, _In_ int nMexExtent, _Inout_ LPGCP_RESULTSA lpResults, _In_ DWORD dwFlags)
INT WINAPI AddFontResourceExA(_In_ LPCSTR pszFilename, _In_ DWORD fl, _Reserved_ PVOID pvReserved)
BOOL WINAPI TranslateCharsetInfo(_Inout_ PDWORD, _Out_ LPCHARSETINFO, _In_ DWORD)
DWORD WINAPI GetGlyphOutlineW(_In_ HDC hdc, _In_ UINT uChar, _In_ UINT fuFormat, _Out_ LPGLYPHMETRICS lpgm, _In_ DWORD cjBuffer, _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, _In_ CONST MAT2 *lpmat2)
#define EASTEUROPE_CHARSET
BOOL WINAPI GetCharWidthA(_In_ HDC hdc, _In_ UINT iFirst, _In_ UINT iLast, _Out_writes_(iLast+1 - iFirst) LPINT lpBuffer)
BOOL WINAPI GetTextExtentPoint32W(_In_ HDC hdc, _In_reads_(c) LPCWSTR lpString, _In_ int c, _Out_ LPSIZE psizl)
DWORD WINAPI GetGlyphOutlineA(_In_ HDC hdc, _In_ UINT uChar, _In_ UINT fuFormat, _Out_ LPGLYPHMETRICS lpgm, _In_ DWORD cjBuffer, _Out_writes_bytes_opt_(cjBuffer) LPVOID pvBuffer, _In_ CONST MAT2 *lpmat2)
BOOL WINAPI GetCharABCWidthsW(_In_ HDC hdc, _In_ UINT wFirst, _In_ UINT wLast, _Out_writes_(wLast - wFirst+1) LPABC lpABC)
HANDLE WINAPI AddFontMemResourceEx(_In_reads_bytes_(cjSize) PVOID pvFileView, _In_ DWORD cjSize, _Reserved_ PVOID pvResrved, _In_ DWORD *pNumFonts)
#define LOCALE_FONTSIGNATURE
#define RTL_SOFT_ASSERT(exp)