Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-cw
Commits
db3ae2ca
Commit
db3ae2ca
authored
Feb 08, 2019
by
Huw Davies
Committed by
Alexandre Julliard
Feb 11, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
libport: Add support for singleton decomposition.
Signed-off-by:
Huw Davies
<
huw@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
eceb69e1
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
267 additions
and
71 deletions
+267
-71
locale.c
dlls/kernel32/tests/locale.c
+6
-0
decompose.c
libs/port/decompose.c
+248
-66
make_unicode
tools/make_unicode
+13
-5
No files found.
dlls/kernel32/tests/locale.c
View file @
db3ae2ca
...
...
@@ -5685,6 +5685,11 @@ static void test_NormalizeString(void)
static
const
WCHAR
part1_str10
[]
=
{
0x309B
,
0
};
static
const
WCHAR
part1_nfkc10
[]
=
{
0x20
,
0x3099
,
0
};
/* ANGSTROM SIGN */
static
const
WCHAR
part1_str11
[]
=
{
0x212B
,
0
};
static
const
WCHAR
part1_nfc11
[]
=
{
0xC5
,
0
};
static
const
WCHAR
part1_nfd11
[]
=
{
'A'
,
0x030A
,
0
};
struct
test_data_normal
{
const
WCHAR
*
str
;
const
WCHAR
*
expected
[
4
];
...
...
@@ -5713,6 +5718,7 @@ static void test_NormalizeString(void)
{
part1_str8
,
{
part1_str8
,
part1_nfd8
,
part1_str8
,
part1_nfd8
},
{
1
,
0
,
1
,
0
}
},
{
part1_str9
,
{
part1_str9
,
part1_str9
,
part1_nfkc9
,
part1_nfkc9
},
{
1
,
0
,
1
,
0
}
},
{
part1_str10
,
{
part1_str10
,
part1_str10
,
part1_nfkc10
,
part1_nfkc10
},
{
1
,
0
,
1
,
0
}
},
{
part1_str11
,
{
part1_nfc11
,
part1_nfd11
,
part1_nfc11
,
part1_nfd11
},
{
1
,
0
,
1
,
0
}
},
{
0
}
};
const
struct
test_data_normal
*
ptest
=
test_arr
;
...
...
libs/port/decompose.c
View file @
db3ae2ca
...
...
@@ -4,16 +4,16 @@
#include "wine/unicode.h"
static
const
WCHAR
table
[
4704
]
=
static
const
WCHAR
table
[
5856
]
=
{
/* index */
0x0110
,
0x0120
,
0x0130
,
0x0140
,
0x0150
,
0x0100
,
0x0160
,
0x0100
,
0x0100
,
0x0170
,
0x0180
,
0x0190
,
0x01a0
,
0x01b0
,
0x0100
,
0x01c0
,
0x01d0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x01e0
,
0x0100
,
0x0100
,
0x01f0
,
0x0200
,
0x0
100
,
0x0210
,
0x0220
,
0x010
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x02
3
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x02
4
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0
210
,
0x0220
,
0x0230
,
0x024
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x02
5
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x02
6
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
...
...
@@ -38,73 +38,85 @@ static const WCHAR table[4704] =
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0
100
,
0x0100
,
0x025
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
0x0
270
,
0x0280
,
0x029
0
,
0x0100
,
0x0100
,
0x0100
,
0x0100
,
/* null sub-index */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 00 */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0280
,
0x02a0
,
0x02c0
,
0x02e
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02c0
,
0x02e0
,
0x0300
,
0x032
0
,
/* sub-index 01 */
0x03
00
,
0x0320
,
0x0340
,
0x0360
,
0x0380
,
0x03a0
,
0x03c0
,
0x03e
0
,
0x02
60
,
0x0260
,
0x0400
,
0x0420
,
0x0440
,
0x0460
,
0x0480
,
0x04a
0
,
0x03
40
,
0x0360
,
0x0380
,
0x03a0
,
0x03c0
,
0x03e0
,
0x0400
,
0x042
0
,
0x02
a0
,
0x02a0
,
0x0440
,
0x0460
,
0x0480
,
0x04a0
,
0x04c0
,
0x04e
0
,
/* sub-index 02 */
0x0
4c0
,
0x04e0
,
0x0500
,
0x0520
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x0
500
,
0x0520
,
0x0540
,
0x0560
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 03 */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0540
,
0x0260
,
0x0260
,
0x026
0
,
0x05
60
,
0x0580
,
0x05a0
,
0x05c0
,
0x05e0
,
0x0600
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x0580
,
0x02a0
,
0x02a0
,
0x05a
0
,
0x05
c0
,
0x05e0
,
0x0600
,
0x0620
,
0x0640
,
0x0660
,
0x02a0
,
0x02a
0
,
/* sub-index 04 */
0x06
20
,
0x0640
,
0x0260
,
0x0660
,
0x0260
,
0x0680
,
0x0260
,
0x06a
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x06c0
,
0x06e0
,
0x0700
,
0x072
0
,
0x06
80
,
0x06a0
,
0x02a0
,
0x06c0
,
0x02a0
,
0x06e0
,
0x02a0
,
0x070
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x0720
,
0x0740
,
0x0760
,
0x078
0
,
/* sub-index 06 */
0x02
60
,
0x0260
,
0x0740
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0760
,
0x0780
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x07a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x07c0
,
0x07e0
,
0x02a0
,
0x02a
0
,
/* sub-index 09 */
0x02
60
,
0x0260
,
0x07a0
,
0x07c0
,
0x0260
,
0x07e0
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0800
,
0x0820
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x0800
,
0x0820
,
0x02a0
,
0x0840
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x0860
,
0x0880
,
0x02a0
,
0x02a
0
,
/* sub-index 0a */
0x02
60
,
0x0260
,
0x0260
,
0x0840
,
0x0260
,
0x0860
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x08a0
,
0x02a0
,
0x08c0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 0b */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0880
,
0x08a0
,
0x0260
,
0x026
0
,
0x02
60
,
0x08c0
,
0x0260
,
0x0260
,
0x08e0
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x08e0
,
0x0900
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x0920
,
0x02a0
,
0x02a0
,
0x0940
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 0c */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0900
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0920
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x0960
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x0980
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 0d */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0940
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0960
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x09a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x09c0
,
0x02a0
,
0x02a
0
,
/* sub-index 0f */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0980
,
0x09a0
,
0x09c0
,
0x09e
0
,
0x0a
00
,
0x0a20
,
0x0a40
,
0x0a60
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x09e0
,
0x0a00
,
0x0a20
,
0x0a4
0
,
0x0a
60
,
0x0a80
,
0x0aa0
,
0x0ac0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 10 */
0x02
60
,
0x0260
,
0x0a80
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x0ae0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 1b */
0x0
aa0
,
0x0ac0
,
0x0260
,
0x0ae0
,
0x0b00
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x0
b00
,
0x0b20
,
0x02a0
,
0x0b40
,
0x0b60
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 1e */
0x0b
20
,
0x0b40
,
0x0b60
,
0x0b80
,
0x0ba0
,
0x0bc0
,
0x0be0
,
0x0c0
0
,
0x0c
20
,
0x0c40
,
0x0c60
,
0x0c80
,
0x0ca0
,
0x0cc0
,
0x0ce0
,
0x0d0
0
,
0x0b
80
,
0x0ba0
,
0x0bc0
,
0x0be0
,
0x0c00
,
0x0c20
,
0x0c40
,
0x0c6
0
,
0x0c
80
,
0x0ca0
,
0x0cc0
,
0x0ce0
,
0x0d00
,
0x0d20
,
0x0d40
,
0x0d6
0
,
/* sub-index 1f */
0x0d20
,
0x0d40
,
0x0d60
,
0x0d80
,
0x0da0
,
0x0dc0
,
0x0de0
,
0x0e00
,
0x0e20
,
0x0e40
,
0x0e60
,
0x0e80
,
0x0ea0
,
0x0ec0
,
0x0ee0
,
0x0f00
,
0x0d80
,
0x0da0
,
0x0dc0
,
0x0de0
,
0x0e00
,
0x0e20
,
0x0e40
,
0x0e60
,
0x0e80
,
0x0ea0
,
0x0ec0
,
0x0ee0
,
0x0f00
,
0x0f20
,
0x0f40
,
0x0f60
,
/* sub-index 20 */
0x0f80
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
/* sub-index 21 */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0f20
,
0x0f40
,
0x0260
,
0x0f60
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x0fa0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x0fc0
,
0x0fe0
,
0x02a0
,
0x1000
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* sub-index 22 */
0x0f80
,
0x0260
,
0x0fa0
,
0x0260
,
0x0fc0
,
0x0260
,
0x0fe0
,
0x1000
,
0x1020
,
0x0260
,
0x1040
,
0x0260
,
0x0260
,
0x0260
,
0x1060
,
0x0260
,
0x1020
,
0x02a0
,
0x1040
,
0x02a0
,
0x1060
,
0x02a0
,
0x1080
,
0x10a0
,
0x10c0
,
0x02a0
,
0x10e0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x1100
,
0x02a0
,
/* sub-index 23 */
0x02a0
,
0x02a0
,
0x1120
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
/* sub-index 2a */
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x1080
,
0x0260
,
0x026
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x1140
,
0x02a0
,
0x02a
0
,
/* sub-index 30 */
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x10a0
,
0x10c0
,
0x10e0
,
0x1100
,
0x0260
,
0x1120
,
0x1140
,
0x1160
,
0x1180
,
0x11a0
,
0x0260
,
0x11c0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x1160
,
0x1180
,
0x11a0
,
0x11c0
,
0x02a0
,
0x11e0
,
0x1200
,
0x1220
,
0x1240
,
0x1260
,
0x02a0
,
0x1280
,
/* sub-index f9 */
0x12a0
,
0x12c0
,
0x12e0
,
0x1300
,
0x1320
,
0x1340
,
0x1360
,
0x1380
,
0x13a0
,
0x13c0
,
0x13e0
,
0x1400
,
0x1420
,
0x1440
,
0x1460
,
0x1480
,
/* sub-index fa */
0x14a0
,
0x14c0
,
0x14e0
,
0x1500
,
0x1520
,
0x1540
,
0x1560
,
0x1580
,
0x15a0
,
0x15c0
,
0x15e0
,
0x1600
,
0x1620
,
0x1640
,
0x02a0
,
0x02a0
,
/* sub-index fb */
0x02
60
,
0x11e0
,
0x1200
,
0x1220
,
0x1240
,
0x0260
,
0x0260
,
0x026
0
,
0x02
60
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x0260
,
0x026
0
,
0x02
a0
,
0x1660
,
0x1680
,
0x16a0
,
0x16c0
,
0x02a0
,
0x02a0
,
0x02a
0
,
0x02
a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a0
,
0x02a
0
,
/* null mapping */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
...
...
@@ -221,13 +233,18 @@ static const WCHAR table[4704] =
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x0340 .. 0x034f */
0x0
000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0
300
,
0x0000
,
0x0301
,
0x0000
,
0x0000
,
0x0000
,
0x0313
,
0x0000
,
0x0308
,
0x0301
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x0370 .. 0x037f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x02b9
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x003b
,
0x0000
,
0x0000
,
0x0000
,
/* 0x0380 .. 0x038f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00a8
,
0x0301
,
0x0391
,
0x0301
,
0x00
00
,
0x0000
,
0x0000
,
0x0000
,
0x00a8
,
0x0301
,
0x0391
,
0x0301
,
0x00
b7
,
0x0000
,
0x0395
,
0x0301
,
0x0397
,
0x0301
,
0x0399
,
0x0301
,
0x0000
,
0x0000
,
0x039f
,
0x0301
,
0x0000
,
0x0000
,
0x03a5
,
0x0301
,
0x03a9
,
0x0301
,
/* 0x0390 .. 0x039f */
...
...
@@ -571,10 +588,10 @@ static const WCHAR table[4704] =
0x03a9
,
0x0313
,
0x03a9
,
0x0314
,
0x1f68
,
0x0300
,
0x1f69
,
0x0300
,
0x1f68
,
0x0301
,
0x1f69
,
0x0301
,
0x1f68
,
0x0342
,
0x1f69
,
0x0342
,
/* 0x1f70 .. 0x1f7f */
0x03b1
,
0x0300
,
0x0
000
,
0x0000
,
0x03b5
,
0x0300
,
0x0000
,
0x0000
,
0x03b7
,
0x0300
,
0x0
000
,
0x0000
,
0x03b9
,
0x0300
,
0x0000
,
0x0000
,
0x03bf
,
0x0300
,
0x0
000
,
0x0000
,
0x03c5
,
0x0300
,
0x0000
,
0x0000
,
0x03c9
,
0x0300
,
0x0
000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x03b1
,
0x0300
,
0x0
3ac
,
0x0000
,
0x03b5
,
0x0300
,
0x03ad
,
0x0000
,
0x03b7
,
0x0300
,
0x0
3ae
,
0x0000
,
0x03b9
,
0x0300
,
0x03af
,
0x0000
,
0x03bf
,
0x0300
,
0x0
3cc
,
0x0000
,
0x03c5
,
0x0300
,
0x03cd
,
0x0000
,
0x03c9
,
0x0300
,
0x0
3ce
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x1f80 .. 0x1f8f */
0x1f00
,
0x0345
,
0x1f01
,
0x0345
,
0x1f02
,
0x0345
,
0x1f03
,
0x0345
,
0x1f04
,
0x0345
,
0x1f05
,
0x0345
,
0x1f06
,
0x0345
,
0x1f07
,
0x0345
,
...
...
@@ -593,28 +610,38 @@ static const WCHAR table[4704] =
/* 0x1fb0 .. 0x1fbf */
0x03b1
,
0x0306
,
0x03b1
,
0x0304
,
0x1f70
,
0x0345
,
0x03b1
,
0x0345
,
0x03ac
,
0x0345
,
0x0000
,
0x0000
,
0x03b1
,
0x0342
,
0x1fb6
,
0x0345
,
0x0391
,
0x0306
,
0x0391
,
0x0304
,
0x0391
,
0x0300
,
0x0
000
,
0x0000
,
0x0391
,
0x0345
,
0x0000
,
0x0000
,
0x0
000
,
0x0000
,
0x0000
,
0x0000
,
0x0391
,
0x0306
,
0x0391
,
0x0304
,
0x0391
,
0x0300
,
0x0
386
,
0x0000
,
0x0391
,
0x0345
,
0x0000
,
0x0000
,
0x0
3b9
,
0x0000
,
0x0000
,
0x0000
,
/* 0x1fc0 .. 0x1fcf */
0x0000
,
0x0000
,
0x00a8
,
0x0342
,
0x1f74
,
0x0345
,
0x03b7
,
0x0345
,
0x03ae
,
0x0345
,
0x0000
,
0x0000
,
0x03b7
,
0x0342
,
0x1fc6
,
0x0345
,
0x0395
,
0x0300
,
0x0
000
,
0x0000
,
0x0397
,
0x0300
,
0x0000
,
0x0000
,
0x0395
,
0x0300
,
0x0
388
,
0x0000
,
0x0397
,
0x0300
,
0x0389
,
0x0000
,
0x0397
,
0x0345
,
0x1fbf
,
0x0300
,
0x1fbf
,
0x0301
,
0x1fbf
,
0x0342
,
/* 0x1fd0 .. 0x1fdf */
0x03b9
,
0x0306
,
0x03b9
,
0x0304
,
0x03ca
,
0x0300
,
0x0
00
0
,
0x0000
,
0x03b9
,
0x0306
,
0x03b9
,
0x0304
,
0x03ca
,
0x0300
,
0x0
39
0
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x03b9
,
0x0342
,
0x03ca
,
0x0342
,
0x0399
,
0x0306
,
0x0399
,
0x0304
,
0x0399
,
0x0300
,
0x0
000
,
0x0000
,
0x0399
,
0x0306
,
0x0399
,
0x0304
,
0x0399
,
0x0300
,
0x0
38a
,
0x0000
,
0x0000
,
0x0000
,
0x1ffe
,
0x0300
,
0x1ffe
,
0x0301
,
0x1ffe
,
0x0342
,
/* 0x1fe0 .. 0x1fef */
0x03c5
,
0x0306
,
0x03c5
,
0x0304
,
0x03cb
,
0x0300
,
0x0
00
0
,
0x0000
,
0x03c5
,
0x0306
,
0x03c5
,
0x0304
,
0x03cb
,
0x0300
,
0x0
3b
0
,
0x0000
,
0x03c1
,
0x0313
,
0x03c1
,
0x0314
,
0x03c5
,
0x0342
,
0x03cb
,
0x0342
,
0x03a5
,
0x0306
,
0x03a5
,
0x0304
,
0x03a5
,
0x0300
,
0x0
000
,
0x0000
,
0x03a1
,
0x0314
,
0x00a8
,
0x0300
,
0x0
000
,
0x0000
,
0x000
0
,
0x0000
,
0x03a5
,
0x0306
,
0x03a5
,
0x0304
,
0x03a5
,
0x0300
,
0x0
38e
,
0x0000
,
0x03a1
,
0x0314
,
0x00a8
,
0x0300
,
0x0
385
,
0x0000
,
0x006
0
,
0x0000
,
/* 0x1ff0 .. 0x1fff */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x1f7c
,
0x0345
,
0x03c9
,
0x0345
,
0x03ce
,
0x0345
,
0x0000
,
0x0000
,
0x03c9
,
0x0342
,
0x1ff6
,
0x0345
,
0x039f
,
0x0300
,
0x0000
,
0x0000
,
0x03a9
,
0x0300
,
0x0000
,
0x0000
,
0x03a9
,
0x0345
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x039f
,
0x0300
,
0x038c
,
0x0000
,
0x03a9
,
0x0300
,
0x038f
,
0x0000
,
0x03a9
,
0x0345
,
0x00b4
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x2000 .. 0x200f */
0x2002
,
0x0000
,
0x2003
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x2120 .. 0x212f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x03a9
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x004b
,
0x0000
,
0x00c5
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x2190 .. 0x219f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
...
...
@@ -670,6 +697,11 @@ static const WCHAR table[4704] =
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x22b2
,
0x0338
,
0x22b3
,
0x0338
,
0x22b4
,
0x0338
,
0x22b5
,
0x0338
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x2320 .. 0x232f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x3008
,
0x0000
,
0x3009
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x2ad0 .. 0x2adf */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
...
...
@@ -725,6 +757,156 @@ static const WCHAR table[4704] =
0x30a6
,
0x3099
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x30ef
,
0x3099
,
0x30f0
,
0x3099
,
0x30f1
,
0x3099
,
0x30f2
,
0x3099
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x30fd
,
0x3099
,
0x0000
,
0x0000
,
/* 0xf900 .. 0xf90f */
0x8c48
,
0x0000
,
0x66f4
,
0x0000
,
0x8eca
,
0x0000
,
0x8cc8
,
0x0000
,
0x6ed1
,
0x0000
,
0x4e32
,
0x0000
,
0x53e5
,
0x0000
,
0x9f9c
,
0x0000
,
0x9f9c
,
0x0000
,
0x5951
,
0x0000
,
0x91d1
,
0x0000
,
0x5587
,
0x0000
,
0x5948
,
0x0000
,
0x61f6
,
0x0000
,
0x7669
,
0x0000
,
0x7f85
,
0x0000
,
/* 0xf910 .. 0xf91f */
0x863f
,
0x0000
,
0x87ba
,
0x0000
,
0x88f8
,
0x0000
,
0x908f
,
0x0000
,
0x6a02
,
0x0000
,
0x6d1b
,
0x0000
,
0x70d9
,
0x0000
,
0x73de
,
0x0000
,
0x843d
,
0x0000
,
0x916a
,
0x0000
,
0x99f1
,
0x0000
,
0x4e82
,
0x0000
,
0x5375
,
0x0000
,
0x6b04
,
0x0000
,
0x721b
,
0x0000
,
0x862d
,
0x0000
,
/* 0xf920 .. 0xf92f */
0x9e1e
,
0x0000
,
0x5d50
,
0x0000
,
0x6feb
,
0x0000
,
0x85cd
,
0x0000
,
0x8964
,
0x0000
,
0x62c9
,
0x0000
,
0x81d8
,
0x0000
,
0x881f
,
0x0000
,
0x5eca
,
0x0000
,
0x6717
,
0x0000
,
0x6d6a
,
0x0000
,
0x72fc
,
0x0000
,
0x90ce
,
0x0000
,
0x4f86
,
0x0000
,
0x51b7
,
0x0000
,
0x52de
,
0x0000
,
/* 0xf930 .. 0xf93f */
0x64c4
,
0x0000
,
0x6ad3
,
0x0000
,
0x7210
,
0x0000
,
0x76e7
,
0x0000
,
0x8001
,
0x0000
,
0x8606
,
0x0000
,
0x865c
,
0x0000
,
0x8def
,
0x0000
,
0x9732
,
0x0000
,
0x9b6f
,
0x0000
,
0x9dfa
,
0x0000
,
0x788c
,
0x0000
,
0x797f
,
0x0000
,
0x7da0
,
0x0000
,
0x83c9
,
0x0000
,
0x9304
,
0x0000
,
/* 0xf940 .. 0xf94f */
0x9e7f
,
0x0000
,
0x8ad6
,
0x0000
,
0x58df
,
0x0000
,
0x5f04
,
0x0000
,
0x7c60
,
0x0000
,
0x807e
,
0x0000
,
0x7262
,
0x0000
,
0x78ca
,
0x0000
,
0x8cc2
,
0x0000
,
0x96f7
,
0x0000
,
0x58d8
,
0x0000
,
0x5c62
,
0x0000
,
0x6a13
,
0x0000
,
0x6dda
,
0x0000
,
0x6f0f
,
0x0000
,
0x7d2f
,
0x0000
,
/* 0xf950 .. 0xf95f */
0x7e37
,
0x0000
,
0x964b
,
0x0000
,
0x52d2
,
0x0000
,
0x808b
,
0x0000
,
0x51dc
,
0x0000
,
0x51cc
,
0x0000
,
0x7a1c
,
0x0000
,
0x7dbe
,
0x0000
,
0x83f1
,
0x0000
,
0x9675
,
0x0000
,
0x8b80
,
0x0000
,
0x62cf
,
0x0000
,
0x6a02
,
0x0000
,
0x8afe
,
0x0000
,
0x4e39
,
0x0000
,
0x5be7
,
0x0000
,
/* 0xf960 .. 0xf96f */
0x6012
,
0x0000
,
0x7387
,
0x0000
,
0x7570
,
0x0000
,
0x5317
,
0x0000
,
0x78fb
,
0x0000
,
0x4fbf
,
0x0000
,
0x5fa9
,
0x0000
,
0x4e0d
,
0x0000
,
0x6ccc
,
0x0000
,
0x6578
,
0x0000
,
0x7d22
,
0x0000
,
0x53c3
,
0x0000
,
0x585e
,
0x0000
,
0x7701
,
0x0000
,
0x8449
,
0x0000
,
0x8aaa
,
0x0000
,
/* 0xf970 .. 0xf97f */
0x6bba
,
0x0000
,
0x8fb0
,
0x0000
,
0x6c88
,
0x0000
,
0x62fe
,
0x0000
,
0x82e5
,
0x0000
,
0x63a0
,
0x0000
,
0x7565
,
0x0000
,
0x4eae
,
0x0000
,
0x5169
,
0x0000
,
0x51c9
,
0x0000
,
0x6881
,
0x0000
,
0x7ce7
,
0x0000
,
0x826f
,
0x0000
,
0x8ad2
,
0x0000
,
0x91cf
,
0x0000
,
0x52f5
,
0x0000
,
/* 0xf980 .. 0xf98f */
0x5442
,
0x0000
,
0x5973
,
0x0000
,
0x5eec
,
0x0000
,
0x65c5
,
0x0000
,
0x6ffe
,
0x0000
,
0x792a
,
0x0000
,
0x95ad
,
0x0000
,
0x9a6a
,
0x0000
,
0x9e97
,
0x0000
,
0x9ece
,
0x0000
,
0x529b
,
0x0000
,
0x66c6
,
0x0000
,
0x6b77
,
0x0000
,
0x8f62
,
0x0000
,
0x5e74
,
0x0000
,
0x6190
,
0x0000
,
/* 0xf990 .. 0xf99f */
0x6200
,
0x0000
,
0x649a
,
0x0000
,
0x6f23
,
0x0000
,
0x7149
,
0x0000
,
0x7489
,
0x0000
,
0x79ca
,
0x0000
,
0x7df4
,
0x0000
,
0x806f
,
0x0000
,
0x8f26
,
0x0000
,
0x84ee
,
0x0000
,
0x9023
,
0x0000
,
0x934a
,
0x0000
,
0x5217
,
0x0000
,
0x52a3
,
0x0000
,
0x54bd
,
0x0000
,
0x70c8
,
0x0000
,
/* 0xf9a0 .. 0xf9af */
0x88c2
,
0x0000
,
0x8aaa
,
0x0000
,
0x5ec9
,
0x0000
,
0x5ff5
,
0x0000
,
0x637b
,
0x0000
,
0x6bae
,
0x0000
,
0x7c3e
,
0x0000
,
0x7375
,
0x0000
,
0x4ee4
,
0x0000
,
0x56f9
,
0x0000
,
0x5be7
,
0x0000
,
0x5dba
,
0x0000
,
0x601c
,
0x0000
,
0x73b2
,
0x0000
,
0x7469
,
0x0000
,
0x7f9a
,
0x0000
,
/* 0xf9b0 .. 0xf9bf */
0x8046
,
0x0000
,
0x9234
,
0x0000
,
0x96f6
,
0x0000
,
0x9748
,
0x0000
,
0x9818
,
0x0000
,
0x4f8b
,
0x0000
,
0x79ae
,
0x0000
,
0x91b4
,
0x0000
,
0x96b8
,
0x0000
,
0x60e1
,
0x0000
,
0x4e86
,
0x0000
,
0x50da
,
0x0000
,
0x5bee
,
0x0000
,
0x5c3f
,
0x0000
,
0x6599
,
0x0000
,
0x6a02
,
0x0000
,
/* 0xf9c0 .. 0xf9cf */
0x71ce
,
0x0000
,
0x7642
,
0x0000
,
0x84fc
,
0x0000
,
0x907c
,
0x0000
,
0x9f8d
,
0x0000
,
0x6688
,
0x0000
,
0x962e
,
0x0000
,
0x5289
,
0x0000
,
0x677b
,
0x0000
,
0x67f3
,
0x0000
,
0x6d41
,
0x0000
,
0x6e9c
,
0x0000
,
0x7409
,
0x0000
,
0x7559
,
0x0000
,
0x786b
,
0x0000
,
0x7d10
,
0x0000
,
/* 0xf9d0 .. 0xf9df */
0x985e
,
0x0000
,
0x516d
,
0x0000
,
0x622e
,
0x0000
,
0x9678
,
0x0000
,
0x502b
,
0x0000
,
0x5d19
,
0x0000
,
0x6dea
,
0x0000
,
0x8f2a
,
0x0000
,
0x5f8b
,
0x0000
,
0x6144
,
0x0000
,
0x6817
,
0x0000
,
0x7387
,
0x0000
,
0x9686
,
0x0000
,
0x5229
,
0x0000
,
0x540f
,
0x0000
,
0x5c65
,
0x0000
,
/* 0xf9e0 .. 0xf9ef */
0x6613
,
0x0000
,
0x674e
,
0x0000
,
0x68a8
,
0x0000
,
0x6ce5
,
0x0000
,
0x7406
,
0x0000
,
0x75e2
,
0x0000
,
0x7f79
,
0x0000
,
0x88cf
,
0x0000
,
0x88e1
,
0x0000
,
0x91cc
,
0x0000
,
0x96e2
,
0x0000
,
0x533f
,
0x0000
,
0x6eba
,
0x0000
,
0x541d
,
0x0000
,
0x71d0
,
0x0000
,
0x7498
,
0x0000
,
/* 0xf9f0 .. 0xf9ff */
0x85fa
,
0x0000
,
0x96a3
,
0x0000
,
0x9c57
,
0x0000
,
0x9e9f
,
0x0000
,
0x6797
,
0x0000
,
0x6dcb
,
0x0000
,
0x81e8
,
0x0000
,
0x7acb
,
0x0000
,
0x7b20
,
0x0000
,
0x7c92
,
0x0000
,
0x72c0
,
0x0000
,
0x7099
,
0x0000
,
0x8b58
,
0x0000
,
0x4ec0
,
0x0000
,
0x8336
,
0x0000
,
0x523a
,
0x0000
,
/* 0xfa00 .. 0xfa0f */
0x5207
,
0x0000
,
0x5ea6
,
0x0000
,
0x62d3
,
0x0000
,
0x7cd6
,
0x0000
,
0x5b85
,
0x0000
,
0x6d1e
,
0x0000
,
0x66b4
,
0x0000
,
0x8f3b
,
0x0000
,
0x884c
,
0x0000
,
0x964d
,
0x0000
,
0x898b
,
0x0000
,
0x5ed3
,
0x0000
,
0x5140
,
0x0000
,
0x55c0
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0xfa10 .. 0xfa1f */
0x585a
,
0x0000
,
0x0000
,
0x0000
,
0x6674
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x51de
,
0x0000
,
0x732a
,
0x0000
,
0x76ca
,
0x0000
,
0x793c
,
0x0000
,
0x795e
,
0x0000
,
0x7965
,
0x0000
,
0x798f
,
0x0000
,
0x9756
,
0x0000
,
0x7cbe
,
0x0000
,
0x7fbd
,
0x0000
,
0x0000
,
0x0000
,
/* 0xfa20 .. 0xfa2f */
0x8612
,
0x0000
,
0x0000
,
0x0000
,
0x8af8
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x9038
,
0x0000
,
0x90fd
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x98ef
,
0x0000
,
0x98fc
,
0x0000
,
0x9928
,
0x0000
,
0x9db4
,
0x0000
,
0x90de
,
0x0000
,
0x96b7
,
0x0000
,
/* 0xfa30 .. 0xfa3f */
0x4fae
,
0x0000
,
0x50e7
,
0x0000
,
0x514d
,
0x0000
,
0x52c9
,
0x0000
,
0x52e4
,
0x0000
,
0x5351
,
0x0000
,
0x559d
,
0x0000
,
0x5606
,
0x0000
,
0x5668
,
0x0000
,
0x5840
,
0x0000
,
0x58a8
,
0x0000
,
0x5c64
,
0x0000
,
0x5c6e
,
0x0000
,
0x6094
,
0x0000
,
0x6168
,
0x0000
,
0x618e
,
0x0000
,
/* 0xfa40 .. 0xfa4f */
0x61f2
,
0x0000
,
0x654f
,
0x0000
,
0x65e2
,
0x0000
,
0x6691
,
0x0000
,
0x6885
,
0x0000
,
0x6d77
,
0x0000
,
0x6e1a
,
0x0000
,
0x6f22
,
0x0000
,
0x716e
,
0x0000
,
0x722b
,
0x0000
,
0x7422
,
0x0000
,
0x7891
,
0x0000
,
0x793e
,
0x0000
,
0x7949
,
0x0000
,
0x7948
,
0x0000
,
0x7950
,
0x0000
,
/* 0xfa50 .. 0xfa5f */
0x7956
,
0x0000
,
0x795d
,
0x0000
,
0x798d
,
0x0000
,
0x798e
,
0x0000
,
0x7a40
,
0x0000
,
0x7a81
,
0x0000
,
0x7bc0
,
0x0000
,
0x7df4
,
0x0000
,
0x7e09
,
0x0000
,
0x7e41
,
0x0000
,
0x7f72
,
0x0000
,
0x8005
,
0x0000
,
0x81ed
,
0x0000
,
0x8279
,
0x0000
,
0x8279
,
0x0000
,
0x8457
,
0x0000
,
/* 0xfa60 .. 0xfa6f */
0x8910
,
0x0000
,
0x8996
,
0x0000
,
0x8b01
,
0x0000
,
0x8b39
,
0x0000
,
0x8cd3
,
0x0000
,
0x8d08
,
0x0000
,
0x8fb6
,
0x0000
,
0x9038
,
0x0000
,
0x96e3
,
0x0000
,
0x97ff
,
0x0000
,
0x983b
,
0x0000
,
0x6075
,
0x0000
,
0x0000
,
0x0000
,
0x8218
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0xfa70 .. 0xfa7f */
0x4e26
,
0x0000
,
0x51b5
,
0x0000
,
0x5168
,
0x0000
,
0x4f80
,
0x0000
,
0x5145
,
0x0000
,
0x5180
,
0x0000
,
0x52c7
,
0x0000
,
0x52fa
,
0x0000
,
0x559d
,
0x0000
,
0x5555
,
0x0000
,
0x5599
,
0x0000
,
0x55e2
,
0x0000
,
0x585a
,
0x0000
,
0x58b3
,
0x0000
,
0x5944
,
0x0000
,
0x5954
,
0x0000
,
/* 0xfa80 .. 0xfa8f */
0x5a62
,
0x0000
,
0x5b28
,
0x0000
,
0x5ed2
,
0x0000
,
0x5ed9
,
0x0000
,
0x5f69
,
0x0000
,
0x5fad
,
0x0000
,
0x60d8
,
0x0000
,
0x614e
,
0x0000
,
0x6108
,
0x0000
,
0x618e
,
0x0000
,
0x6160
,
0x0000
,
0x61f2
,
0x0000
,
0x6234
,
0x0000
,
0x63c4
,
0x0000
,
0x641c
,
0x0000
,
0x6452
,
0x0000
,
/* 0xfa90 .. 0xfa9f */
0x6556
,
0x0000
,
0x6674
,
0x0000
,
0x6717
,
0x0000
,
0x671b
,
0x0000
,
0x6756
,
0x0000
,
0x6b79
,
0x0000
,
0x6bba
,
0x0000
,
0x6d41
,
0x0000
,
0x6edb
,
0x0000
,
0x6ecb
,
0x0000
,
0x6f22
,
0x0000
,
0x701e
,
0x0000
,
0x716e
,
0x0000
,
0x77a7
,
0x0000
,
0x7235
,
0x0000
,
0x72af
,
0x0000
,
/* 0xfaa0 .. 0xfaaf */
0x732a
,
0x0000
,
0x7471
,
0x0000
,
0x7506
,
0x0000
,
0x753b
,
0x0000
,
0x761d
,
0x0000
,
0x761f
,
0x0000
,
0x76ca
,
0x0000
,
0x76db
,
0x0000
,
0x76f4
,
0x0000
,
0x774a
,
0x0000
,
0x7740
,
0x0000
,
0x78cc
,
0x0000
,
0x7ab1
,
0x0000
,
0x7bc0
,
0x0000
,
0x7c7b
,
0x0000
,
0x7d5b
,
0x0000
,
/* 0xfab0 .. 0xfabf */
0x7df4
,
0x0000
,
0x7f3e
,
0x0000
,
0x8005
,
0x0000
,
0x8352
,
0x0000
,
0x83ef
,
0x0000
,
0x8779
,
0x0000
,
0x8941
,
0x0000
,
0x8986
,
0x0000
,
0x8996
,
0x0000
,
0x8abf
,
0x0000
,
0x8af8
,
0x0000
,
0x8acb
,
0x0000
,
0x8b01
,
0x0000
,
0x8afe
,
0x0000
,
0x8aed
,
0x0000
,
0x8b39
,
0x0000
,
/* 0xfac0 .. 0xfacf */
0x8b8a
,
0x0000
,
0x8d08
,
0x0000
,
0x8f38
,
0x0000
,
0x9072
,
0x0000
,
0x9199
,
0x0000
,
0x9276
,
0x0000
,
0x967c
,
0x0000
,
0x96e3
,
0x0000
,
0x9756
,
0x0000
,
0x97db
,
0x0000
,
0x97ff
,
0x0000
,
0x980b
,
0x0000
,
0x983b
,
0x0000
,
0x9b12
,
0x0000
,
0x9f9c
,
0x0000
,
0x0000
,
0x0000
,
/* 0xfad0 .. 0xfadf */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x3b9d
,
0x0000
,
0x4018
,
0x0000
,
0x4039
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x9f43
,
0x0000
,
0x9f8e
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0xfb10 .. 0xfb1f */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
...
...
@@ -2041,7 +2223,7 @@ unsigned int DECLSPEC_HIDDEN wine_decompose( int flags, WCHAR ch, WCHAR *dst, un
if
(
!
ptr
)
{
ptr
=
table
+
table
[
table
[
ch
>>
8
]
+
((
ch
>>
4
)
&
0x0f
)]
+
2
*
(
ch
&
0xf
);
len
=
2
;
len
=
ptr
[
1
]
?
2
:
1
;
}
if
(
!*
ptr
)
return
1
;
...
...
tools/make_unicode
View file @
db3ae2ca
...
...
@@ -528,11 +528,19 @@ sub READ_DEFAULTS($)
$decomp_table
[
$src
]
=
[
hex
$1
,
hex
$2
];
push
@compose_table
,
[
hex
$1
,
hex
$2
,
$src
];
}
elsif
(
$decomp
=~
/^(<[a-z]+>\s)*([0-9a-fA-F]+)$/
&&
((
$src
>=
0xf900
&&
$src
<
0xfb00
)
||
(
$src
>=
0xfe30
&&
$src
<
0xfffd
)))
elsif
(
$decomp
=~
/^([0-9a-fA-F]+)$/
)
{
# Single char decomposition in the compatibility range
$compatmap_table
[
$src
]
=
hex
$2
;
# Single char decomposition
if
(
hex
$1
<
65536
)
{
$decomp_table
[
$src
]
=
[
hex
$1
,
0
];
}
if
((
$src
>=
0xf900
&&
$src
<
0xfb00
)
||
(
$src
>=
0xfe30
&&
$src
<
0xfffd
))
{
# Single char decomposition in the compatibility range
$compatmap_table
[
$src
]
=
hex
$1
;
}
}
}
else
...
...
@@ -2494,7 +2502,7 @@ unsigned int DECLSPEC_HIDDEN wine_decompose( int flags, WCHAR ch, WCHAR *dst, un
if (!ptr)
{
ptr = table + table[table[ch >> 8] + ((ch >> 4) & 0x0f)] + 2 * (ch & 0xf);
len =
2
;
len =
ptr[1] ? 2 : 1
;
}
if (!*ptr) return 1;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment