114{
120
122 if (CodePage ==
NULL)
124
127 {
130 }
131
132
134
136 L"CPINFO %u 0x%02X 0x%04X\r\n\r\n",
137
139
140
142
143
145
146
148
149 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
150 {
152 {
154
156
158 L"0x%02X 0x%04X ;%s\r\n",
159 CodePageChar,
161 szCharName);
162 }
163 }
164
166
168 {
170
172
173 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
174 {
176 {
178
179 GetUName(GlyphTable[CodePageChar], szCharName);
180
182 L"0x%02X 0x%04X ;%s\r\n",
183 CodePageChar,
184 GlyphTable[CodePageChar],
185 szCharName);
186 }
187 }
188
190 }
191
193 {
197
199 L"DBCSRANGE %u ;%u DBCS Lead Byte Ranges\r\n\r\n",
202
204 {
205 if (!LeadByteRanges[
Index])
206 continue;
207
209 L"0x%X 0x%X ;Lead Byte Range %u\r\n\r\n",
213
216 LeadByte++)
217 {
219
221 L"DBCSTABLE %u ;Range = %u, LeadByte = 0x%02X\r\n\r\n",
224 LeadByte);
225
226 for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
227 {
229
231 {
233 L"0x%02X 0x%04X\r\n",
234 CodePageChar,
235 LeadByteInfo[
Info + CodePageChar]);
236 }
237 }
238
240 }
241 }
242 }
243
244
246
247 for (UnicodeChar = 0; UnicodeChar <= 0xFFFF; UnicodeChar++)
248 {
250 {
252
254
256 {
258
260 L"0x%04X 0x%04X ;%s\r\n",
261 UnicodeChar,
262 MultiByteTable[UnicodeChar],
263 szCharName);
264 }
265 else
266 {
268
270 L"0x%04X 0x%02X ;%s\r\n",
271 UnicodeChar,
272 SingleByteTable[UnicodeChar],
273 szCharName);
274 }
275 }
276 }
277
278
280
283
285}
int WINAPI GetUName(IN WORD wCharCode, OUT LPWSTR lpBuf)
static VOID BestFit_CloseFile(HANDLE hFile)
static HANDLE BestFit_CreateFile(const WCHAR *pszFile)
static VOID BestFit_Write(HANDLE hFile, const WCHAR *pszFormat,...)
USHORT NLS_RecordsCountForDBCSTable(PCPTABLEINFO CodePageTable, UCHAR LeadByte)
BOOL NLS_IsDBCSCodePage(PCPTABLEINFO CodePageTable)
BOOL NLS_IsGlyphTablePresent(PCPTABLEINFO CodePageTable)
USHORT NLS_RecordsCountForGlyphTable(PCPTABLEINFO CodePageTable)
BOOL NLS_IsDefaultCharForUnicode(PCPTABLEINFO CodePageTable, USHORT Char)
USHORT NLS_RecordsCountForMBTable(PCPTABLEINFO CodePageTable)
BOOL NLS_IsDefaultCharForMB(PCPTABLEINFO CodePageTable, UCHAR Char)
PUSHORT NLS_ReadFile(const WCHAR *pszFile, PCPTABLEINFO CodePageTable)
USHORT NLS_RecordsCountForUnicodeTable(PCPTABLEINFO CodePageTable)
#define MAXIMUM_LEADBYTES
_Out_ PCPTABLEINFO CodePageTable
UCHAR LeadByte[MAXIMUM_LEADBYTES]
USHORT MaximumCharacterSize
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ WDFCOLLECTION _In_ ULONG Index