From: Alexandre Julliard julliard@winehq.org
--- dlls/gdi32/uniscribe/indicsyllable.c | 354 +++++++++++++++++++++------ dlls/gdi32/uniscribe/shape.c | 2 +- tools/make_unicode | 14 +- 3 files changed, 281 insertions(+), 89 deletions(-)
diff --git a/dlls/gdi32/uniscribe/indicsyllable.c b/dlls/gdi32/uniscribe/indicsyllable.c index 6160188c9e2..c42ca925be0 100644 --- a/dlls/gdi32/uniscribe/indicsyllable.c +++ b/dlls/gdi32/uniscribe/indicsyllable.c @@ -5,86 +5,130 @@
#include "windef.h"
-const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3033] = +const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[4601] = { /* level 1 offsets */ - 0x0100, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x011e, 0x012e, 0x013e, 0x014e, 0x015e, 0x016e, 0x017d, - 0x018d, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x019d, - 0x010e, 0x01ad, 0x01bd, 0x01cd, 0x01dd, 0x01ed, 0x010e, 0x010e, - 0x01fd, 0x010e, 0x010e, 0x010e, 0x010e, 0x020d, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x021d, 0x022d, 0x023d, 0x024d, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, - 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, 0x010e, + 0x0110, 0x0120, 0x0130, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x013e, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x014a, 0x015a, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, + 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, 0x0136, /* level 2 offsets */ - 0x025d, 0x025d, 0x0260, 0x0270, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x0280, 0x028e, 0x025d, 0x0297, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x02a7, 0x02b2, - 0x02b7, 0x02bd, 0x02cd, 0x02dd, 0x02ed, 0x02fd, 0x030d, 0x0319, - 0x0320, 0x032f, 0x033f, 0x034e, 0x02ed, 0x035d, 0x036c, 0x0319, - 0x0320, 0x037c, 0x038c, 0x039b, 0x03aa, 0x03ba, 0x03c9, 0x03d5, - 0x0320, 0x03e4, 0x03f4, 0x025d, 0x02ed, 0x0402, 0x0412, 0x0319, - 0x0320, 0x0422, 0x0432, 0x0440, 0x02ed, 0x044e, 0x045c, 0x046b, - 0x047b, 0x0489, 0x0499, 0x04a7, 0x03aa, 0x025d, 0x04b7, 0x04c3, - 0x0320, 0x04c9, 0x04d8, 0x04e6, 0x02ed, 0x025d, 0x04f6, 0x04c3, - 0x0320, 0x0506, 0x0516, 0x0524, 0x02ed, 0x0533, 0x0543, 0x04c3, - 0x02b7, 0x0553, 0x0561, 0x0570, 0x02ed, 0x0580, 0x0590, 0x0599, - 0x02b7, 0x05a7, 0x05b7, 0x05c6, 0x03aa, 0x05d6, 0x05e5, 0x02b7, - 0x05e6, 0x05f6, 0x0606, 0x0270, 0x025d, 0x025d, 0x0615, 0x02b7, - 0x0621, 0x0631, 0x0641, 0x0651, 0x025d, 0x025d, 0x0661, 0x0671, - 0x067d, 0x068d, 0x02b7, 0x0696, 0x06a5, 0x06b5, 0x06c2, 0x06cb, - 0x06ce, 0x06db, 0x025d, 0x025d, 0x025d, 0x02b7, 0x02b7, 0x06eb, - 0x06fa, 0x070a, 0x071a, 0x0729, 0x0738, 0x0746, 0x0756, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x02b4, 0x0766, 0x02b4, - 0x0775, 0x02b4, 0x0785, 0x0795, 0x07a4, 0x02b7, 0x02b7, 0x07b4, - 0x07c0, 0x07d0, 0x07df, 0x0270, 0x025d, 0x07ef, 0x05e6, 0x07ff, - 0x080f, 0x03aa, 0x02b7, 0x081f, 0x082f, 0x02b7, 0x02b7, 0x083f, - 0x084f, 0x085e, 0x086e, 0x025d, 0x025d, 0x02b7, 0x087e, 0x02b7, - 0x02b7, 0x088e, 0x089b, 0x08ab, 0x08b9, 0x0270, 0x0270, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x08c9, 0x02b4, 0x02b7, - 0x08d9, 0x08e9, 0x0270, 0x08f6, 0x0903, 0x0913, 0x02b7, 0x0922, - 0x0932, 0x02b7, 0x02b7, 0x0942, 0x0952, 0x02b7, 0x02b7, 0x0962, - 0x096f, 0x097f, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x098f, 0x099f, 0x09ad, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x09b8, 0x09c4, 0x09d4, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x09e0, 0x09ee, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x09fe, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x0292, 0x025d, 0x025d, 0x025d, 0x0a0e, 0x02b7, 0x0a1b, - 0x025d, 0x02b7, 0x0a2b, 0x0a39, 0x0a48, 0x0a58, 0x02b5, 0x02b7, - 0x0a68, 0x0a74, 0x0270, 0x0a84, 0x0a92, 0x0aa2, 0x02b7, 0x0ab0, - 0x02b7, 0x0ac0, 0x0acf, 0x025d, 0x025d, 0x0adf, 0x02b7, 0x02b7, - 0x0aee, 0x0afe, 0x0270, 0x0b0e, 0x0b1e, 0x02b1, 0x02b7, 0x0b2e, - 0x0b3d, 0x0b4d, 0x0270, 0x02b7, 0x0b5c, 0x02b7, 0x02b7, 0x02b7, - 0x0b6c, 0x0b7c, 0x025d, 0x0b8c, 0x0b9c, 0x025d, 0x025d, 0x025d, - 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, 0x025d, - 0x025d, 0x0bac, 0x0bbc, 0x0bc9, 0x0270, + 0x016a, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, + 0x0178, 0x0188, 0x0198, 0x01a8, 0x01b8, 0x01c8, 0x01d8, 0x01e7, + 0x01f7, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0207, + 0x0178, 0x0217, 0x0227, 0x0237, 0x0247, 0x0257, 0x0178, 0x0178, + 0x0267, 0x0178, 0x0178, 0x0178, 0x0178, 0x0277, 0x0178, 0x0178, + 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, + 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0287, 0x0297, + 0x02a7, 0x02b7, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, 0x0178, + 0x0178, 0x0178, 0x0178, 0x0178, 0x02c7, 0x0178, 0x0178, 0x0178, + 0x0178, 0x0178, 0x02d7, 0x02e7, 0x02f7, 0x0307, 0x0317, 0x0325, + 0x0335, 0x0345, 0x0355, 0x0365, 0x0375, 0x0178, 0x0385, 0x0395, + 0x03a0, 0x0178, + /* level 3 offsets */ + 0x03b0, 0x03b0, 0x03b3, 0x03c3, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03d3, 0x03e1, 0x03b0, 0x03ea, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03fa, 0x0405, + 0x040a, 0x0410, 0x0420, 0x0430, 0x0440, 0x0450, 0x0460, 0x046c, + 0x0473, 0x0482, 0x0492, 0x04a1, 0x0440, 0x04b0, 0x04bf, 0x046c, + 0x0473, 0x04cf, 0x04df, 0x04ee, 0x04fd, 0x050d, 0x051c, 0x0528, + 0x0473, 0x0537, 0x0547, 0x03b0, 0x0440, 0x0555, 0x0565, 0x046c, + 0x0473, 0x0575, 0x0585, 0x0593, 0x0440, 0x05a1, 0x05af, 0x05be, + 0x05ce, 0x05dc, 0x05ec, 0x05fa, 0x04fd, 0x03b0, 0x060a, 0x0616, + 0x0473, 0x061c, 0x062b, 0x0639, 0x0440, 0x03b0, 0x0649, 0x0616, + 0x0473, 0x0659, 0x0669, 0x0677, 0x0440, 0x0686, 0x0696, 0x0616, + 0x040a, 0x06a6, 0x06b4, 0x06c3, 0x0440, 0x06d3, 0x06e3, 0x06ec, + 0x040a, 0x06fa, 0x070a, 0x0719, 0x04fd, 0x0729, 0x0738, 0x040a, + 0x0739, 0x0749, 0x0759, 0x03c3, 0x03b0, 0x03b0, 0x0768, 0x040a, + 0x0774, 0x0784, 0x0794, 0x07a4, 0x03b0, 0x03b0, 0x07b4, 0x07c4, + 0x07d0, 0x07e0, 0x040a, 0x07e9, 0x07f8, 0x0808, 0x0815, 0x081e, + 0x0821, 0x082e, 0x03b0, 0x03b0, 0x03b0, 0x040a, 0x040a, 0x083e, + 0x084d, 0x085d, 0x086d, 0x087c, 0x088b, 0x0899, 0x08a9, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0407, 0x08b9, 0x0407, + 0x08c8, 0x0407, 0x08d8, 0x08e8, 0x08f7, 0x040a, 0x040a, 0x0907, + 0x0913, 0x0923, 0x0932, 0x03c3, 0x03b0, 0x0942, 0x0739, 0x0952, + 0x0962, 0x04fd, 0x040a, 0x0972, 0x0982, 0x040a, 0x040a, 0x0992, + 0x09a2, 0x09b1, 0x09c1, 0x03b0, 0x03b0, 0x040a, 0x09d1, 0x040a, + 0x040a, 0x09e1, 0x09ee, 0x09fe, 0x0a0c, 0x03c3, 0x03c3, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0a1c, 0x0407, 0x040a, + 0x0a2c, 0x0a3c, 0x03c3, 0x0a49, 0x0a56, 0x0a66, 0x040a, 0x0a75, + 0x0a85, 0x040a, 0x040a, 0x0a95, 0x0aa5, 0x040a, 0x040a, 0x0ab5, + 0x0ac2, 0x0ad2, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x0ae2, 0x0af2, 0x0b00, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0b0b, 0x0b17, 0x0b27, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0b33, 0x0b41, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0b51, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03e5, 0x03b0, 0x03b0, 0x03b0, 0x0b61, 0x040a, 0x0b6e, + 0x03b0, 0x040a, 0x0b7e, 0x0b8c, 0x0b9b, 0x0bab, 0x0408, 0x040a, + 0x0bbb, 0x0bc7, 0x03c3, 0x0bd7, 0x0be5, 0x0bf5, 0x040a, 0x0c03, + 0x040a, 0x0c13, 0x0c22, 0x03b0, 0x03b0, 0x0c32, 0x040a, 0x040a, + 0x0c41, 0x0c51, 0x03c3, 0x0c61, 0x0c71, 0x0404, 0x040a, 0x0c81, + 0x0c90, 0x0ca0, 0x03c3, 0x040a, 0x0caf, 0x040a, 0x040a, 0x040a, + 0x0cbf, 0x0ccf, 0x03b0, 0x0cdf, 0x0cef, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x0cff, 0x0d0f, 0x0d1c, 0x03c3, 0x0d2c, 0x0d3c, 0x040a, + 0x0d46, 0x0d56, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0d66, 0x0407, 0x040a, + 0x0d76, 0x0d84, 0x0d92, 0x0d9c, 0x0dac, 0x0dbc, 0x040a, 0x040a, + 0x0dcc, 0x0dda, 0x03b0, 0x03b0, 0x03b0, 0x0dea, 0x040a, 0x0df3, + 0x0e03, 0x0e13, 0x0e23, 0x040a, 0x0e30, 0x0e40, 0x0409, 0x040a, + 0x0e50, 0x0e60, 0x03c3, 0x07c3, 0x0e70, 0x0402, 0x07e6, 0x0e80, + 0x0e90, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0ea0, 0x0eaf, 0x0ebe, + 0x0400, 0x040a, 0x0ece, 0x0ede, 0x03c3, 0x0eee, 0x046c, 0x0473, + 0x0efe, 0x0f0e, 0x0f1c, 0x0f2c, 0x0f34, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x0bad, 0x040a, 0x040a, + 0x0f44, 0x0f54, 0x0f64, 0x0f74, 0x03b0, 0x0f83, 0x040a, 0x040a, + 0x0f93, 0x0fa2, 0x03c3, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x0bad, 0x040a, 0x0fb2, 0x0fc2, 0x0fd2, + 0x0fda, 0x03b0, 0x03b0, 0x0bad, 0x040a, 0x040a, 0x0fea, 0x0ffa, + 0x03c3, 0x03b0, 0x03b0, 0x0400, 0x040a, 0x100a, 0x101a, 0x03c3, + 0x03b0, 0x03b0, 0x03b0, 0x040a, 0x102a, 0x103a, 0x104a, 0x0a42, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x0400, 0x040a, 0x0fb5, 0x105a, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x106a, 0x1076, 0x040a, 0x1086, 0x1096, + 0x03c3, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x10a6, 0x040a, 0x040a, + 0x10b5, 0x10c5, 0x03b0, 0x10d5, 0x040a, 0x040a, 0x10e2, 0x10f2, + 0x1102, 0x040a, 0x040a, 0x110e, 0x1118, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x1128, 0x040a, 0x0fb2, 0x1138, 0x1148, + 0x07c4, 0x1158, 0x0737, 0x040a, 0x1166, 0x116e, 0x117e, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x118e, 0x040a, 0x040a, 0x119d, 0x11ad, + 0x03c3, 0x11bd, 0x040a, 0x11c9, 0x11d9, 0x03c3, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x03b0, + 0x03b0, 0x03b0, 0x03b0, 0x03b0, 0x040a, 0x11e9, /* values */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -389,5 +433,159 @@ const unsigned short DECLSPEC_HIDDEN indic_syllabic_table[3033] = 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000f, 0x000f, 0x000f, 0x000f, 0x000f, 0x0107, 0x0107, 0x0507, 0x0107, 0x0107, 0x0607, 0x0107, 0x0107, 0x0000, - 0x0113, 0x0616, 0x0000, 0x0000 + 0x0113, 0x0616, 0x0000, 0x0000, 0x000a, 0x0d07, 0x0607, 0x0607, + 0x0000, 0x0507, 0x0d07, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0607, 0x0607, 0x0601, 0x0502, 0x000a, 0x000a, 0x000a, 0x000a, + 0x0000, 0x000a, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0504, 0x0604, + 0x0604, 0x0000, 0x0000, 0x0000, 0x0000, 0x0017, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0101, 0x0501, + 0x0102, 0x001f, 0x001f, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0507, 0x0507, + 0x0507, 0x0507, 0x0607, 0x0607, 0x0607, 0x0607, 0x0507, 0x0507, + 0x0507, 0x0507, 0x0505, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x0516, 0x0006, 0x0006, 0x0507, + 0x0507, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x001c, 0x0501, 0x0501, 0x0102, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x000a, 0x000a, 0x000a, 0x0107, 0x0207, 0x0107, 0x0607, + 0x0607, 0x0507, 0x0507, 0x0107, 0x0107, 0x0605, 0x0604, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0607, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0501, 0x0501, 0x0502, 0x0006, 0x0006, 0x0006, + 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x0507, 0x0507, 0x0507, 0x0607, 0x0607, 0x0207, + 0x0507, 0x0707, 0x0707, 0x0507, 0x0607, 0x0607, 0x0017, 0x0516, + 0x0000, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, + 0x0107, 0x0107, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0008, 0x0008, 0x0008, 0x0008, 0x0008, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x0604, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0501, 0x0501, 0x0102, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x000a, 0x000a, 0x000a, 0x0107, 0x0207, 0x0107, 0x0607, 0x0607, + 0x0607, 0x0607, 0x0607, 0x0607, 0x0507, 0x0507, 0x0507, 0x0807, + 0x0105, 0x0003, 0x0520, 0x0520, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0621, 0x0604, 0x0507, 0x0607, 0x0000, 0x0207, 0x0501, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x0107, 0x0107, 0x0107, 0x0607, + 0x0507, 0x0507, 0x0807, 0x0807, 0x0501, 0x0105, 0x0504, 0x0518, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0519, 0x0000, + 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x000a, 0x0000, + 0x000a, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0501, 0x0107, 0x0207, + 0x0107, 0x0607, 0x0607, 0x0507, 0x0507, 0x0507, 0x0507, 0x0604, + 0x0616, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0501, 0x0501, + 0x0101, 0x0102, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, 0x0006, 0x000a, 0x0000, + 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x0000, 0x0604, 0x0604, 0x0003, 0x0107, 0x0107, 0x0507, 0x0107, + 0x0107, 0x0107, 0x0107, 0x0000, 0x0000, 0x0207, 0x0207, 0x0000, + 0x0000, 0x0407, 0x0407, 0x0105, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0107, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0001, 0x0001, 0x0006, 0x0006, 0x0107, 0x0107, + 0x0000, 0x0000, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, + 0x0519, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x0107, 0x0207, 0x0107, 0x0607, 0x0607, 0x0607, 0x0607, + 0x0607, 0x0607, 0x0507, 0x0507, 0x0107, 0x0107, 0x0605, 0x0501, + 0x0501, 0x0102, 0x0604, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0521, 0x0001, 0x001f, 0x001f, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x000a, 0x0107, 0x0207, 0x0107, 0x0607, 0x0607, + 0x0607, 0x0607, 0x0607, 0x0607, 0x0207, 0x0507, 0x0907, 0x0407, + 0x0107, 0x0407, 0x0501, 0x0102, 0x0605, 0x0604, 0x0003, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x0107, 0x0207, 0x0107, 0x0607, 0x0607, 0x0607, 0x0607, + 0x0000, 0x0000, 0x0207, 0x0907, 0x0407, 0x0a07, 0x0501, 0x0501, + 0x0102, 0x0605, 0x0604, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0607, 0x0607, + 0x0000, 0x0000, 0x0107, 0x0107, 0x0107, 0x0607, 0x0607, 0x0607, + 0x0607, 0x0607, 0x0607, 0x0507, 0x0507, 0x0107, 0x0107, 0x0501, + 0x0102, 0x0605, 0x0507, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0501, 0x0102, 0x0507, + 0x0207, 0x0107, 0x0607, 0x0607, 0x0507, 0x0507, 0x0507, 0x0507, + 0x0105, 0x0604, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x060e, + 0x100e, 0x050e, 0x0107, 0x0107, 0x0507, 0x0507, 0x0607, 0x0607, + 0x0207, 0x0507, 0x0607, 0x0507, 0x0507, 0x0516, 0x0000, 0x0000, + 0x0000, 0x0000, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0607, 0x0607, 0x0607, 0x0507, 0x0507, 0x0507, + 0x0507, 0x0501, 0x0102, 0x0605, 0x0604, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x000a, 0x000a, + 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, 0x0000, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0107, 0x0107, + 0x0107, 0x0107, 0x0107, 0x0207, 0x0000, 0x0207, 0x0407, 0x0000, + 0x0000, 0x0501, 0x0501, 0x0116, 0x0017, 0x0520, 0x010e, 0x0515, + 0x0b0e, 0x0604, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0000, + 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, 0x0107, 0x0207, + 0x0107, 0x0607, 0x0607, 0x0607, 0x0607, 0x0000, 0x0000, 0x0507, + 0x0507, 0x0107, 0x0107, 0x0101, 0x0102, 0x0605, 0x0003, 0x0000, + 0x0000, 0x0207, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0507, 0x0607, + 0x0607, 0x0507, 0x0507, 0x0507, 0x0507, 0x0507, 0x0507, 0x0607, + 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0621, 0x0616, 0x0501, + 0x0501, 0x0501, 0x0501, 0x0102, 0x0520, 0x060e, 0x060e, 0x060e, + 0x060e, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0009, + 0x0000, 0x0017, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0006, 0x0507, 0x0607, 0x0607, 0x0507, 0x0507, + 0x0507, 0x0107, 0x0107, 0x0607, 0x0607, 0x0607, 0x000a, 0x000a, + 0x000a, 0x000a, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, 0x0520, + 0x060f, 0x060f, 0x060f, 0x060f, 0x060f, 0x060f, 0x0501, 0x0102, + 0x0518, 0x0017, 0x0000, 0x0000, 0x0000, 0x0003, 0x0000, 0x0000, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0000, 0x0006, 0x0006, 0x0006, 0x0006, 0x000a, 0x000a, + 0x0507, 0x0507, 0x0607, 0x0607, 0x0607, 0x0607, 0x0607, 0x0000, + 0x0507, 0x0507, 0x0507, 0x0507, 0x0501, 0x0501, 0x0102, 0x0605, + 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0000, 0x0000, 0x0000, + 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, + 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x0000, 0x010d, + 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x060d, 0x0607, 0x0207, + 0x0607, 0x0507, 0x0107, 0x0501, 0x0501, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, + 0x0000, 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x0507, 0x0507, + 0x0507, 0x0507, 0x0507, 0x0607, 0x0000, 0x0000, 0x0000, 0x0507, + 0x0000, 0x0507, 0x0507, 0x0000, 0x0507, 0x0501, 0x0502, 0x0604, + 0x0507, 0x0616, 0x0017, 0x0115, 0x060e, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0006, 0x0006, + 0x0006, 0x0006, 0x0006, 0x0000, 0x0006, 0x0006, 0x0000, 0x0006, + 0x0006, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, + 0x000a, 0x000a, 0x000a, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, + 0x0000, 0x0507, 0x0507, 0x0000, 0x0107, 0x0107, 0x0501, 0x0102, + 0x0017, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x000a, 0x000a, 0x0009, 0x0507, 0x0607, 0x0207, 0x0107, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000 }; diff --git a/dlls/gdi32/uniscribe/shape.c b/dlls/gdi32/uniscribe/shape.c index fb8dfef60d6..6db553a53b4 100644 --- a/dlls/gdi32/uniscribe/shape.c +++ b/dlls/gdi32/uniscribe/shape.c @@ -2219,7 +2219,7 @@ static inline int unicode_lex(WCHAR c) if (c == 0x200C) return lex_ZWNJ; if (c == 0x00A0) return lex_NBSP;
- type = get_table_entry_16( indic_syllabic_table, c ); + type = get_table_entry_32( indic_syllabic_table, c );
if ((type & 0x00ff) != 0x0007) type = type & 0x00ff;
diff --git a/tools/make_unicode b/tools/make_unicode index b815fd1ceec..fa98661173a 100755 --- a/tools/make_unicode +++ b/tools/make_unicode @@ -2625,22 +2625,16 @@ sub dump_indic($) { my $type = $2; die "unknown indic $type" unless defined $indic_types{$type}; - if (hex $1 < 65536) - { - $indic_table[hex $1] = $indic_types{$type}; - } + $indic_table[hex $1] = $indic_types{$type}; next; } elsif (/^\s*([0-9a-fA-F]+)..\s*([0-9a-fA-F]+)\s*;\s*([A-Za-z_]+)\s*#/) { my $type = $3; die "unknown indic $type" unless defined $indic_types{$type}; - if (hex $1 < 65536 and hex $2 < 65536) + foreach my $i (hex $1 .. hex $2) { - foreach my $i (hex $1 .. hex $2) - { - $indic_table[$i] = $indic_types{$type}; - } + $indic_table[$i] = $indic_types{$type}; } next; } @@ -2684,7 +2678,7 @@ sub dump_indic($) print OUTPUT "/* DO NOT EDIT!! */\n\n"; print OUTPUT "#include "windef.h"\n\n";
- dump_two_level_mapping( "indic_syllabic_table", $indic_types{'Other'}, 16, @indic_table ); + dump_three_level_mapping( "indic_syllabic_table", $indic_types{'Other'}, 16, @indic_table );
close OUTPUT; save_file($filename);