mirror of
git://source.winehq.org/git/wine.git
synced 2024-11-01 09:21:14 +00:00
unicode: Add support for high Unicode planes to the combining class table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
23cee79d72
commit
148f564d10
3 changed files with 239 additions and 97 deletions
|
@ -4,102 +4,170 @@
|
|||
|
||||
#include "windef.h"
|
||||
|
||||
const unsigned short DECLSPEC_HIDDEN combining_class_table[1747] =
|
||||
const unsigned short DECLSPEC_HIDDEN combining_class_table[2647] =
|
||||
{
|
||||
/* level 1 offsets */
|
||||
0x0100, 0x0100, 0x0100, 0x0110, 0x0118, 0x0121, 0x0130, 0x013f,
|
||||
0x014f, 0x015f, 0x016f, 0x0177, 0x0184, 0x0191, 0x019e, 0x01ad,
|
||||
0x01ba, 0x0100, 0x0100, 0x01c5, 0x0100, 0x0100, 0x0100, 0x01d4,
|
||||
0x01e2, 0x01ef, 0x01fe, 0x020b, 0x021b, 0x022b, 0x0100, 0x0100,
|
||||
0x023b, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x0100, 0x024b, 0x025b, 0x0100, 0x0100,
|
||||
0x026b, 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,
|
||||
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, 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, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0275, 0x0100,
|
||||
0x0285, 0x0295, 0x02a2, 0x02b2, 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, 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, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100, 0x0100,
|
||||
0x0100, 0x0100, 0x0100, 0x02c1, 0x0100, 0x0100, 0x02cf, 0x0100,
|
||||
0x0110, 0x0120, 0x0130, 0x0140, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x014b, 0x0141, 0x0141, 0x0141, 0x0141, 0x0157,
|
||||
0x0166, 0x0176, 0x0141, 0x0141, 0x0141, 0x0141, 0x0184, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0190, 0x0141, 0x019f, 0x01af, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141, 0x0141,
|
||||
/* level 2 offsets */
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02ef, 0x02fa, 0x0309, 0x0315, 0x0322, 0x0332, 0x033f, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x034f, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x035e, 0x036c, 0x037c, 0x038c, 0x02df, 0x02df,
|
||||
0x02df, 0x039c, 0x02df, 0x02df, 0x03a7, 0x03b7, 0x02df, 0x03c7,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x03d1, 0x03e0, 0x02df,
|
||||
0x03ef, 0x02df, 0x03ff, 0x040e, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02e4, 0x041e, 0x02df,
|
||||
0x042c, 0x0438, 0x02df, 0x02df, 0x0446, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x0453, 0x0461, 0x0471, 0x02df,
|
||||
0x02df, 0x02df, 0x0481, 0x048e, 0x049d, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x0481, 0x048e, 0x02df, 0x02df, 0x04a2, 0x02df,
|
||||
0x02df, 0x02df, 0x0481, 0x048e, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x0481, 0x048e, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x048e, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x048e, 0x04b1, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x0481,
|
||||
0x048e, 0x02df, 0x02df, 0x02df, 0x04b8, 0x048e, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x04c5, 0x02df, 0x02df,
|
||||
0x02df, 0x04d0, 0x04db, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x04e7, 0x04f2, 0x02df, 0x02df, 0x02df, 0x04fe, 0x02df,
|
||||
0x0509, 0x02df, 0x02df, 0x02df, 0x0518, 0x0528, 0x02df, 0x02df,
|
||||
0x02df, 0x0532, 0x02df, 0x02df, 0x02df, 0x053b, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x0546, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02e2, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x0554, 0x02df, 0x0554,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x0562, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x0570, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x057a, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x0586,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x0596, 0x05a1, 0x02df, 0x02df,
|
||||
0x02df, 0x05b1, 0x02df, 0x02df, 0x02df, 0x02df, 0x0489, 0x0554,
|
||||
0x02df, 0x05bf, 0x047d, 0x02df, 0x02df, 0x04b9, 0x02df, 0x02df,
|
||||
0x02df, 0x0487, 0x05cf, 0x02df, 0x02df, 0x02df, 0x0486, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x05df, 0x05ef, 0x05fd, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x060d,
|
||||
0x061d, 0x02ef, 0x0627, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x0637, 0x0646, 0x0656, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02e0, 0x04a0, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x0657, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02ef, 0x02ef, 0x02df, 0x02df, 0x0667, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x0677, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02e0, 0x0683, 0x02df, 0x02e1, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x04a0, 0x055e, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x0554, 0x02df, 0x02ef, 0x04a0, 0x02df, 0x02df, 0x0691,
|
||||
0x02df, 0x02df, 0x0593, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x048a, 0x0596, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x06a1, 0x06b1, 0x02df,
|
||||
0x02df, 0x055e, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x048e, 0x02df, 0x06b3, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x06c3, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df, 0x02df,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01cf, 0x01d7, 0x01e0, 0x01ef, 0x01fe,
|
||||
0x020e, 0x021e, 0x022e, 0x0236, 0x0243, 0x0250, 0x025d, 0x026c,
|
||||
0x0279, 0x01bf, 0x01bf, 0x0284, 0x01bf, 0x01bf, 0x01bf, 0x0293,
|
||||
0x02a1, 0x02ae, 0x02bd, 0x02ca, 0x02da, 0x02ea, 0x01bf, 0x01bf,
|
||||
0x02fa, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x030a, 0x031a, 0x01bf, 0x01bf,
|
||||
0x032a, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x0334, 0x01bf, 0x0344, 0x0354, 0x0361, 0x0371, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x0380, 0x01bf, 0x01bf, 0x038e, 0x01bf, 0x0391,
|
||||
0x03a1, 0x03b0, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x03c0, 0x01bf, 0x01bf, 0x03cf, 0x01bf, 0x03db, 0x03e7, 0x03f7,
|
||||
0x0404, 0x0413, 0x041f, 0x042c, 0x0439, 0x0447, 0x0454, 0x0458,
|
||||
0x0467, 0x01bf, 0x0474, 0x0480, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x048a, 0x049a,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x04a1, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x04ab, 0x04b7, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x04c7,
|
||||
0x049a, 0x04ca, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x04d9,
|
||||
0x04e7, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf, 0x01bf,
|
||||
/* level 3 offsets */
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x0507, 0x0512, 0x0521, 0x052d, 0x053a, 0x054a, 0x0557, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x0567, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0576, 0x0584, 0x0594, 0x05a4, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x05b4, 0x04f7, 0x04f7, 0x05bf, 0x05cf, 0x04f7, 0x05df,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x05e9, 0x05f8, 0x04f7,
|
||||
0x0607, 0x04f7, 0x0617, 0x0626, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04fc, 0x0636, 0x04f7,
|
||||
0x0644, 0x0650, 0x04f7, 0x04f7, 0x065e, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x066b, 0x0679, 0x0689, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0699, 0x06a6, 0x06b5, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0699, 0x06a6, 0x04f7, 0x04f7, 0x06ba, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0699, 0x06a6, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0699, 0x06a6, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x06a6, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x06a6, 0x06c9, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0699,
|
||||
0x06a6, 0x04f7, 0x04f7, 0x04f7, 0x06d0, 0x06a6, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x06dd, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x06e8, 0x06f3, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x06ff, 0x070a, 0x04f7, 0x04f7, 0x04f7, 0x0716, 0x04f7,
|
||||
0x0721, 0x04f7, 0x04f7, 0x04f7, 0x0730, 0x0740, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x074a, 0x04f7, 0x04f7, 0x04f7, 0x0753, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x075e, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04fa, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x076c, 0x04f7, 0x076c,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x077a, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0788, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0792, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x079e,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x07ae, 0x07b9, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x07c9, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x06a1, 0x076c,
|
||||
0x04f7, 0x07d7, 0x0695, 0x04f7, 0x04f7, 0x06d1, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x069f, 0x07e7, 0x04f7, 0x04f7, 0x04f7, 0x069e, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x07f7, 0x0807, 0x0815, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0825,
|
||||
0x0835, 0x0507, 0x083f, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x084f, 0x085e, 0x086e, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f8, 0x06b8, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x086f, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x0507, 0x0507, 0x04f7, 0x04f7, 0x087f, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x088f, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f8, 0x089b, 0x04f7, 0x04f9, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x06b8, 0x0776, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x076c, 0x04f7, 0x0507, 0x06b8, 0x04f7, 0x04f7, 0x08a9,
|
||||
0x04f7, 0x04f7, 0x07ab, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x06a2, 0x07ae, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x08b9, 0x08c9, 0x04f7,
|
||||
0x04f7, 0x0776, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x06a6, 0x04f7, 0x08cb, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x08db, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x075e, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x08eb, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x08f5, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x0900, 0x04f7, 0x04f7, 0x0910, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0920,
|
||||
0x04f7, 0x04f7, 0x092c, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x0936, 0x08eb, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0776, 0x04f7, 0x04f7, 0x086f,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x0946, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x08fd, 0x04f7, 0x04f7, 0x0953, 0x04f7, 0x04f7, 0x04f7, 0x06a2,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0963, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x096e, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x0975, 0x04f7, 0x04f7, 0x04f7, 0x0980,
|
||||
0x06a6, 0x04f7, 0x098d, 0x0694, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x099b, 0x06ba, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x09a9, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x086f, 0x09ac, 0x04f7, 0x04f7, 0x04f7, 0x086f, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x09a5, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x0771, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x0946, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x07ae,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x076c, 0x06e0, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x06de, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x086f, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0758, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x06e0, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x09bc, 0x04f7, 0x04f7, 0x04f7, 0x08a2, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x09c1, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x09d0, 0x09de, 0x09eb, 0x04f7, 0x09f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0a05, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x0a15, 0x0a1d, 0x0a2b, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04fb, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0a3b,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x0a47, 0x04f7, 0x04f7, 0x04f7,
|
||||
0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7, 0x04f7,
|
||||
/* values */
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
|
@ -227,5 +295,50 @@ const unsigned short DECLSPEC_HIDDEN combining_class_table[1747] =
|
|||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x001a, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x00e6, 0x00dc, 0x00dc, 0x00dc, 0x00dc, 0x00dc,
|
||||
0x00dc, 0x00dc, 0x00e6, 0x00e6
|
||||
0x00dc, 0x00dc, 0x00e6, 0x00e6, 0x00dc, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00dc, 0x0000,
|
||||
0x00e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x00e6, 0x0001, 0x00dc, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00dc,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00dc, 0x00dc, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x00dc, 0x00e6, 0x00dc, 0x00dc, 0x00dc, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0009, 0x0007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009,
|
||||
0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0007, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0007,
|
||||
0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0007, 0x0007, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0009, 0x0000,
|
||||
0x0000, 0x0000, 0x0007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0009, 0x0007, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001,
|
||||
0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00d8, 0x00d8,
|
||||
0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x00e2, 0x00d8,
|
||||
0x00d8, 0x00d8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x00dc, 0x00dc, 0x00dc, 0x00dc, 0x00dc, 0x0000,
|
||||
0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00dc, 0x00dc,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000, 0x0000,
|
||||
0x00e6, 0x00e6, 0x00e6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000,
|
||||
0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000, 0x00e6,
|
||||
0x00e6, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x00e6, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x00dc, 0x00dc, 0x00dc, 0x00dc,
|
||||
0x00dc, 0x00dc, 0x00dc, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
|
||||
0x0000, 0x0000, 0x0000, 0x0000, 0x00e6, 0x00e6, 0x00e6, 0x00e6,
|
||||
0x00e6, 0x00e6, 0x0007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000
|
||||
};
|
||||
|
|
|
@ -167,9 +167,10 @@ static const WCHAR *get_decomposition( const unsigned short *table, WCHAR ch, un
|
|||
}
|
||||
|
||||
|
||||
static BYTE get_combining_class( WCHAR c )
|
||||
static BYTE get_combining_class( unsigned int c )
|
||||
{
|
||||
return combining_class_table[combining_class_table[combining_class_table[c >> 8] + ((c >> 4) & 0xf)] + (c & 0xf)];
|
||||
const unsigned short *table = combining_class_table;
|
||||
return table[table[table[table[c >> 12] + ((c >> 8) & 0xf)] + ((c >> 4) & 0xf)] + (c & 0xf)];
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -38,6 +38,9 @@ my $STRINGPREP = "rfc3454.txt";
|
|||
# Default char for undefined mappings
|
||||
my $DEF_CHAR = ord '?';
|
||||
|
||||
# Last valid Unicode character
|
||||
my $MAX_CHAR = 0x10ffff;
|
||||
|
||||
my @allfiles =
|
||||
(
|
||||
"CodpageFiles/037.txt",
|
||||
|
@ -1670,6 +1673,31 @@ sub dump_two_level_mapping($$@)
|
|||
printf OUTPUT " /* values */\n%s\n};\n", dump_array( $size, 0, @row_array[4096..$#row_array] );
|
||||
}
|
||||
|
||||
################################################################
|
||||
# dump a char -> value mapping table using three-level tables
|
||||
sub dump_three_level_mapping($$@)
|
||||
{
|
||||
my $name = shift;
|
||||
my $def = shift;
|
||||
my $size = shift;
|
||||
my $type = $size == 16 ? "unsigned short" : "unsigned int";
|
||||
my $level3 = ($MAX_CHAR + 1) / 16;
|
||||
my $level2 = $level3 / 16;
|
||||
my $level1 = $level2 / 16;
|
||||
my @array3 = compress_array( $level3, $def, @_[0..$MAX_CHAR] );
|
||||
my @array2 = compress_array( $level2, 0, @array3[0..$level3-1] );
|
||||
my @array1 = compress_array( $level1, 0, @array2[0..$level2-1] );
|
||||
|
||||
for (my $i = $level2; $i < @array2; $i++) { $array2[$i] += @array1 + @array2 - $level2 - $level3; }
|
||||
for (my $i = $level1; $i < @array1; $i++) { $array1[$i] += @array1 - $level2; }
|
||||
|
||||
printf OUTPUT "const %s DECLSPEC_HIDDEN %s[%u] =\n{\n", $type, $name, @array1 + (@array2 - $level2) + (@array3 - $level3);
|
||||
printf OUTPUT " /* level 1 offsets */\n%s,\n", dump_array( $size, 0, @array1[0..$level1-1] );
|
||||
printf OUTPUT " /* level 2 offsets */\n%s,\n", dump_array( $size, 0, @array1[$level1..$#array1] );
|
||||
printf OUTPUT " /* level 3 offsets */\n%s,\n", dump_array( $size, 0, @array2[$level2..$#array2] );
|
||||
printf OUTPUT " /* values */\n%s\n};\n", dump_array( $size, 0, @array3[$level3..$#array3] );
|
||||
}
|
||||
|
||||
################################################################
|
||||
# dump a binary case mapping table in l_intl.nls format
|
||||
sub dump_binary_case_table(@)
|
||||
|
@ -2187,7 +2215,7 @@ sub dump_combining_class($)
|
|||
print OUTPUT "/* DO NOT EDIT!! */\n\n";
|
||||
print OUTPUT "#include \"windef.h\"\n\n";
|
||||
|
||||
dump_two_level_mapping( "combining_class_table", 0, 16, @combining_class_table );
|
||||
dump_three_level_mapping( "combining_class_table", 0, 16, @combining_class_table );
|
||||
close OUTPUT;
|
||||
save_file($filename);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue