mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 22:56:00 +00:00
[NLS2TXT] Add missed check for default char
[TXT2NLS] Size of glyph table in words (create_nls uses wrong size) svn path=/trunk/; revision=72704
This commit is contained in:
parent
fc49388a2a
commit
ea13a8e917
4 changed files with 18 additions and 15 deletions
|
@ -172,15 +172,18 @@ BestFit_FromNLS(const WCHAR *pszNLSFile, const WCHAR *pszBestFitFile)
|
||||||
|
|
||||||
for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
|
for (CodePageChar = 0; CodePageChar <= 0xFF; CodePageChar++)
|
||||||
{
|
{
|
||||||
WCHAR szCharName[MAX_STR_LEN] = { 0 };
|
if (CodePageChar != CodePageTable.UniDefaultChar)
|
||||||
|
{
|
||||||
|
WCHAR szCharName[MAX_STR_LEN] = { 0 };
|
||||||
|
|
||||||
GetUName(GlyphTable[CodePageChar], szCharName);
|
GetUName(GlyphTable[CodePageChar], szCharName);
|
||||||
|
|
||||||
BestFit_Write(hFile,
|
BestFit_Write(hFile,
|
||||||
L"0x%02X 0x%04X ;%s\r\n",
|
L"0x%02X 0x%04X ;%s\r\n",
|
||||||
CodePageChar,
|
CodePageChar,
|
||||||
GlyphTable[CodePageChar],
|
GlyphTable[CodePageChar],
|
||||||
szCharName);
|
szCharName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
BestFit_Write(hFile, L"\r\n");
|
BestFit_Write(hFile, L"\r\n");
|
||||||
|
|
|
@ -62,7 +62,7 @@ NLS_ReadFile(const WCHAR *pszFile, PCPTABLEINFO CodePageTable)
|
||||||
hFile = CreateFile(pszFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
|
hFile = CreateFile(pszFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
|
||||||
if (hFile != INVALID_HANDLE_VALUE)
|
if (hFile != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
PUSHORT pData = NULL;
|
PUSHORT pData;
|
||||||
DWORD dwRead;
|
DWORD dwRead;
|
||||||
DWORD dwFileSize;
|
DWORD dwFileSize;
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ nls_from_txt(const char *txt_file_path, const char *nls_file_path)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* OEM glyph table size in words */
|
/* OEM glyph table size in words */
|
||||||
size = (glyph_table ? (256 * sizeof(uint16_t)) : 0);
|
size = (glyph_table ? 256 : 0);
|
||||||
|
|
||||||
if (fwrite(&size, 1, sizeof(size), file) != sizeof(size))
|
if (fwrite(&size, 1, sizeof(size), file) != sizeof(size))
|
||||||
{
|
{
|
||||||
|
|
|
@ -140,7 +140,7 @@ txt_get_mb_table(const char *file_path, uint16_t uni_default_char)
|
||||||
int res = 0;
|
int res = 0;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
|
|
||||||
table = malloc(0xFF * sizeof(uint16_t));
|
table = malloc(256 * sizeof(uint16_t));
|
||||||
if (!table)
|
if (!table)
|
||||||
{
|
{
|
||||||
printf("Memory allocation failure\n");
|
printf("Memory allocation failure\n");
|
||||||
|
@ -148,7 +148,7 @@ txt_get_mb_table(const char *file_path, uint16_t uni_default_char)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set default value for all table items */
|
/* Set default value for all table items */
|
||||||
for (index = 0; index <= 0xFF; index++)
|
for (index = 0; index <= 255; index++)
|
||||||
table[index] = uni_default_char;
|
table[index] = uni_default_char;
|
||||||
|
|
||||||
file = fopen(file_path, "r");
|
file = fopen(file_path, "r");
|
||||||
|
@ -254,7 +254,7 @@ txt_get_wc_table(const char *file_path, uint16_t default_char, int is_dbcs)
|
||||||
int found;
|
int found;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
|
|
||||||
table = malloc(0xFFFF * (is_dbcs ? sizeof(uint16_t) : sizeof(uint8_t)));
|
table = malloc(65536 * (is_dbcs ? sizeof(uint16_t) : sizeof(uint8_t)));
|
||||||
if (!table)
|
if (!table)
|
||||||
{
|
{
|
||||||
printf("Memory allocation failure\n");
|
printf("Memory allocation failure\n");
|
||||||
|
@ -262,7 +262,7 @@ txt_get_wc_table(const char *file_path, uint16_t default_char, int is_dbcs)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set default value for all table items */
|
/* Set default value for all table items */
|
||||||
for (index = 0; index <= 0xFFFF; index++)
|
for (index = 0; index <= 65535; index++)
|
||||||
{
|
{
|
||||||
/* DBCS code page */
|
/* DBCS code page */
|
||||||
if (is_dbcs)
|
if (is_dbcs)
|
||||||
|
@ -393,7 +393,7 @@ txt_get_glyph_table(const char *file_path, uint16_t uni_default_char)
|
||||||
int res = 0;
|
int res = 0;
|
||||||
FILE *file;
|
FILE *file;
|
||||||
|
|
||||||
table = malloc(0xFF * sizeof(uint16_t));
|
table = malloc(256 * sizeof(uint16_t));
|
||||||
if (!table)
|
if (!table)
|
||||||
{
|
{
|
||||||
printf("Memory allocation failure\n");
|
printf("Memory allocation failure\n");
|
||||||
|
@ -401,7 +401,7 @@ txt_get_glyph_table(const char *file_path, uint16_t uni_default_char)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set default value for all table items */
|
/* Set default value for all table items */
|
||||||
for (index = 0; index <= 0xFF; index++)
|
for (index = 0; index <= 255; index++)
|
||||||
table[index] = uni_default_char;
|
table[index] = uni_default_char;
|
||||||
|
|
||||||
file = fopen(file_path, "r");
|
file = fopen(file_path, "r");
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue