diff --git a/reactos/dll/win32/usp10/bracket.c b/reactos/dll/win32/usp10/bracket.c index 86e0b7d1f3c..16c8ac624ba 100644 --- a/reactos/dll/win32/usp10/bracket.c +++ b/reactos/dll/win32/usp10/bracket.c @@ -1,5 +1,5 @@ /* Unicode Bidirectional Bracket table */ -/* generated from http://www.unicode.org/Public/8.0.0/ucd/BidiBrackets.txt */ +/* generated from http://www.unicode.org/Public/9.0.0/ucd/BidiBrackets.txt */ /* DO NOT EDIT!! */ const unsigned short /* DECLSPEC_HIDDEN */ bidi_bracket_table[768] = diff --git a/reactos/dll/win32/usp10/breaking.c b/reactos/dll/win32/usp10/breaking.c index 6b1a7444c17..641dff47bc9 100644 --- a/reactos/dll/win32/usp10/breaking.c +++ b/reactos/dll/win32/usp10/breaking.c @@ -25,7 +25,11 @@ WINE_DEFAULT_DEBUG_CHANNEL(uniscribe); extern const unsigned short wine_linebreak_table[] DECLSPEC_HIDDEN; -enum breaking_types { b_BK=1, b_CR, b_LF, b_CM, b_SG, b_GL, b_CB, b_SP, b_ZW, b_NL, b_WJ, b_JL, b_JV, b_JT, b_H2, b_H3, b_XX, b_OP, b_CL, b_CP, b_QU, b_NS, b_EX, b_SY, b_IS, b_PR, b_PO, b_NU, b_AL, b_ID, b_IN, b_HY, b_BB, b_BA, b_SA, b_AI, b_B2, b_HL, b_CJ, b_RI}; +enum breaking_types { + b_BK=1, b_CR, b_LF, b_CM, b_SG, b_GL, b_CB, b_SP, b_ZW, b_NL, b_WJ, b_JL, b_JV, b_JT, b_H2, b_H3, b_XX, b_OP, b_CL, + b_CP, b_QU, b_NS, b_EX, b_SY, b_IS, b_PR, b_PO, b_NU, b_AL, b_ID, b_IN, b_HY, b_BB, b_BA, b_SA, b_AI, b_B2, b_HL, + b_CJ, b_RI, b_EB, b_EM, b_ZWJ +}; enum breaking_class {b_r=1, b_s, b_x}; diff --git a/reactos/dll/win32/usp10/indicsyllable.c b/reactos/dll/win32/usp10/indicsyllable.c index fa47bfdc9ba..0d7f2c91e75 100644 --- a/reactos/dll/win32/usp10/indicsyllable.c +++ b/reactos/dll/win32/usp10/indicsyllable.c @@ -1,16 +1,16 @@ /* Unicode Indic Syllabic Category */ -/* generated from http://www.unicode.org/Public/8.0.0/ucd/IndicSyllabicCategory.txt */ -/* and from http://www.unicode.org/Public/8.0.0/ucd/IndicPositionalCategory.txt */ +/* generated from http://www.unicode.org/Public/9.0.0/ucd/IndicSyllabicCategory.txt */ +/* and from http://www.unicode.org/Public/9.0.0/ucd/IndicPositionalCategory.txt */ /* DO NOT EDIT!! */ -const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = +const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3296] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170, 0x0180, 0x0190, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x01a0, - 0x0110, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x0110, 0x0110, 0x0110, - 0x01f0, 0x0110, 0x0110, 0x0110, 0x0110, 0x0200, 0x0110, 0x0110, + 0x0110, 0x01b0, 0x01c0, 0x01d0, 0x01e0, 0x01f0, 0x0110, 0x0110, + 0x0200, 0x0110, 0x0110, 0x0110, 0x0110, 0x0210, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, @@ -27,7 +27,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, - 0x0210, 0x0220, 0x0230, 0x0240, 0x0110, 0x0110, 0x0110, 0x0110, + 0x0220, 0x0230, 0x0240, 0x0250, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, @@ -39,48 +39,50 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, 0x0110, /* level 2 offsets */ - 0x0250, 0x0260, 0x0270, 0x0280, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0290, 0x02a0, 0x0260, 0x02b0, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x02c0, 0x02d0, 0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, - 0x0340, 0x0350, 0x0360, 0x0370, 0x0380, 0x0390, 0x0320, 0x03a0, - 0x03b0, 0x0350, 0x0360, 0x03c0, 0x03d0, 0x03e0, 0x03f0, 0x0400, - 0x0410, 0x0420, 0x0360, 0x0430, 0x0440, 0x0260, 0x0320, 0x0450, - 0x0340, 0x0350, 0x0360, 0x0460, 0x0470, 0x0480, 0x0320, 0x0490, - 0x04a0, 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x03f0, 0x0260, - 0x0500, 0x0510, 0x0360, 0x0520, 0x0530, 0x0540, 0x0320, 0x0260, - 0x0550, 0x0510, 0x0360, 0x0560, 0x0570, 0x0580, 0x0320, 0x0590, - 0x0550, 0x0510, 0x02e0, 0x05a0, 0x05b0, 0x05c0, 0x0320, 0x05d0, - 0x05e0, 0x05f0, 0x02e0, 0x0600, 0x0610, 0x0620, 0x03f0, 0x0630, - 0x0640, 0x02e0, 0x0650, 0x0660, 0x0670, 0x0280, 0x0260, 0x0260, - 0x0680, 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x0260, 0x0260, - 0x0260, 0x06e0, 0x06f0, 0x0700, 0x0710, 0x02e0, 0x0720, 0x0730, - 0x0740, 0x0750, 0x0760, 0x0770, 0x0780, 0x0260, 0x0260, 0x0260, - 0x02e0, 0x02e0, 0x0790, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, - 0x07f0, 0x0800, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0810, 0x0820, 0x0830, 0x0820, 0x0830, 0x0840, 0x0810, 0x0850, - 0x02e0, 0x02e0, 0x0860, 0x0870, 0x0880, 0x0890, 0x0280, 0x0260, - 0x08a0, 0x0650, 0x08b0, 0x08c0, 0x03f0, 0x02e0, 0x08d0, 0x08e0, - 0x02e0, 0x02e0, 0x08f0, 0x0900, 0x0910, 0x0280, 0x0260, 0x0260, - 0x02e0, 0x0920, 0x02e0, 0x02e0, 0x0930, 0x0940, 0x0950, 0x0960, - 0x0280, 0x0280, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0970, 0x0830, 0x02e0, 0x0980, 0x0990, 0x0280, 0x09a0, 0x09b0, - 0x09c0, 0x02e0, 0x09d0, 0x09e0, 0x02e0, 0x02e0, 0x09f0, 0x0a00, - 0x02e0, 0x02e0, 0x0a10, 0x0a20, 0x0a30, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0a40, 0x0a50, 0x0a60, - 0x0a70, 0x0a80, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0a90, - 0x0aa0, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0ab0, 0x0260, 0x0260, 0x0260, - 0x0ac0, 0x02e0, 0x0ad0, 0x0260, 0x02e0, 0x0ae0, 0x0af0, 0x0b00, - 0x0b10, 0x0b20, 0x02e0, 0x0b30, 0x0b40, 0x0280, 0x0b50, 0x0b60, - 0x0b70, 0x02e0, 0x0b80, 0x02e0, 0x0b90, 0x0ba0, 0x0260, 0x0260, - 0x0bb0, 0x02e0, 0x02e0, 0x0bc0, 0x0bd0, 0x0280, 0x0be0, 0x0bf0, - 0x0c00, 0x02e0, 0x0c10, 0x0c20, 0x0c30, 0x0280, 0x02e0, 0x0c40, - 0x02e0, 0x02e0, 0x02e0, 0x0c50, 0x0c60, 0x0260, 0x0c70, 0x0c80, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, 0x0260, - 0x0260, 0x0260, 0x0260, 0x0260, 0x0c90, 0x0ca0, 0x0cb0, 0x0280, + 0x0260, 0x0270, 0x0280, 0x0290, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x02a0, 0x02b0, 0x0270, 0x02c0, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x02d0, 0x02e0, 0x02f0, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, + 0x0350, 0x0360, 0x0370, 0x0380, 0x0390, 0x03a0, 0x0330, 0x03b0, + 0x03c0, 0x0360, 0x0370, 0x03d0, 0x03e0, 0x03f0, 0x0400, 0x0410, + 0x0420, 0x0430, 0x0370, 0x0440, 0x0450, 0x0270, 0x0330, 0x0460, + 0x0350, 0x0360, 0x0370, 0x0470, 0x0480, 0x0490, 0x0330, 0x04a0, + 0x04b0, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0500, 0x0400, 0x0270, + 0x0510, 0x0520, 0x0370, 0x0530, 0x0540, 0x0550, 0x0330, 0x0270, + 0x0560, 0x0520, 0x0370, 0x0570, 0x0580, 0x0590, 0x0330, 0x05a0, + 0x0560, 0x0520, 0x02f0, 0x05b0, 0x05c0, 0x05d0, 0x0330, 0x05e0, + 0x05f0, 0x0600, 0x02f0, 0x0610, 0x0620, 0x0630, 0x0400, 0x0640, + 0x0650, 0x02f0, 0x0660, 0x0670, 0x0680, 0x0290, 0x0270, 0x0270, + 0x0690, 0x06a0, 0x06b0, 0x06c0, 0x06d0, 0x06e0, 0x0270, 0x0270, + 0x0270, 0x06f0, 0x0700, 0x0710, 0x0720, 0x02f0, 0x0730, 0x0740, + 0x0750, 0x0760, 0x0770, 0x0780, 0x0790, 0x0270, 0x0270, 0x0270, + 0x02f0, 0x02f0, 0x07a0, 0x07b0, 0x07c0, 0x07d0, 0x07e0, 0x07f0, + 0x0800, 0x0810, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0820, 0x0830, 0x0840, 0x0830, 0x0840, 0x0850, 0x0820, 0x0860, + 0x02f0, 0x02f0, 0x0870, 0x0880, 0x0890, 0x08a0, 0x0290, 0x0270, + 0x08b0, 0x0660, 0x08c0, 0x08d0, 0x0400, 0x02f0, 0x08e0, 0x08f0, + 0x02f0, 0x02f0, 0x0900, 0x0910, 0x0920, 0x0290, 0x0270, 0x0270, + 0x02f0, 0x0930, 0x02f0, 0x02f0, 0x0940, 0x0950, 0x0960, 0x0970, + 0x0290, 0x0290, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0980, 0x0840, 0x02f0, 0x0990, 0x09a0, 0x0290, 0x09b0, 0x09c0, + 0x09d0, 0x02f0, 0x09e0, 0x09f0, 0x02f0, 0x02f0, 0x0a00, 0x0a10, + 0x02f0, 0x02f0, 0x0a20, 0x0a30, 0x0a40, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a50, 0x0a60, 0x0a70, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0a80, + 0x0a90, 0x0aa0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0ab0, + 0x0ac0, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0ad0, 0x0270, 0x0270, 0x0270, + 0x0ae0, 0x02f0, 0x0af0, 0x0270, 0x02f0, 0x0b00, 0x0b10, 0x0b20, + 0x0b30, 0x0b40, 0x02f0, 0x0b50, 0x0b60, 0x0290, 0x0b70, 0x0b80, + 0x0b90, 0x02f0, 0x0ba0, 0x02f0, 0x0bb0, 0x0bc0, 0x0270, 0x0270, + 0x0bd0, 0x02f0, 0x02f0, 0x0be0, 0x0bf0, 0x0290, 0x0c00, 0x0c10, + 0x0c20, 0x02f0, 0x0c30, 0x0c40, 0x0c50, 0x0290, 0x02f0, 0x0c60, + 0x02f0, 0x02f0, 0x02f0, 0x0c70, 0x0c80, 0x0270, 0x0c90, 0x0ca0, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, 0x0270, + 0x0270, 0x0270, 0x0270, 0x0270, 0x0cb0, 0x0cc0, 0x0cd0, 0x0290, /* values */ 0x5f00, 0x9c00, 0x9500, 0x9500, 0x8600, 0x8600, 0x8600, 0x8600, 0x7e00, 0x6e00, 0x5d00, 0x5100, 0x4200, 0x2d00, 0x1700, 0x0a00, @@ -192,7 +194,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0003, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0607, 0x0607, 0x0000, 0x0207, 0x0207, 0x0207, 0x0000, 0x0407, 0x0407, 0x0407, 0x0505, 0x0015, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0107, + 0x0000, 0x0000, 0x0000, 0x0000, 0x000b, 0x000b, 0x000b, 0x0107, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000b, 0x000b, 0x000b, 0x000b, 0x000b, 0x000b, @@ -283,7 +285,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x0007, 0x0207, 0x0207, 0x0207, 0x0407, 0x0407, 0x0501, 0x0102, 0x0107, 0x0514, 0x0514, 0x0521, 0x050c, 0x0522, 0x0521, 0x0521, 0x0521, 0x0516, 0x0017, 0x0521, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0500, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0003, 0x0521, 0x0000, 0x0000, 0x0009, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x0507, 0x0507, 0x0607, 0x0107, 0x0107, 0x0807, 0x0807, 0x0507, @@ -343,6 +345,8 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x0000, 0x0000, 0x0002, 0x0002, 0x0519, 0x0000, 0x0000, 0x0000, 0x0019, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0521, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x001a, 0x001b, 0x0000, 0x0000, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -368,7 +372,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x000a, 0x010f, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, 0x0107, - 0x0107, 0x0107, 0x0107, 0x0107, 0x0605, 0x0000, 0x0000, 0x0000, + 0x0107, 0x0107, 0x0107, 0x0107, 0x0605, 0x0501, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, 0x0519, @@ -400,7 +404,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ indic_syllabic_table[3264] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x000f, 0x000f, 0x000f, 0x050f, 0x000f, 0x000f, 0x000f, 0x000f, 0x000f, 0x000f, 0x000f, 0x000f, 0x050f, 0x010f, 0x0000, 0x0000, - 0x0000, 0x000a, 0x000a, 0x000a, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x000a, 0x000a, 0x000a, 0x0009, 0x0009, 0x0009, 0x0000, 0x0000, 0x0000, 0x000a, 0x0113, 0x0513, 0x0113, 0x000a, 0x000a, 0x0507, 0x0107, 0x0507, 0x0507, 0x0607, 0x0307, 0x0307, 0x0507, 0x0507, 0x0007, 0x0107, 0x0307, 0x0307, 0x0107, 0x0507, 0x0513, diff --git a/reactos/dll/win32/usp10/linebreak.c b/reactos/dll/win32/usp10/linebreak.c index f0123410285..a5f4fab6c61 100644 --- a/reactos/dll/win32/usp10/linebreak.c +++ b/reactos/dll/win32/usp10/linebreak.c @@ -1,8 +1,8 @@ /* Unicode Line Break Properties */ -/* generated from http://www.unicode.org/Public/8.0.0/ucd/LineBreak.txt */ +/* generated from http://www.unicode.org/Public/9.0.0/ucd/LineBreak.txt */ /* DO NOT EDIT!! */ -const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = +const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7264] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, 0x0170, @@ -55,131 +55,131 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x07c0, 0x07d0, 0x05b0, 0x0580, 0x07e0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x07f0, 0x0800, 0x07b0, 0x05b0, 0x0760, 0x0810, 0x05b0, 0x0820, 0x0830, 0x0840, 0x05b0, 0x0850, 0x0860, 0x0860, - 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0860, 0x0880, 0x0580, - 0x0890, 0x05b0, 0x05b0, 0x08a0, 0x0580, 0x08b0, 0x08c0, 0x05b0, - 0x08d0, 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, - 0x0950, 0x08e0, 0x08f0, 0x0960, 0x0970, 0x0980, 0x0990, 0x09a0, - 0x09b0, 0x0690, 0x08f0, 0x09c0, 0x09d0, 0x09e0, 0x0930, 0x09f0, - 0x0a00, 0x08e0, 0x08f0, 0x09c0, 0x0a10, 0x0a20, 0x0930, 0x0a30, - 0x0a40, 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0990, 0x0aa0, - 0x0ab0, 0x0ac0, 0x08f0, 0x0ad0, 0x0ae0, 0x0af0, 0x0930, 0x0b00, - 0x0b10, 0x0ac0, 0x08f0, 0x0b20, 0x0ae0, 0x0b30, 0x0930, 0x0b40, - 0x0b10, 0x0ac0, 0x05b0, 0x0b50, 0x0b60, 0x0b70, 0x0930, 0x0b80, - 0x0b90, 0x0ba0, 0x05b0, 0x0bb0, 0x0bc0, 0x0bd0, 0x0990, 0x0be0, - 0x0bf0, 0x0c00, 0x0c00, 0x0c10, 0x0c20, 0x0c30, 0x0860, 0x0860, - 0x0c40, 0x0c50, 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0860, 0x0860, - 0x0ca0, 0x0cb0, 0x07b0, 0x0cc0, 0x0cd0, 0x05b0, 0x0ce0, 0x0cf0, - 0x0d00, 0x0d10, 0x0580, 0x0d20, 0x0d30, 0x0d40, 0x0860, 0x0860, - 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0d50, 0x0c00, 0x0c00, 0x0c00, - 0x0c00, 0x0d60, 0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0, - 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d80, 0x0d90, 0x0d90, - 0x0d90, 0x0d90, 0x0da0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, 0x0db0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0dc0, 0x0dd0, 0x05b0, 0x05b0, - 0x0dc0, 0x05b0, 0x05b0, 0x0de0, 0x0df0, 0x0e00, 0x05b0, 0x05b0, - 0x05b0, 0x0df0, 0x05b0, 0x05b0, 0x05b0, 0x0e10, 0x0e20, 0x0ce0, - 0x05b0, 0x0e30, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e40, - 0x0e50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x0860, 0x0860, 0x05b0, 0x0870, 0x0860, 0x0880, 0x0890, 0x0580, + 0x08a0, 0x05b0, 0x05b0, 0x08b0, 0x0580, 0x08c0, 0x08d0, 0x05b0, + 0x08e0, 0x08f0, 0x0900, 0x0910, 0x0920, 0x0930, 0x0940, 0x0950, + 0x0960, 0x08f0, 0x0900, 0x0970, 0x0980, 0x0990, 0x09a0, 0x09b0, + 0x09c0, 0x0690, 0x0900, 0x09d0, 0x09e0, 0x09f0, 0x0940, 0x0a00, + 0x0a10, 0x08f0, 0x0900, 0x09d0, 0x0a20, 0x0a30, 0x0940, 0x0a40, + 0x0a50, 0x0a60, 0x0a70, 0x0a80, 0x0a90, 0x0aa0, 0x09a0, 0x0ab0, + 0x0ac0, 0x0ad0, 0x0900, 0x0ae0, 0x0af0, 0x0b00, 0x0940, 0x0b10, + 0x0b20, 0x0ad0, 0x0900, 0x0b30, 0x0af0, 0x0b40, 0x0940, 0x0b50, + 0x0b60, 0x0ad0, 0x05b0, 0x0b70, 0x0b80, 0x0b90, 0x0940, 0x0ba0, + 0x0bb0, 0x0bc0, 0x05b0, 0x0bd0, 0x0be0, 0x0bf0, 0x09a0, 0x0c00, + 0x0c10, 0x0c20, 0x0c20, 0x0c30, 0x0c40, 0x0c50, 0x0860, 0x0860, + 0x0c60, 0x0c70, 0x0c80, 0x0c90, 0x0ca0, 0x0cb0, 0x0860, 0x0860, + 0x0cc0, 0x0cd0, 0x07b0, 0x0ce0, 0x0cf0, 0x05b0, 0x0d00, 0x0d10, + 0x0d20, 0x0d30, 0x0580, 0x0d40, 0x0d50, 0x0d60, 0x0860, 0x0860, + 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0d70, 0x0c20, 0x0c20, 0x0c20, + 0x0c20, 0x0d80, 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, + 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0da0, 0x0db0, 0x0db0, + 0x0db0, 0x0db0, 0x0dc0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, 0x0dd0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0de0, 0x0df0, 0x05b0, 0x05b0, + 0x0de0, 0x05b0, 0x05b0, 0x0e00, 0x0e10, 0x0e20, 0x05b0, 0x05b0, + 0x05b0, 0x0e10, 0x05b0, 0x05b0, 0x05b0, 0x0e30, 0x0e40, 0x0d00, + 0x05b0, 0x0e50, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e60, + 0x0e70, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x0e50, 0x0e60, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e70, 0x0e80, - 0x0e90, 0x0ea0, 0x05b0, 0x0eb0, 0x05b0, 0x0ec0, 0x0e90, 0x0ed0, - 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x0ee0, 0x0ef0, 0x0e30, - 0x0f00, 0x0ef0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a30, - 0x05b0, 0x05b0, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f20, - 0x05b0, 0x0840, 0x0f30, 0x0f30, 0x0f40, 0x0c00, 0x0f50, 0x0f60, - 0x0c00, 0x0c00, 0x0f70, 0x0c00, 0x0f80, 0x0f90, 0x05b0, 0x05b0, - 0x05b0, 0x0fa0, 0x0c00, 0x0c00, 0x0c00, 0x0fb0, 0x0c00, 0x0fc0, - 0x0ef0, 0x0ef0, 0x0f50, 0x0fd0, 0x0860, 0x0860, 0x0860, 0x0860, - 0x0fe0, 0x05b0, 0x05b0, 0x0ff0, 0x1000, 0x1010, 0x1020, 0x1030, - 0x1040, 0x05b0, 0x1050, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1060, - 0x05b0, 0x05b0, 0x0ff0, 0x1070, 0x1080, 0x07b0, 0x05b0, 0x1090, - 0x0860, 0x0860, 0x0860, 0x0860, 0x0a30, 0x10a0, 0x10b0, 0x10c0, + 0x0e70, 0x0e80, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0e90, 0x0ea0, + 0x0eb0, 0x0ec0, 0x05b0, 0x0ed0, 0x05b0, 0x0ee0, 0x0eb0, 0x0ef0, + 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x0f00, 0x0f10, 0x0e50, + 0x0f20, 0x0f10, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0a40, + 0x0f30, 0x05b0, 0x0f40, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0f50, + 0x05b0, 0x0840, 0x0f60, 0x0f60, 0x0f70, 0x0c20, 0x0f80, 0x0f90, + 0x0c20, 0x0c20, 0x0fa0, 0x0c20, 0x0fb0, 0x0fc0, 0x05b0, 0x05b0, + 0x05b0, 0x0fd0, 0x0c20, 0x0c20, 0x0c20, 0x0fe0, 0x0c20, 0x0ff0, + 0x0f10, 0x0f10, 0x0f80, 0x1000, 0x0860, 0x0860, 0x0860, 0x0860, + 0x1010, 0x05b0, 0x05b0, 0x1020, 0x1030, 0x1040, 0x1050, 0x1060, + 0x1070, 0x05b0, 0x1080, 0x07b0, 0x05b0, 0x05b0, 0x07f0, 0x1090, + 0x05b0, 0x05b0, 0x1020, 0x10a0, 0x10b0, 0x07b0, 0x05b0, 0x10c0, + 0x0ea0, 0x0860, 0x0860, 0x0860, 0x0a40, 0x10d0, 0x10e0, 0x10f0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x10d0, - 0x05b0, 0x0e40, 0x05b0, 0x05b0, 0x0e40, 0x10e0, 0x05b0, 0x10f0, - 0x05b0, 0x05b0, 0x05b0, 0x1100, 0x1100, 0x1110, 0x05b0, 0x1120, - 0x1130, 0x1140, 0x1150, 0x1160, 0x1170, 0x1180, 0x1190, 0x11a0, - 0x11b0, 0x0ce0, 0x11c0, 0x11d0, 0x11e0, 0x0580, 0x0580, 0x11f0, - 0x1200, 0x1210, 0x1220, 0x05b0, 0x05b0, 0x1230, 0x1240, 0x1250, - 0x1260, 0x1250, 0x05b0, 0x05b0, 0x05b0, 0x1270, 0x05b0, 0x05b0, - 0x1280, 0x1290, 0x12a0, 0x12b0, 0x12c0, 0x12d0, 0x12e0, 0x05b0, - 0x12f0, 0x1300, 0x1310, 0x1320, 0x05b0, 0x05b0, 0x1330, 0x05b0, - 0x1340, 0x1350, 0x1360, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1370, - 0x05b0, 0x05b0, 0x1380, 0x0860, 0x1390, 0x0860, 0x13a0, 0x13a0, - 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x13b0, - 0x13a0, 0x13a0, 0x13a0, 0x13a0, 0x1240, 0x13a0, 0x13a0, 0x13c0, - 0x13a0, 0x13d0, 0x13e0, 0x13f0, 0x1400, 0x1410, 0x1420, 0x05b0, - 0x1430, 0x1440, 0x05b0, 0x1450, 0x1460, 0x05b0, 0x1470, 0x1480, - 0x05b0, 0x1490, 0x05b0, 0x14a0, 0x14b0, 0x14c0, 0x14d0, 0x14e0, - 0x14f0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1500, 0x1510, 0x1520, - 0x13a0, 0x1530, 0x05b0, 0x05b0, 0x1540, 0x05b0, 0x1550, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x0580, 0x0580, 0x0580, 0x1100, + 0x05b0, 0x0e60, 0x05b0, 0x05b0, 0x0e60, 0x1110, 0x05b0, 0x1120, + 0x05b0, 0x05b0, 0x05b0, 0x1130, 0x1130, 0x1140, 0x05b0, 0x1150, + 0x1160, 0x1170, 0x1180, 0x1190, 0x11a0, 0x11b0, 0x11c0, 0x11d0, + 0x11e0, 0x0d00, 0x11f0, 0x1200, 0x1210, 0x0580, 0x0580, 0x1220, + 0x1230, 0x1240, 0x1250, 0x05b0, 0x05b0, 0x1260, 0x1270, 0x1280, + 0x1290, 0x1280, 0x05b0, 0x05b0, 0x05b0, 0x12a0, 0x05b0, 0x05b0, + 0x12b0, 0x12c0, 0x12d0, 0x12e0, 0x12f0, 0x1300, 0x1310, 0x05b0, + 0x1320, 0x1330, 0x1340, 0x1350, 0x05b0, 0x05b0, 0x1360, 0x05b0, + 0x1370, 0x1380, 0x1390, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x13a0, + 0x05b0, 0x05b0, 0x13b0, 0x0860, 0x13c0, 0x0860, 0x13d0, 0x13d0, + 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x13e0, + 0x13d0, 0x13d0, 0x13d0, 0x13d0, 0x1270, 0x13d0, 0x13d0, 0x13f0, + 0x13d0, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x1450, 0x05b0, + 0x1460, 0x1470, 0x05b0, 0x1480, 0x1490, 0x05b0, 0x14a0, 0x14b0, + 0x05b0, 0x14c0, 0x05b0, 0x14d0, 0x14e0, 0x14f0, 0x1500, 0x1510, + 0x1520, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1530, 0x1540, 0x1550, + 0x13d0, 0x1560, 0x05b0, 0x05b0, 0x1570, 0x05b0, 0x1580, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x1560, 0x1570, 0x05b0, 0x05b0, 0x05b0, 0x1340, 0x05b0, 0x1580, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1590, 0x05b0, 0x15a0, - 0x05b0, 0x15b0, 0x05b0, 0x15c0, 0x08f0, 0x15d0, 0x15e0, 0x0860, + 0x1590, 0x15a0, 0x05b0, 0x05b0, 0x05b0, 0x1370, 0x05b0, 0x15b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15c0, 0x05b0, 0x15d0, + 0x05b0, 0x15e0, 0x05b0, 0x15f0, 0x0900, 0x1600, 0x1610, 0x0860, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, 0x0840, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15f0, 0x1600, - 0x05b0, 0x05b0, 0x0d70, 0x05b0, 0x05b0, 0x05b0, 0x1610, 0x1620, - 0x05b0, 0x1380, 0x1630, 0x1630, 0x1630, 0x1630, 0x0580, 0x0580, - 0x1640, 0x1650, 0x1660, 0x1670, 0x1680, 0x0860, 0x0860, 0x0860, - 0x1690, 0x16a0, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x16b0, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x16c0, 0x0860, 0x16d0, - 0x16e0, 0x16f0, 0x1700, 0x1710, 0x1720, 0x1690, 0x1730, 0x1690, - 0x1740, 0x1750, 0x1760, 0x1690, 0x1730, 0x1690, 0x1740, 0x1770, - 0x1780, 0x1690, 0x1790, 0x17a0, 0x1690, 0x1690, 0x1690, 0x1690, - 0x17b0, 0x1690, 0x1690, 0x17c0, 0x1690, 0x1690, 0x16b0, 0x17d0, - 0x1690, 0x17b0, 0x1690, 0x1690, 0x17e0, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x17b0, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x1690, 0x17f0, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, 0x1690, - 0x1800, 0x1690, 0x1690, 0x1690, 0x1810, 0x05b0, 0x05b0, 0x1090, - 0x1820, 0x05b0, 0x1830, 0x0860, 0x05b0, 0x05b0, 0x15f0, 0x1840, - 0x05b0, 0x1850, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1860, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1620, 0x1630, + 0x05b0, 0x05b0, 0x0d90, 0x05b0, 0x05b0, 0x05b0, 0x1640, 0x1650, + 0x05b0, 0x13b0, 0x1660, 0x1660, 0x1660, 0x1660, 0x0580, 0x0580, + 0x1670, 0x1680, 0x1690, 0x16a0, 0x16b0, 0x0860, 0x0860, 0x0860, + 0x16c0, 0x16d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16e0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16f0, 0x0860, 0x1700, + 0x1710, 0x1720, 0x1730, 0x1740, 0x1750, 0x16c0, 0x1760, 0x16c0, + 0x1770, 0x1780, 0x1790, 0x16c0, 0x1760, 0x16c0, 0x1770, 0x17a0, + 0x17b0, 0x16c0, 0x17c0, 0x17d0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x17e0, 0x16c0, 0x16c0, 0x17f0, 0x16c0, 0x16c0, 0x16e0, 0x1800, + 0x16c0, 0x17e0, 0x16c0, 0x16c0, 0x1810, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x17e0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, + 0x16c0, 0x1820, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, 0x16c0, + 0x1830, 0x16c0, 0x16c0, 0x16c0, 0x1840, 0x05b0, 0x05b0, 0x10c0, + 0x1850, 0x05b0, 0x1860, 0x0860, 0x05b0, 0x05b0, 0x1620, 0x1870, + 0x05b0, 0x1880, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1890, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x10f0, 0x0a30, 0x0860, 0x0860, 0x0860, 0x1870, - 0x1880, 0x05b0, 0x1890, 0x18a0, 0x05b0, 0x05b0, 0x05b0, 0x18b0, - 0x18c0, 0x05b0, 0x05b0, 0x0ff0, 0x18d0, 0x0ef0, 0x0580, 0x18e0, - 0x07b0, 0x05b0, 0x18f0, 0x05b0, 0x1900, 0x1910, 0x0d80, 0x1920, - 0x0890, 0x05b0, 0x05b0, 0x1930, 0x1940, 0x1950, 0x0c00, 0x1960, - 0x05b0, 0x05b0, 0x1970, 0x1980, 0x1990, 0x19a0, 0x0c00, 0x0c00, - 0x0c00, 0x0c00, 0x0c00, 0x0c00, 0x19b0, 0x19c0, 0x0760, 0x19d0, - 0x19e0, 0x19f0, 0x1630, 0x05b0, 0x05b0, 0x05b0, 0x0f20, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a00, 0x0ef0, - 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, - 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, - 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, - 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, - 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, - 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, - 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, - 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, - 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, - 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, - 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, - 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, - 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, - 0x1a30, 0x1a10, 0x1a20, 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, - 0x1a30, 0x1a40, 0x1a30, 0x1a50, 0x1a30, 0x1a10, 0x1a20, 0x1a30, - 0x1a40, 0x1a30, 0x1a60, 0x0d90, 0x1a70, 0x0db0, 0x0db0, 0x1a80, - 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, - 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, 0x1a90, + 0x05b0, 0x05b0, 0x0840, 0x0a40, 0x0860, 0x0860, 0x0860, 0x18a0, + 0x18b0, 0x05b0, 0x18c0, 0x18d0, 0x05b0, 0x05b0, 0x05b0, 0x18e0, + 0x18f0, 0x05b0, 0x05b0, 0x1020, 0x1900, 0x0f10, 0x0580, 0x1910, + 0x07b0, 0x05b0, 0x1920, 0x05b0, 0x1930, 0x1940, 0x0da0, 0x1950, + 0x08a0, 0x05b0, 0x05b0, 0x1960, 0x1970, 0x1980, 0x0c20, 0x1990, + 0x05b0, 0x05b0, 0x19a0, 0x19b0, 0x19c0, 0x19d0, 0x0c20, 0x0c20, + 0x0c20, 0x0c20, 0x0c20, 0x0c20, 0x19e0, 0x19f0, 0x0760, 0x1a00, + 0x1a10, 0x1a20, 0x1660, 0x05b0, 0x05b0, 0x05b0, 0x0f50, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1a30, 0x0f10, + 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, + 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, + 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, + 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, + 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, + 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, + 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, + 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, + 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, + 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, + 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, + 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, + 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, + 0x1a60, 0x1a40, 0x1a50, 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, + 0x1a60, 0x1a70, 0x1a60, 0x1a80, 0x1a60, 0x1a40, 0x1a50, 0x1a60, + 0x1a70, 0x1a60, 0x1a90, 0x0db0, 0x1aa0, 0x0dd0, 0x0dd0, 0x1ab0, + 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, + 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x1ac0, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, 0x0860, - 0x1380, 0x1aa0, 0x1ab0, 0x1ac0, 0x1ad0, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x15d0, 0x1ae0, 0x05b0, 0x05b0, - 0x05b0, 0x05b0, 0x05b0, 0x1af0, 0x0860, 0x05b0, 0x05b0, 0x05b0, - 0x05b0, 0x1b00, 0x05b0, 0x05b0, 0x0a30, 0x0860, 0x0860, 0x1b10, - 0x0580, 0x1b20, 0x0580, 0x1b30, 0x1b40, 0x1b50, 0x1b60, 0x1100, - 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1b70, - 0x1b80, 0x1b90, 0x1690, 0x1ba0, 0x1690, 0x1bb0, 0x1bc0, 0x1bd0, - 0x05b0, 0x1be0, 0x05b0, 0x0840, 0x1bf0, 0x1c00, 0x1c10, 0x1c20, + 0x13b0, 0x1ad0, 0x1ae0, 0x1af0, 0x1b00, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1600, 0x1b10, 0x05b0, 0x05b0, + 0x05b0, 0x05b0, 0x05b0, 0x1b20, 0x0860, 0x05b0, 0x05b0, 0x05b0, + 0x05b0, 0x1b30, 0x05b0, 0x05b0, 0x0a40, 0x0860, 0x0860, 0x1b40, + 0x0580, 0x1b50, 0x0580, 0x1b60, 0x1b70, 0x1b80, 0x1b90, 0x1130, + 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x05b0, 0x1ba0, + 0x1bb0, 0x1bc0, 0x16c0, 0x1bd0, 0x16c0, 0x1be0, 0x1bf0, 0x1c00, + 0x16c0, 0x1c10, 0x16c0, 0x17e0, 0x1c20, 0x1c30, 0x1c40, 0x1c50, /* values */ 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0022, 0x0003, 0x0001, 0x0001, 0x0002, 0x0004, 0x0004, @@ -277,9 +277,11 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, + 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0004, 0x0004, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -361,7 +363,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x001d, 0x0004, 0x0004, @@ -369,14 +371,16 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x0011, 0x0011, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0011, 0x0004, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x001d, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0004, 0x0004, - 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, - 0x0011, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0004, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, + 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0004, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, + 0x001d, 0x001b, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0004, 0x0004, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, @@ -489,6 +493,8 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001c, 0x001c, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x0017, 0x0017, 0x0022, 0x0022, 0x0021, 0x001d, 0x0017, 0x0017, 0x001d, 0x0004, 0x0004, 0x0004, 0x0006, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x0004, 0x001d, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0004, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, @@ -546,7 +552,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001d, 0x001d, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x0011, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, - 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -558,7 +564,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x001d, 0x0011, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0022, 0x0006, - 0x0022, 0x0022, 0x0022, 0x0009, 0x0004, 0x0004, 0x0004, 0x0004, + 0x0022, 0x0022, 0x0022, 0x0009, 0x0004, 0x002b, 0x0004, 0x0004, 0x0022, 0x0006, 0x0022, 0x0022, 0x0025, 0x0024, 0x0024, 0x001d, 0x0015, 0x0015, 0x0012, 0x0015, 0x0015, 0x0015, 0x0012, 0x0015, 0x0024, 0x0024, 0x001d, 0x001d, 0x001f, 0x001f, 0x001f, 0x0022, @@ -630,7 +636,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -656,7 +662,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x0024, 0x0024, - 0x001e, 0x001d, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001d, 0x001e, 0x001e, 0x001e, 0x0029, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, @@ -676,12 +682,12 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001e, 0x001e, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x0024, 0x001e, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0024, 0x001e, - 0x001e, 0x001e, 0x001e, 0x0024, 0x0024, 0x001e, 0x001e, 0x001e, + 0x001e, 0x0029, 0x001e, 0x0024, 0x0024, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, 0x001d, - 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001d, 0x001d, + 0x001e, 0x001e, 0x0029, 0x0029, 0x0029, 0x0029, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0024, 0x001d, 0x001d, 0x001d, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, - 0x0015, 0x001d, 0x0017, 0x0017, 0x001d, 0x001d, 0x001d, 0x001d, + 0x0015, 0x001d, 0x0017, 0x0017, 0x001e, 0x001d, 0x001d, 0x001d, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0012, 0x0013, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, 0x0024, @@ -727,7 +733,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x0012, 0x0013, 0x0022, 0x0022, 0x0022, 0x0022, 0x0017, 0x001d, 0x0022, 0x0022, 0x001d, 0x0022, 0x0022, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0025, 0x0025, 0x0022, 0x0022, 0x0022, 0x001d, - 0x0022, 0x0022, 0x0012, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, + 0x0022, 0x0022, 0x0012, 0x0022, 0x0022, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, @@ -801,7 +807,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, + 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0022, 0x0022, 0x0004, 0x0004, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0021, 0x001d, 0x0011, 0x0011, @@ -895,16 +901,16 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_linebreak_table[7216] = 0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0012, 0x001e, 0x0013, 0x001e, 0x0012, - 0x0013, 0x0013, 0x0012, 0x0013, 0x0013, 0x0016, 0x001d, 0x0027, + 0x0013, 0x0013, 0x0012, 0x0013, 0x0013, 0x0016, 0x001e, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, 0x0027, - 0x0027, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0016, 0x0016, - 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, - 0x0011, 0x0011, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, + 0x0027, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x0016, 0x0016, + 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, 0x001e, + 0x0011, 0x0011, 0x001e, 0x001e, 0x001e, 0x0011, 0x0011, 0x0011, 0x001b, 0x001a, 0x001e, 0x001e, 0x001e, 0x001a, 0x001a, 0x0011, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x001d, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, 0x0011, diff --git a/reactos/dll/win32/usp10/mirror.c b/reactos/dll/win32/usp10/mirror.c index 0c6be007624..1c48df3f703 100644 --- a/reactos/dll/win32/usp10/mirror.c +++ b/reactos/dll/win32/usp10/mirror.c @@ -1,5 +1,5 @@ /* Unicode BiDi mirroring */ -/* generated from http://www.unicode.org/Public/8.0.0/ucd/BidiMirroring.txt */ +/* generated from http://www.unicode.org/Public/9.0.0/ucd/BidiMirroring.txt */ /* DO NOT EDIT!! */ #include diff --git a/reactos/dll/win32/usp10/opentype.c b/reactos/dll/win32/usp10/opentype.c index ac3e8184cd1..83f0ffca881 100644 --- a/reactos/dll/win32/usp10/opentype.c +++ b/reactos/dll/win32/usp10/opentype.c @@ -1290,14 +1290,14 @@ static void apply_pair_value( const void *pos_table, WORD val_fmt1, WORD val_fmt if (val_fmt1) { GPOS_get_value_record_offsets( pos_table, &val_rec1, val_fmt1, ppem, adjust, advance ); - TRACE( "Glyph 1 resulting cumulative offset is %i,%i design units\n", adjust[0].x, adjust[0].y ); - TRACE( "Glyph 1 resulting cumulative advance is %i,%i design units\n", advance[0].x, advance[0].y ); + TRACE( "Glyph 1 resulting cumulative offset is %s design units\n", wine_dbgstr_point(&adjust[0]) ); + TRACE( "Glyph 1 resulting cumulative advance is %s design units\n", wine_dbgstr_point(&advance[0]) ); } if (val_fmt2) { GPOS_get_value_record_offsets( pos_table, &val_rec2, val_fmt2, ppem, adjust + 1, advance + 1 ); - TRACE( "Glyph 2 resulting cumulative offset is %i,%i design units\n", adjust[1].x, adjust[1].y ); - TRACE( "Glyph 2 resulting cumulative advance is %i,%i design units\n", advance[1].x, advance[1].y ); + TRACE( "Glyph 2 resulting cumulative offset is %s design units\n", wine_dbgstr_point(&adjust[1]) ); + TRACE( "Glyph 2 resulting cumulative advance is %s design units\n", wine_dbgstr_point(&advance[1]) ); } } @@ -1414,7 +1414,7 @@ static VOID GPOS_apply_CursiveAttachment(const OT_LookupTable *look, const SCRIP GPOS_get_anchor_values((const BYTE*)cpf1 + offset, &exit_pt, ppem); offset = GET_BE_WORD(cpf1->EntryExitRecord[index_entry].EntryAnchor); GPOS_get_anchor_values((const BYTE*)cpf1 + offset, &entry_pt, ppem); - TRACE("Found linkage %x[%i,%i] %x[%i,%i]\n",glyphs[glyph_index], exit_pt.x,exit_pt.y, glyphs[glyph_index+write_dir], entry_pt.x, entry_pt.y); + TRACE("Found linkage %x[%s] %x[%s]\n",glyphs[glyph_index], wine_dbgstr_point(&exit_pt), glyphs[glyph_index+write_dir], wine_dbgstr_point(&entry_pt)); pt->x = entry_pt.x - exit_pt.x; pt->y = entry_pt.y - exit_pt.y; return; @@ -1495,11 +1495,11 @@ static int GPOS_apply_MarkToBase(ScriptCache *psc, const OT_LookupTable *look, c GPOS_get_anchor_values((const BYTE*)ba + offset, &base_pt, ppem); offset = GET_BE_WORD(mr->MarkAnchor); GPOS_get_anchor_values((const BYTE*)ma + offset, &mark_pt, ppem); - TRACE("Offset on base is %i,%i design units\n",base_pt.x,base_pt.y); - TRACE("Offset on mark is %i,%i design units\n",mark_pt.x, mark_pt.y); + TRACE("Offset on base is %s design units\n",wine_dbgstr_point(&base_pt)); + TRACE("Offset on mark is %s design units\n",wine_dbgstr_point(&mark_pt)); pt->x += base_pt.x - mark_pt.x; pt->y += base_pt.y - mark_pt.y; - TRACE("Resulting cumulative offset is %i,%i design units\n",pt->x,pt->y); + TRACE("Resulting cumulative offset is %s design units\n",wine_dbgstr_point(pt)); rc = base_glyph; } } @@ -1587,11 +1587,11 @@ static VOID GPOS_apply_MarkToLigature(const OT_LookupTable *look, const SCRIPT_A GPOS_get_anchor_values((const BYTE*)lt + offset, &ligature_pt, ppem); offset = GET_BE_WORD(mr->MarkAnchor); GPOS_get_anchor_values((const BYTE*)ma + offset, &mark_pt, ppem); - TRACE("Offset on ligature is %i,%i design units\n",ligature_pt.x,ligature_pt.y); - TRACE("Offset on mark is %i,%i design units\n",mark_pt.x, mark_pt.y); + TRACE("Offset on ligature is %s design units\n",wine_dbgstr_point(&ligature_pt)); + TRACE("Offset on mark is %s design units\n",wine_dbgstr_point(&mark_pt)); pt->x += ligature_pt.x - mark_pt.x; pt->y += ligature_pt.y - mark_pt.y; - TRACE("Resulting cumulative offset is %i,%i design units\n",pt->x,pt->y); + TRACE("Resulting cumulative offset is %s design units\n",wine_dbgstr_point(pt)); } } } @@ -1652,11 +1652,11 @@ static BOOL GPOS_apply_MarkToMark(const OT_LookupTable *look, const SCRIPT_ANALY GPOS_get_anchor_values((const BYTE*)m2a + offset, &mark2_pt, ppem); offset = GET_BE_WORD(mr->MarkAnchor); GPOS_get_anchor_values((const BYTE*)ma + offset, &mark_pt, ppem); - TRACE("Offset on mark2 is %i,%i design units\n",mark2_pt.x,mark2_pt.y); - TRACE("Offset on mark is %i,%i design units\n",mark_pt.x, mark_pt.y); + TRACE("Offset on mark2 is %s design units\n",wine_dbgstr_point(&mark2_pt)); + TRACE("Offset on mark is %s design units\n",wine_dbgstr_point(&mark_pt)); pt->x += mark2_pt.x - mark_pt.x; pt->y += mark2_pt.y - mark_pt.y; - TRACE("Resulting cumulative offset is %i,%i design units\n",pt->x,pt->y); + TRACE("Resulting cumulative offset is %s design units\n",wine_dbgstr_point(pt)); rc = TRUE; } } diff --git a/reactos/dll/win32/usp10/shape.c b/reactos/dll/win32/usp10/shape.c index 8b8195aaed7..ab4d5837905 100644 --- a/reactos/dll/win32/usp10/shape.c +++ b/reactos/dll/win32/usp10/shape.c @@ -1584,7 +1584,7 @@ static void ReplaceInsertChars(HDC hdc, INT cWalk, INT* pcChars, WCHAR *pwOutCha cWalk=cWalk+1; /* Insert */ - for (i = 1; replacements[i] != 0x0000 && i < 3; i++) + for (i = 1; i < 3 && replacements[i] != 0x0000; i++) { int j; for (j = *pcChars; j > cWalk; j--) diff --git a/reactos/dll/win32/usp10/shaping.c b/reactos/dll/win32/usp10/shaping.c index 541b1809742..a310d6773e4 100644 --- a/reactos/dll/win32/usp10/shaping.c +++ b/reactos/dll/win32/usp10/shaping.c @@ -1,8 +1,8 @@ /* Unicode Arabic shaping */ -/* generated from http://www.unicode.org/Public/8.0.0/ucd/ArabicShaping.txt */ +/* generated from http://www.unicode.org/Public/9.0.0/ucd/ArabicShaping.txt */ /* DO NOT EDIT!! */ -const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = +const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2864] = { /* level 1 offsets */ 0x0100, 0x0110, 0x0110, 0x0120, 0x0130, 0x0140, 0x0150, 0x0160, @@ -53,63 +53,63 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = 0x0490, 0x04a0, 0x04b0, 0x0360, 0x04c0, 0x04d0, 0x04e0, 0x04f0, 0x0340, 0x0340, 0x0500, 0x0510, 0x0520, 0x0530, 0x0540, 0x0550, 0x0340, 0x0560, 0x0570, 0x0340, 0x0580, 0x0590, 0x0340, 0x0340, - 0x0340, 0x0340, 0x05a0, 0x05b0, 0x0340, 0x0340, 0x05c0, 0x0360, - 0x05d0, 0x0340, 0x0340, 0x05e0, 0x05f0, 0x0600, 0x0610, 0x0340, - 0x0620, 0x0340, 0x0340, 0x0630, 0x0640, 0x0340, 0x0610, 0x0340, - 0x0650, 0x0340, 0x0340, 0x0630, 0x0660, 0x0620, 0x0340, 0x0670, - 0x0650, 0x0340, 0x0340, 0x0630, 0x0680, 0x0340, 0x0610, 0x0340, - 0x0620, 0x0340, 0x0340, 0x0690, 0x0640, 0x06a0, 0x0610, 0x0340, - 0x06b0, 0x0340, 0x0340, 0x0340, 0x06c0, 0x0340, 0x0340, 0x0340, - 0x0510, 0x0340, 0x0340, 0x06d0, 0x06e0, 0x06f0, 0x0610, 0x0340, - 0x0620, 0x0340, 0x0340, 0x0690, 0x0700, 0x0340, 0x0610, 0x0340, - 0x0620, 0x0340, 0x0340, 0x0340, 0x0640, 0x0340, 0x0610, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0710, 0x0720, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0730, 0x0740, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0750, 0x0760, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0770, 0x0340, 0x0780, 0x0340, 0x0340, 0x0340, 0x0790, - 0x07a0, 0x07b0, 0x0360, 0x07c0, 0x06a0, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x07d0, 0x07e0, 0x0340, 0x07f0, 0x0510, 0x0800, - 0x0810, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07d0, 0x0340, 0x0340, + 0x0340, 0x0340, 0x05a0, 0x05b0, 0x0340, 0x05c0, 0x05d0, 0x0360, + 0x05e0, 0x0340, 0x0340, 0x05f0, 0x0600, 0x0610, 0x0620, 0x0340, + 0x0630, 0x0340, 0x0340, 0x0640, 0x0650, 0x0340, 0x0620, 0x0340, + 0x0660, 0x0340, 0x0340, 0x0640, 0x0670, 0x0630, 0x0340, 0x0680, + 0x0660, 0x0340, 0x0340, 0x0640, 0x0690, 0x0340, 0x0620, 0x0340, + 0x0630, 0x0340, 0x0340, 0x06a0, 0x0650, 0x06b0, 0x0620, 0x0340, + 0x06c0, 0x0340, 0x0340, 0x0340, 0x06d0, 0x0340, 0x0340, 0x0340, + 0x0510, 0x0340, 0x0340, 0x06e0, 0x06f0, 0x0700, 0x0620, 0x0340, + 0x0630, 0x0340, 0x0340, 0x06a0, 0x0710, 0x0340, 0x0620, 0x0340, + 0x0630, 0x0340, 0x0340, 0x0340, 0x0650, 0x0340, 0x0620, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0720, 0x0730, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0740, 0x0750, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0760, 0x0770, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0780, 0x0340, 0x0790, 0x0340, 0x0340, 0x0340, 0x07a0, + 0x07b0, 0x07c0, 0x0360, 0x07d0, 0x06b0, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x07e0, 0x07f0, 0x0340, 0x0800, 0x0510, 0x0810, + 0x0820, 0x0350, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x07e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0820, 0x0340, 0x0820, 0x0340, 0x0610, 0x0340, 0x0610, - 0x0340, 0x0340, 0x0340, 0x0830, 0x0840, 0x0850, 0x0340, 0x0340, - 0x0860, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x0870, - 0x0880, 0x0530, 0x0890, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x08a0, 0x08b0, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0830, 0x0340, 0x0830, 0x0340, 0x0620, 0x0340, 0x0620, + 0x0340, 0x0340, 0x0340, 0x0840, 0x0850, 0x0860, 0x0340, 0x0340, + 0x0870, 0x0340, 0x0530, 0x0530, 0x0530, 0x0530, 0x0530, 0x0880, + 0x0890, 0x0530, 0x08a0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x08b0, 0x08c0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x08c0, 0x0340, 0x0340, 0x0340, 0x08d0, 0x08e0, 0x08f0, - 0x0340, 0x0340, 0x0340, 0x0900, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0910, 0x0340, 0x0340, 0x0920, 0x06b0, 0x0340, 0x0930, 0x0910, - 0x0940, 0x0340, 0x0950, 0x0340, 0x0340, 0x0340, 0x0960, 0x0940, - 0x0340, 0x0340, 0x0970, 0x0980, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0990, 0x09a0, 0x09b0, + 0x0340, 0x08d0, 0x0340, 0x0340, 0x0340, 0x08e0, 0x08f0, 0x0900, + 0x0340, 0x0340, 0x0340, 0x0910, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0920, 0x0340, 0x0340, 0x0930, 0x06c0, 0x0340, 0x0940, 0x0920, + 0x0950, 0x0340, 0x0960, 0x0340, 0x0340, 0x0340, 0x0970, 0x0950, + 0x0340, 0x0340, 0x0980, 0x0990, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x09a0, 0x09b0, 0x09c0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x09c0, - 0x09d0, 0x0340, 0x09e0, 0x0340, 0x0340, 0x0340, 0x09f0, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0360, 0x09d0, + 0x09e0, 0x0340, 0x09f0, 0x0340, 0x0340, 0x0340, 0x0a00, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, 0x0510, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0940, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0950, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0360, - 0x0340, 0x0340, 0x0a00, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0a10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a20, - 0x0340, 0x06d0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0940, - 0x0a30, 0x0340, 0x06f0, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a40, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0a50, 0x0340, 0x0360, 0x0940, - 0x0340, 0x0340, 0x0a60, 0x0340, 0x0a70, 0x0940, 0x0340, 0x0340, - 0x05d0, 0x0340, 0x0340, 0x0a80, 0x0340, 0x0340, 0x0a90, 0x0340, - 0x0340, 0x0340, 0x0aa0, 0x0ab0, 0x0ac0, 0x0340, 0x0340, 0x0630, - 0x0340, 0x0340, 0x0340, 0x0ad0, 0x0620, 0x0340, 0x0ae0, 0x06a0, + 0x0340, 0x0340, 0x0a10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0a20, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0a30, + 0x0340, 0x06e0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0950, + 0x0a40, 0x0340, 0x0700, 0x0340, 0x0530, 0x0530, 0x0530, 0x0a50, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0a60, 0x0340, 0x0360, 0x0950, + 0x0340, 0x0340, 0x0a70, 0x0340, 0x0a80, 0x0950, 0x0340, 0x0340, + 0x05e0, 0x0340, 0x0340, 0x0a90, 0x0340, 0x0340, 0x0aa0, 0x0340, + 0x0340, 0x0340, 0x0ab0, 0x0ac0, 0x0ad0, 0x0340, 0x0340, 0x0640, + 0x0340, 0x0340, 0x0340, 0x0ae0, 0x0630, 0x0340, 0x0af0, 0x06b0, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0af0, 0x0340, - 0x0340, 0x0b00, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b00, 0x0340, + 0x0340, 0x0b10, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0360, 0x0340, 0x0360, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0490, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, - 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b10, + 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0340, 0x0b20, /* values */ 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -189,9 +189,11 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = 0x0000, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0404, 0x0404, 0x0604, 0x0b04, 0x0f04, 0x1004, 0x1204, 0x1304, 0x0104, 0x0104, 0x0802, 0x0302, 0x3402, 0x0000, 0x0702, 0x0a04, - 0x0d04, 0x3502, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0d04, 0x3502, 0x0802, 0x0c04, 0x1104, 0x0000, 0x0404, 0x0404, + 0x0404, 0x0802, 0x0104, 0x3604, 0x3604, 0x3604, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0001, 0x0001, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -279,7 +281,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = 0x0000, 0x0000, 0x0005, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0004, 0x0001, 0x0004, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -320,7 +322,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, + 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0005, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, @@ -337,7 +339,7 @@ const unsigned short /* DECLSPEC_HIDDEN */ wine_shaping_table[2848] = 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0004, 0x0004, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, - 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0001, 0x0000, 0x0000, diff --git a/reactos/dll/win32/usp10/usp10.c b/reactos/dll/win32/usp10/usp10.c index f68e83877fd..9d3abe50dae 100644 --- a/reactos/dll/win32/usp10/usp10.c +++ b/reactos/dll/win32/usp10/usp10.c @@ -319,7 +319,7 @@ const scriptData scriptInformation[] = { {LANG_ARABIC, 0, 1, 0, 0, ARABIC_CHARSET, 0, 0, 0, 0, 0, 0, 1, 1, 0}, MS_MAKE_TAG('a','r','a','b'), {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f',0}}, - {{Script_Arabic_Numeric, 1, 1, 0, 0, 0, 0, { 1,0,0,0,0,0,0,0,0,0,0}}, + {{Script_Arabic_Numeric, 0, 1, 0, 0, 0, 0, { 2,0,0,0,0,0,0,0,0,0,0}}, {LANG_ARABIC, 1, 1, 0, 0, ARABIC_CHARSET, 0, 0, 0, 0, 0, 0, 1, 0, 0}, MS_MAKE_TAG('a','r','a','b'), {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f',0}}, @@ -331,10 +331,10 @@ const scriptData scriptInformation[] = { {LANG_SYRIAC, 0, 1, 0, 0, DEFAULT_CHARSET, 0, 0, 0, 0, 1, 0, 0, 1, 0}, MS_MAKE_TAG('s','y','r','c'), {'E','s','t','r','a','n','g','e','l','o',' ','E','d','e','s','s','a',0}}, - {{Script_Persian, 1, 1, 0, 0, 0, 0, { 1,0,0,0,0,0,0,0,0,0,0}}, + {{Script_Persian, 0, 1, 0, 0, 0, 0, { 2,0,0,0,0,0,0,0,0,0,0}}, {LANG_PERSIAN, 1, 1, 0, 0, ARABIC_CHARSET, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - MS_MAKE_TAG('s','y','r','c'), - {'E','s','t','r','a','n','g','e','l','o',' ','E','d','e','s','s','a',0}}, + MS_MAKE_TAG('a','r','a','b'), + {'M','i','c','r','o','s','o','f','t',' ','S','a','n','s',' ','S','e','r','i','f',0}}, {{Script_Thaana, 1, 1, 0, 0, 0, 0, { 1,0,0,0,0,0,0,0,0,0,0}}, {LANG_DIVEHI, 0, 1, 0, 1, DEFAULT_CHARSET, 0, 0, 0, 0, 0, 0, 0, 0, 0}, MS_MAKE_TAG('t','h','a','a'), @@ -880,7 +880,7 @@ static inline DWORD decode_surrogate_pair(LPCWSTR str, INT index, INT end) static WORD get_char_script( LPCWSTR str, INT index, INT end, INT *consumed) { static const WCHAR latin_punc[] = {'#','$','&','\'',',',';','<','>','?','@','\\','^','_','`','{','|','}','~', 0x00a0, 0}; - WORD type = 0; + WORD type = 0, type2 = 0; DWORD ch; int i; @@ -910,6 +910,7 @@ static WORD get_char_script( LPCWSTR str, INT index, INT end, INT *consumed) } GetStringTypeW(CT_CTYPE1, &str[index], 1, &type); + GetStringTypeW(CT_CTYPE2, &str[index], 1, &type2); if (type == 0) return SCRIPT_UNDEFINED; @@ -931,7 +932,7 @@ static WORD get_char_script( LPCWSTR str, INT index, INT end, INT *consumed) if (ch >= scriptRanges[i].rangeFirst && ch <= scriptRanges[i].rangeLast) { - if (scriptRanges[i].numericScript && type & C1_DIGIT) + if (scriptRanges[i].numericScript && (type & C1_DIGIT || type2 == C2_ARABICNUMBER)) return scriptRanges[i].numericScript; if (scriptRanges[i].punctScript && type & C1_PUNCT) return scriptRanges[i].punctScript; @@ -1242,6 +1243,10 @@ static inline WORD base_indic(WORD script) }; } +static BOOL script_is_numeric(WORD script) +{ + return scriptInformation[script].props.fNumeric; +} static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, int cMaxItems, const SCRIPT_CONTROL *psControl, @@ -1250,6 +1255,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, { #define Numeric_space 0x0020 +#define ZWSP 0x200B #define ZWNJ 0x200C #define ZWJ 0x200D @@ -1440,12 +1446,12 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, for (i = 0; i < cInChars; i++) { if (i > 0 && i < cInChars-1 && - scripts[i-1] == Script_Numeric && + script_is_numeric(scripts[i-1]) && strchrW(math_punc, pwcInChars[i])) { - if (scripts[i+1] == Script_Numeric) + if (script_is_numeric(scripts[i+1])) { - scripts[i] = Script_Numeric; + scripts[i] = scripts[i+1]; levels[i] = levels[i-1]; strength[i] = strength[i-1]; i++; @@ -1455,11 +1461,11 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, int j; for (j = i+1; j < cInChars; j++) { - if (scripts[j] == Script_Numeric) + if (script_is_numeric(scripts[j])) { for(;iuBidiLevel) && levels[i] == psState->uBidiLevel+1)) && scripts[i] == Script_Numeric) + /* Numerics at level 0 get bumped to level 2 */ + if (!overrides[i] && (levels[i] == 0 || (odd(psState->uBidiLevel) + && levels[i] == psState->uBidiLevel + 1)) && script_is_numeric(scripts[i])) { levels[i] = 2; } @@ -1565,8 +1572,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, if (overrides) pItems[index].a.s.fOverrideDirection = (overrides[cnt] != 0); pItems[index].a.fRTL = odd(levels[cnt]); - if (pItems[index].a.eScript == Script_Numeric || - pItems[index].a.eScript == Script_Numeric2) + if (script_is_numeric(pItems[index].a.eScript)) pItems[index].a.fLayoutRTL = layoutRTL; else pItems[index].a.fLayoutRTL = pItems[index].a.fRTL; @@ -1579,8 +1585,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, layoutRTL = odd(baselayout); pItems[index].a.s.uBidiLevel = baselevel; pItems[index].a.fRTL = odd(baselevel); - if (pItems[index].a.eScript == Script_Numeric || - pItems[index].a.eScript == Script_Numeric2) + if (script_is_numeric(pItems[index].a.eScript)) pItems[index].a.fLayoutRTL = odd(baselayout); else pItems[index].a.fLayoutRTL = pItems[index].a.fRTL; @@ -1635,8 +1640,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, if (!new_run && strength && str == BIDI_STRONG) { layoutRTL = odd(layout_levels[cnt]); - if (pItems[index].a.eScript == Script_Numeric || - pItems[index].a.eScript == Script_Numeric2) + if (script_is_numeric(pItems[index].a.eScript)) pItems[index].a.fLayoutRTL = layoutRTL; } @@ -1666,8 +1670,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, else layoutRTL = (layoutRTL || odd(layout_levels[cnt])); pItems[index].a.fRTL = odd(levels[cnt]); - if (pItems[index].a.eScript == Script_Numeric || - pItems[index].a.eScript == Script_Numeric2) + if (script_is_numeric(pItems[index].a.eScript)) pItems[index].a.fLayoutRTL = layoutRTL; else pItems[index].a.fLayoutRTL = pItems[index].a.fRTL; @@ -1679,8 +1682,7 @@ static HRESULT _ItemizeInternal(const WCHAR *pwcInChars, int cInChars, pItems[index].a.s.fOverrideDirection = TRUE; pItems[index].a.s.uBidiLevel = baselevel; pItems[index].a.fRTL = odd(baselevel); - if (pItems[index].a.eScript == Script_Numeric|| - pItems[index].a.eScript == Script_Numeric2) + if (script_is_numeric(pItems[index].a.eScript)) pItems[index].a.fLayoutRTL = layoutRTL; else pItems[index].a.fLayoutRTL = pItems[index].a.fRTL; @@ -2751,9 +2753,9 @@ static inline int get_cluster_advance(const int* piAdvance, * ScriptXtoCP (USP10.@) * * Basic algorithm : - * use piAdvance to find the cluster we are looking at - * Find the character that is the first character of the cluster - * That is our base piCP + * Use piAdvance to find the cluster we are looking at. + * Find the character that is the first character of the cluster. + * That is our base piCP. * If the script snaps to cluster boundaries (Hebrew, Indic, Thai) then we * are good. Otherwise if the cluster is larger than 1 glyph we need to * determine how far through the cluster to advance the cursor. @@ -3069,10 +3071,6 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc, ((ScriptCache *)*psc)->userScript = tagScript; ((ScriptCache *)*psc)->userLang = tagLangSys; - /* set fNoGlyphIndex non truetype/opentype fonts */ - if (psa && !psa->fNoGlyphIndex && !((ScriptCache *)*psc)->sfnt) - psa->fNoGlyphIndex = TRUE; - /* Initialize a SCRIPT_VISATTR and LogClust for each char in this run */ for (i = 0; i < cChars; i++) { @@ -3092,7 +3090,7 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc, pwLogClust[i] = idx; } - if (psa && !psa->fNoGlyphIndex) + if (psa && !psa->fNoGlyphIndex && ((ScriptCache *)*psc)->sfnt) { WCHAR *rChars; if ((hr = SHAPE_CheckFontForRequiredFeatures(hdc, (ScriptCache *)*psc, psa)) != S_OK) return hr; @@ -3168,13 +3166,26 @@ HRESULT WINAPI ScriptShapeOpenType( HDC hdc, SCRIPT_CACHE *psc, if (rtl) idx = cChars - 1 - i; pwOutGlyphs[i] = pwcChars[idx]; + if (!psa) + continue; + /* overwrite some basic control glyphs to blank */ - if (psa && psa->eScript == Script_Control && - pwcChars[idx] < ((ScriptCache *)*psc)->tm.tmFirstChar) + if (psa->fNoGlyphIndex) + { + if (pwcChars[idx] == ZWSP || pwcChars[idx] == ZWNJ || pwcChars[idx] == ZWJ) + { + pwOutGlyphs[i] = 0x20; + pOutGlyphProps[i].sva.fZeroWidth = 1; + } + } + else if (psa->eScript == Script_Control) { if (pwcChars[idx] == 0x0009 || pwcChars[idx] == 0x000A || pwcChars[idx] == 0x000D || pwcChars[idx] >= 0x001C) + { pwOutGlyphs[i] = ((ScriptCache *)*psc)->sfp.wgBlank; + pOutGlyphProps[i].sva.fZeroWidth = 1; + } } } } diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index 8f3e88b60a6..66481d2720b 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -193,7 +193,7 @@ reactos/dll/win32/twain_32 # Synced to WineStaging-1.9.11 reactos/dll/win32/updspapi # Synced to WineStaging-1.9.11 reactos/dll/win32/url # Synced to WineStaging-1.9.11 reactos/dll/win32/urlmon # Synced to WineStaging-1.9.16 -reactos/dll/win32/usp10 # Synced to WineStaging-1.9.11 +reactos/dll/win32/usp10 # Synced to WineStaging-1.9.16 reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to WineStaging-1.9.11 reactos/dll/win32/version # Synced to WineStaging-1.9.11