10 #define _NLS_DEBUG_PRINT 12 #ifdef _NLS_DEBUG_PRINT 21 printf(
"Character size: %u\n",
header->MaximumCharacterSize);
23 printf(
"Default unicode char: 0x%04X\n",
header->UniDefaultChar);
24 printf(
"Trans default char: 0x%02X\n",
header->TransUniDefaultChar);
25 printf(
"Trans default unicode char: 0x%04X\n",
header->TransUniDefaultChar);
42 for (ch = 0; ch <= 0xFF; ch++)
44 if (mb_table[ch] != uni_default_char)
46 printf(
"0x%02X 0x%04X\n", (
unsigned int)ch, (
unsigned int)mb_table[ch]);
60 for (ch = 0; ch <= 0xFFFF; ch++)
67 if (
table[ch] != default_char)
68 printf(
"0x%04X 0x%04X\n", (
unsigned int)ch, (
unsigned int)
table[ch]);
75 if (
table[ch] != default_char)
76 printf(
"0x%04X 0x%02X\n", (
unsigned int)ch, (
unsigned int)
table[ch]);
90 for (ch = 0; ch <= 0xFF; ch++)
92 if (glyph_table[ch] != uni_default_char)
94 printf(
"0x%02X 0x%04X\n", (
unsigned int)ch, (
unsigned int)glyph_table[ch]);
121 is_dbcs = (
header.MaximumCharacterSize == 2) ? 1 : 0;
149 #ifdef _NLS_DEBUG_PRINT 161 printf(
"Unable to create NLS file.\n");
168 printf(
"Unable to write NLS file.\n");
174 (glyph_table ? (256 *
sizeof(
uint16_t)) : 0) +
184 printf(
"Unable to write NLS file.\n");
191 printf(
"Unable to write NLS file.\n");
196 size = (glyph_table ? 256 : 0);
200 printf(
"Unable to write NLS file.\n");
209 printf(
"Unable to write NLS file.\n");
215 number_of_lb_ranges = 0;
216 if (
fwrite(&number_of_lb_ranges, 1,
sizeof(number_of_lb_ranges),
file) !=
sizeof(number_of_lb_ranges))
218 printf(
"Unable to write NLS file.\n");
226 printf(
"Unable to write NLS file.\n");
231 if (
fwrite(wc_table, 1, (65536 *
header.MaximumCharacterSize),
file) != (65536 *
header.MaximumCharacterSize))
233 printf(
"Unable to write NLS file.\n");
uint16_t * txt_get_mb_table(const char *file_path, uint16_t uni_default_char)
unsigned short int uint16_t
_Check_return_opt_ _CRTIMP size_t __cdecl fwrite(_In_reads_bytes_(_Size *_Count) const void *_Str, _In_ size_t _Size, _In_ size_t _Count, _Inout_ FILE *_File)
static void nls_print_header(NLS_FILE_HEADER *header)
int txt_get_header(const char *file_path, NLS_FILE_HEADER *header)
static void nls_print_wc_table(uint16_t *wc_table, uint16_t default_char, int is_dbcs)
int nls_from_txt(const char *txt_file_path, const char *nls_file_path)
static void nls_print_glyph_table(uint16_t *glyph_table, uint16_t uni_default_char)
uint16_t * txt_get_glyph_table(const char *file_path, uint16_t uni_default_char)
#define MAXIMUM_LEADBYTES
uint16_t * txt_get_wc_table(const char *file_path, uint16_t default_char, int is_dbcs)
_Check_return_opt_ _CRTIMP int __cdecl fclose(_Inout_ FILE *_File)
_Check_return_ _CRTIMP FILE *__cdecl fopen(_In_z_ const char *_Filename, _In_z_ const char *_Mode)
static const WCHAR Cleanup[]
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
static void nls_print_mb_table(uint16_t *mb_table, uint16_t uni_default_char)