122 if (CodePage ==
NULL)
136 L"CPINFO %u 0x%02X 0x%04X\r\n\r\n",
149 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
158 L"0x%02X 0x%04X ;%s\r\n",
173 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
179 GetUName(GlyphTable[CodePageChar], szCharName);
182 L"0x%02X 0x%04X ;%s\r\n",
184 GlyphTable[CodePageChar],
199 L"DBCSRANGE %u ;%u DBCS Lead Byte Ranges\r\n\r\n",
205 if (!LeadByteRanges[
Index])
209 L"0x%X 0x%X ;Lead Byte Range %u\r\n\r\n",
221 L"DBCSTABLE %u ;Range = %u, LeadByte = 0x%02X\r\n\r\n",
226 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
233 L"0x%02X 0x%04X\r\n",
235 LeadByteInfo[
Info + CodePageChar]);
247 for (UnicodeChar = 0; UnicodeChar <= 0xFFFF; UnicodeChar++)
260 L"0x%04X 0x%04X ;%s\r\n",
262 MultiByteTable[UnicodeChar],
270 L"0x%04X 0x%02X ;%s\r\n",
272 SingleByteTable[UnicodeChar],
USHORT NLS_RecordsCountForUnicodeTable(PCPTABLEINFO CodePageTable)
BOOL WINAPI SetFilePointerEx(HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod)
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
USHORT NLS_RecordsCountForMBTable(PCPTABLEINFO CodePageTable)
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define WideCharToMultiByte
BOOL NLS_IsDefaultCharForMB(PCPTABLEINFO CodePageTable, UCHAR Char)
#define INVALID_HANDLE_VALUE
IN PVOID IN PVOID IN USHORT IN USHORT Size
STRSAFEAPI StringCbVPrintfW(STRSAFE_LPWSTR pszDest, size_t cbDest, STRSAFE_LPCWSTR pszFormat, va_list argList)
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
BOOL WINAPI UnlockFile(IN HANDLE hFile, IN DWORD dwFileOffsetLow, IN DWORD dwFileOffsetHigh, IN DWORD nNumberOfBytesToUnlockLow, IN DWORD nNumberOfBytesToUnlockHigh)
USHORT NLS_RecordsCountForDBCSTable(PCPTABLEINFO CodePageTable, UCHAR LeadByte)
BOOL NLS_IsGlyphTablePresent(PCPTABLEINFO CodePageTable)
UCHAR LeadByte[MAXIMUM_LEADBYTES]
_In_ WDFCOLLECTION _In_ ULONG Index
BOOL NLS_IsDefaultCharForUnicode(PCPTABLEINFO CodePageTable, USHORT Char)
USHORT MaximumCharacterSize
static HANDLE BestFit_CreateFile(const WCHAR *pszFile)
#define FILE_ATTRIBUTE_NORMAL
static CHAR * UTF8fromUNICODE(const WCHAR *pszInput, PSIZE_T Size)
_Must_inspect_result_ _Out_ PLARGE_INTEGER FileSize
#define MAXIMUM_LEADBYTES
USHORT NLS_RecordsCountForGlyphTable(PCPTABLEINFO CodePageTable)
BOOL WINAPI LockFile(IN HANDLE hFile, IN DWORD dwFileOffsetLow, IN DWORD dwFileOffsetHigh, IN DWORD nNumberOfBytesToLockLow, IN DWORD nNumberOfBytesToLockHigh)
_Check_return_ _CRTIMP int __cdecl _vscwprintf(_In_z_ _Printf_format_string_ const wchar_t *_Format, va_list _ArgList)
PUSHORT NLS_ReadFile(const WCHAR *pszFile, PCPTABLEINFO CodePageTable)
int WINAPI GetUName(IN WORD wCharCode, OUT LPWSTR lpBuf)
BOOL NLS_IsDBCSCodePage(PCPTABLEINFO CodePageTable)
_Out_ PCPTABLEINFO CodePageTable
static VOID BestFit_Write(HANDLE hFile, const WCHAR *pszFormat,...)
static VOID BestFit_CloseFile(HANDLE hFile)
BOOL BestFit_FromNLS(const WCHAR *pszNLSFile, const WCHAR *pszBestFitFile)
_In_ DWORD _In_ DWORD _Out_writes_to_opt_ pcchString LPSTR pszString