diff --git a/dlls/kernelbase/Makefile.in b/dlls/kernelbase/Makefile.in index a5845abc1a8..2b270153060 100644 --- a/dlls/kernelbase/Makefile.in +++ b/dlls/kernelbase/Makefile.in @@ -9,7 +9,6 @@ C_SRCS = \ collation.c \ console.c \ debug.c \ - digitmap.c \ file.c \ loader.c \ locale.c \ diff --git a/dlls/kernelbase/digitmap.c b/dlls/kernelbase/digitmap.c deleted file mode 100644 index 26a464e30f5..00000000000 --- a/dlls/kernelbase/digitmap.c +++ /dev/null @@ -1,91 +0,0 @@ -/* Unicode digit folding mappings */ -/* generated from https://www.unicode.org/Public/14.0.0/ucd/UCD.zip:UnicodeData.txt */ -/* DO NOT EDIT!! */ - -#include "windef.h" - -const unsigned short DECLSPEC_HIDDEN wine_digitmap[619] = -{ - /* level 1 offsets */ - 0x0100, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x0116, 0x0110, - 0x010c, 0x0126, 0x0126, 0x0126, 0x0126, 0x0126, 0x0135, 0x0140, - 0x014c, 0x010c, 0x010c, 0x0156, 0x010c, 0x010c, 0x010c, 0x010e, - 0x0165, 0x0171, 0x017f, 0x018a, 0x0196, 0x010c, 0x010c, 0x010c, - 0x019f, 0x010c, 0x010c, 0x010c, 0x01a9, 0x010c, 0x010c, 0x01b9, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x0140, 0x010c, - 0x010f, 0x01c9, 0x013d, 0x010d, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, - 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x010c, 0x0165, - /* level 2 offsets */ - 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01f7, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e3, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e3, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x0201, 0x0211, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e3, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x0221, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, - 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01e9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x0231, 0x01e9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x020a, - 0x0206, 0x0202, 0x023a, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x0240, - 0x024b, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x0204, 0x025b, 0x0210, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01e9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, - 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01d9, 0x01e9, 0x01d9, - 0x01e9, - /* values */ - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0032, 0x0033, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0031, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x0031, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0030, 0x0000, 0x0000, 0x0000, 0x0034, 0x0035, 0x0036, 0x0037, - 0x0038, 0x0039, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0031, - 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, - 0x0000, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, - 0x0037, 0x0038, 0x0039, 0x0000, 0x0031, 0x0032, 0x0033, 0x0034, - 0x0035, 0x0036 -}; diff --git a/dlls/kernelbase/locale.c b/dlls/kernelbase/locale.c index 3830a3fae2c..d046cefd749 100644 --- a/dlls/kernelbase/locale.c +++ b/dlls/kernelbase/locale.c @@ -1856,12 +1856,6 @@ void init_locale( HMODULE module ) } -static inline USHORT get_table_entry( const USHORT *table, WCHAR ch ) -{ - return table[table[table[ch >> 8] + ((ch >> 4) & 0x0f)] + (ch & 0xf)]; -} - - static inline WCHAR casemap( const USHORT *table, WCHAR ch ) { return ch + table[table[table[ch >> 8] + ((ch >> 4) & 0x0f)] + (ch & 0x0f)]; @@ -2072,17 +2066,12 @@ static NTSTATUS expand_ligatures( const WCHAR *src, int srclen, WCHAR *dst, int static NTSTATUS fold_digits( const WCHAR *src, int srclen, WCHAR *dst, int *dstlen ) { - extern const WCHAR wine_digitmap[] DECLSPEC_HIDDEN; int i, len = *dstlen; *dstlen = srclen; if (!len) return STATUS_SUCCESS; if (srclen > len) return STATUS_BUFFER_TOO_SMALL; - for (i = 0; i < srclen; i++) - { - WCHAR digit = get_table_entry( wine_digitmap, src[i] ); - dst[i] = digit ? digit : src[i]; - } + for (i = 0; i < srclen; i++) dst[i] = casemap( charmaps[CHARMAP_FOLDDIGITS], src[i] ); return STATUS_SUCCESS; } diff --git a/tools/make_unicode b/tools/make_unicode index f697eeaaeb4..29dea8cd52e 100755 --- a/tools/make_unicode +++ b/tools/make_unicode @@ -3253,24 +3253,6 @@ sub dump_vertical($$) save_file($filename); } -################################################################ -# dump the digit folding tables -sub dump_digit_folding($) -{ - my ($filename) = shift; - open OUTPUT,">$filename.new" or die "Cannot create $filename"; - print "Building $filename\n"; - print OUTPUT "/* Unicode digit folding mappings */\n"; - print OUTPUT "/* generated from $UNIDATA:UnicodeData.txt */\n"; - print OUTPUT "/* DO NOT EDIT!! */\n\n"; - print OUTPUT "#include \"windef.h\"\n\n"; - - dump_two_level_mapping( "wine_digitmap", 0, 16, @digitmap_table ); - close OUTPUT; - save_file($filename); -} - - ################################################################ # compress a mapping table by removing identical rows sub compress_array($$@) @@ -5393,7 +5375,6 @@ load_data(); dump_sortkeys( "dlls/kernelbase/collation.c" ); dump_bidi_dir_table( "dlls/gdi32/uniscribe/direction.c" ); dump_bidi_dir_table( "dlls/dwrite/direction.c" ); -dump_digit_folding( "dlls/kernelbase/digitmap.c" ); dump_mirroring( "dlls/gdi32/uniscribe/mirror.c" ); dump_mirroring( "dlls/dwrite/mirror.c" ); dump_bracket( "dlls/gdi32/uniscribe/bracket.c" );