diff --git a/intl/unicharutil/util/bidicattable.h b/intl/unicharutil/util/bidicattable.h index 456588326c68..9b1981f9f832 100644 --- a/intl/unicharutil/util/bidicattable.h +++ b/intl/unicharutil/util/bidicattable.h @@ -227,7 +227,7 @@ static PRUint8 gBidiCatIdx1[256] = { 10, /* U+05A0 - U+05A7 : 0xAAAAAAAA */ 10, /* U+05A8 - U+05AF : 0xAAAAAAAA */ 10, /* U+05B0 - U+05B7 : 0xAAAAAAAA */ - 41, /* U+05B8 - U+05BF : 0xA2AAA2AA */ + 41, /* U+05B8 - U+05BF : 0xA2AAAAAA */ 42, /* U+05C0 - U+05C7 : 0xA2AA2AA2 */ 2, /* U+05C8 - U+05CF : 0x22222222 */ 2, /* U+05D0 - U+05D7 : 0x22222222 */ @@ -297,93 +297,93 @@ static PRUint8 gBidiCatIdx1[256] = { 2, /* U+07D0 - U+07D7 : 0x22222222 */ 2, /* U+07D8 - U+07DF : 0x22222222 */ 2, /* U+07E0 - U+07E7 : 0x22222222 */ - 2, /* U+07E8 - U+07EF : 0x22222222 */ - 2, /* U+07F0 - U+07F7 : 0x22222222 */ - 2, /* U+07F8 - U+07FF : 0x22222222 */ + 57, /* U+07E8 - U+07EF : 0xAAAAA222 */ + 58, /* U+07F0 - U+07F7 : 0x9922AAAA */ + 59, /* U+07F8 - U+07FF : 0x22222299 */ }; -static PRUint8 gBidiCatIdx2[548] = { - 57, /* U+0900 - U+0907 : 0x11111AA1 */ +static PRUint8 gBidiCatIdx2[592] = { + 60, /* U+0900 - U+0907 : 0x11111AA1 */ 1, /* U+0908 - U+090F : 0x11111111 */ 1, /* U+0910 - U+0917 : 0x11111111 */ 1, /* U+0918 - U+091F : 0x11111111 */ 1, /* U+0920 - U+0927 : 0x11111111 */ 1, /* U+0928 - U+092F : 0x11111111 */ 1, /* U+0930 - U+0937 : 0x11111111 */ - 58, /* U+0938 - U+093F : 0x111A1111 */ - 59, /* U+0940 - U+0947 : 0xAAAAAAA1 */ - 60, /* U+0948 - U+094F : 0x11A1111A */ - 61, /* U+0950 - U+0957 : 0x111AAAA1 */ + 61, /* U+0938 - U+093F : 0x111A1111 */ + 62, /* U+0940 - U+0947 : 0xAAAAAAA1 */ + 63, /* U+0948 - U+094F : 0x11A1111A */ + 64, /* U+0950 - U+0957 : 0x111AAAA1 */ 1, /* U+0958 - U+095F : 0x11111111 */ - 62, /* U+0960 - U+0967 : 0x1111AA11 */ + 65, /* U+0960 - U+0967 : 0x1111AA11 */ 1, /* U+0968 - U+096F : 0x11111111 */ 1, /* U+0970 - U+0977 : 0x11111111 */ 1, /* U+0978 - U+097F : 0x11111111 */ - 63, /* U+0980 - U+0987 : 0x111111A1 */ + 66, /* U+0980 - U+0987 : 0x111111A1 */ 1, /* U+0988 - U+098F : 0x11111111 */ 1, /* U+0990 - U+0997 : 0x11111111 */ 1, /* U+0998 - U+099F : 0x11111111 */ 1, /* U+09A0 - U+09A7 : 0x11111111 */ 1, /* U+09A8 - U+09AF : 0x11111111 */ 1, /* U+09B0 - U+09B7 : 0x11111111 */ - 58, /* U+09B8 - U+09BF : 0x111A1111 */ - 61, /* U+09C0 - U+09C7 : 0x111AAAA1 */ - 64, /* U+09C8 - U+09CF : 0x11A11111 */ + 61, /* U+09B8 - U+09BF : 0x111A1111 */ + 64, /* U+09C0 - U+09C7 : 0x111AAAA1 */ + 67, /* U+09C8 - U+09CF : 0x11A11111 */ 1, /* U+09D0 - U+09D7 : 0x11111111 */ 1, /* U+09D8 - U+09DF : 0x11111111 */ - 62, /* U+09E0 - U+09E7 : 0x1111AA11 */ + 65, /* U+09E0 - U+09E7 : 0x1111AA11 */ 1, /* U+09E8 - U+09EF : 0x11111111 */ - 65, /* U+09F0 - U+09F7 : 0x11117711 */ + 68, /* U+09F0 - U+09F7 : 0x11117711 */ 1, /* U+09F8 - U+09FF : 0x11111111 */ - 57, /* U+0A00 - U+0A07 : 0x11111AA1 */ + 60, /* U+0A00 - U+0A07 : 0x11111AA1 */ 1, /* U+0A08 - U+0A0F : 0x11111111 */ 1, /* U+0A10 - U+0A17 : 0x11111111 */ 1, /* U+0A18 - U+0A1F : 0x11111111 */ 1, /* U+0A20 - U+0A27 : 0x11111111 */ 1, /* U+0A28 - U+0A2F : 0x11111111 */ 1, /* U+0A30 - U+0A37 : 0x11111111 */ - 58, /* U+0A38 - U+0A3F : 0x111A1111 */ - 66, /* U+0A40 - U+0A47 : 0xA1111AA1 */ - 67, /* U+0A48 - U+0A4F : 0x11AAA11A */ + 61, /* U+0A38 - U+0A3F : 0x111A1111 */ + 69, /* U+0A40 - U+0A47 : 0xA1111AA1 */ + 70, /* U+0A48 - U+0A4F : 0x11AAA11A */ 1, /* U+0A50 - U+0A57 : 0x11111111 */ 1, /* U+0A58 - U+0A5F : 0x11111111 */ 1, /* U+0A60 - U+0A67 : 0x11111111 */ 1, /* U+0A68 - U+0A6F : 0x11111111 */ 38, /* U+0A70 - U+0A77 : 0x111111AA */ 1, /* U+0A78 - U+0A7F : 0x11111111 */ - 57, /* U+0A80 - U+0A87 : 0x11111AA1 */ + 60, /* U+0A80 - U+0A87 : 0x11111AA1 */ 1, /* U+0A88 - U+0A8F : 0x11111111 */ 1, /* U+0A90 - U+0A97 : 0x11111111 */ 1, /* U+0A98 - U+0A9F : 0x11111111 */ 1, /* U+0AA0 - U+0AA7 : 0x11111111 */ 1, /* U+0AA8 - U+0AAF : 0x11111111 */ 1, /* U+0AB0 - U+0AB7 : 0x11111111 */ - 58, /* U+0AB8 - U+0ABF : 0x111A1111 */ - 68, /* U+0AC0 - U+0AC7 : 0xA1AAAAA1 */ - 60, /* U+0AC8 - U+0ACF : 0x11A1111A */ + 61, /* U+0AB8 - U+0ABF : 0x111A1111 */ + 71, /* U+0AC0 - U+0AC7 : 0xA1AAAAA1 */ + 63, /* U+0AC8 - U+0ACF : 0x11A1111A */ 1, /* U+0AD0 - U+0AD7 : 0x11111111 */ 1, /* U+0AD8 - U+0ADF : 0x11111111 */ - 62, /* U+0AE0 - U+0AE7 : 0x1111AA11 */ + 65, /* U+0AE0 - U+0AE7 : 0x1111AA11 */ 1, /* U+0AE8 - U+0AEF : 0x11111111 */ - 69, /* U+0AF0 - U+0AF7 : 0x11111171 */ + 72, /* U+0AF0 - U+0AF7 : 0x11111171 */ 1, /* U+0AF8 - U+0AFF : 0x11111111 */ - 63, /* U+0B00 - U+0B07 : 0x111111A1 */ + 66, /* U+0B00 - U+0B07 : 0x111111A1 */ 1, /* U+0B08 - U+0B0F : 0x11111111 */ 1, /* U+0B10 - U+0B17 : 0x11111111 */ 1, /* U+0B18 - U+0B1F : 0x11111111 */ 1, /* U+0B20 - U+0B27 : 0x11111111 */ 1, /* U+0B28 - U+0B2F : 0x11111111 */ 1, /* U+0B30 - U+0B37 : 0x11111111 */ - 70, /* U+0B38 - U+0B3F : 0xA11A1111 */ - 71, /* U+0B40 - U+0B47 : 0x1111AAA1 */ - 64, /* U+0B48 - U+0B4F : 0x11A11111 */ - 72, /* U+0B50 - U+0B57 : 0x1A111111 */ + 73, /* U+0B38 - U+0B3F : 0xA11A1111 */ + 74, /* U+0B40 - U+0B47 : 0x1111AAA1 */ + 67, /* U+0B48 - U+0B4F : 0x11A11111 */ + 75, /* U+0B50 - U+0B57 : 0x1A111111 */ 1, /* U+0B58 - U+0B5F : 0x11111111 */ 1, /* U+0B60 - U+0B67 : 0x11111111 */ 1, /* U+0B68 - U+0B6F : 0x11111111 */ 1, /* U+0B70 - U+0B77 : 0x11111111 */ 1, /* U+0B78 - U+0B7F : 0x11111111 */ - 73, /* U+0B80 - U+0B87 : 0x11111A11 */ + 76, /* U+0B80 - U+0B87 : 0x11111A11 */ 1, /* U+0B88 - U+0B8F : 0x11111111 */ 1, /* U+0B90 - U+0B97 : 0x11111111 */ 1, /* U+0B98 - U+0B9F : 0x11111111 */ @@ -391,14 +391,14 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0BA8 - U+0BAF : 0x11111111 */ 1, /* U+0BB0 - U+0BB7 : 0x11111111 */ 1, /* U+0BB8 - U+0BBF : 0x11111111 */ - 74, /* U+0BC0 - U+0BC7 : 0x1111111A */ - 64, /* U+0BC8 - U+0BCF : 0x11A11111 */ + 77, /* U+0BC0 - U+0BC7 : 0x1111111A */ + 67, /* U+0BC8 - U+0BCF : 0x11A11111 */ 1, /* U+0BD0 - U+0BD7 : 0x11111111 */ 1, /* U+0BD8 - U+0BDF : 0x11111111 */ 1, /* U+0BE0 - U+0BE7 : 0x11111111 */ 1, /* U+0BE8 - U+0BEF : 0x11111111 */ 22, /* U+0BF0 - U+0BF7 : 0x99999111 */ - 75, /* U+0BF8 - U+0BFF : 0x11111979 */ + 78, /* U+0BF8 - U+0BFF : 0x11111979 */ 1, /* U+0C00 - U+0C07 : 0x11111111 */ 1, /* U+0C08 - U+0C0F : 0x11111111 */ 1, /* U+0C10 - U+0C17 : 0x11111111 */ @@ -406,10 +406,10 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0C20 - U+0C27 : 0x11111111 */ 1, /* U+0C28 - U+0C2F : 0x11111111 */ 1, /* U+0C30 - U+0C37 : 0x11111111 */ - 76, /* U+0C38 - U+0C3F : 0xAA111111 */ - 77, /* U+0C40 - U+0C47 : 0xAA11111A */ - 78, /* U+0C48 - U+0C4F : 0x11AAAA1A */ - 79, /* U+0C50 - U+0C57 : 0x1AA11111 */ + 79, /* U+0C38 - U+0C3F : 0xAA111111 */ + 80, /* U+0C40 - U+0C47 : 0xAA11111A */ + 81, /* U+0C48 - U+0C4F : 0x11AAAA1A */ + 82, /* U+0C50 - U+0C57 : 0x1AA11111 */ 1, /* U+0C58 - U+0C5F : 0x11111111 */ 1, /* U+0C60 - U+0C67 : 0x11111111 */ 1, /* U+0C68 - U+0C6F : 0x11111111 */ @@ -422,14 +422,14 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0CA0 - U+0CA7 : 0x11111111 */ 1, /* U+0CA8 - U+0CAF : 0x11111111 */ 1, /* U+0CB0 - U+0CB7 : 0x11111111 */ - 58, /* U+0CB8 - U+0CBF : 0x111A1111 */ + 61, /* U+0CB8 - U+0CBF : 0x111A1111 */ 1, /* U+0CC0 - U+0CC7 : 0x11111111 */ - 80, /* U+0CC8 - U+0CCF : 0x11AA1111 */ + 83, /* U+0CC8 - U+0CCF : 0x11AA1111 */ 1, /* U+0CD0 - U+0CD7 : 0x11111111 */ 1, /* U+0CD8 - U+0CDF : 0x11111111 */ - 1, /* U+0CE0 - U+0CE7 : 0x11111111 */ + 65, /* U+0CE0 - U+0CE7 : 0x1111AA11 */ 1, /* U+0CE8 - U+0CEF : 0x11111111 */ - 1, /* U+0CF0 - U+0CF7 : 0x11111111 */ + 30, /* U+0CF0 - U+0CF7 : 0x11111991 */ 1, /* U+0CF8 - U+0CFF : 0x11111111 */ 1, /* U+0D00 - U+0D07 : 0x11111111 */ 1, /* U+0D08 - U+0D0F : 0x11111111 */ @@ -439,8 +439,8 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0D28 - U+0D2F : 0x11111111 */ 1, /* U+0D30 - U+0D37 : 0x11111111 */ 1, /* U+0D38 - U+0D3F : 0x11111111 */ - 71, /* U+0D40 - U+0D47 : 0x1111AAA1 */ - 64, /* U+0D48 - U+0D4F : 0x11A11111 */ + 74, /* U+0D40 - U+0D47 : 0x1111AAA1 */ + 67, /* U+0D48 - U+0D4F : 0x11A11111 */ 1, /* U+0D50 - U+0D57 : 0x11111111 */ 1, /* U+0D58 - U+0D5F : 0x11111111 */ 1, /* U+0D60 - U+0D67 : 0x11111111 */ @@ -456,8 +456,8 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0DB0 - U+0DB7 : 0x11111111 */ 1, /* U+0DB8 - U+0DBF : 0x11111111 */ 1, /* U+0DC0 - U+0DC7 : 0x11111111 */ - 73, /* U+0DC8 - U+0DCF : 0x11111A11 */ - 81, /* U+0DD0 - U+0DD7 : 0x1A1AAA11 */ + 76, /* U+0DC8 - U+0DCF : 0x11111A11 */ + 84, /* U+0DD0 - U+0DD7 : 0x1A1AAA11 */ 1, /* U+0DD8 - U+0DDF : 0x11111111 */ 1, /* U+0DE0 - U+0DE7 : 0x11111111 */ 1, /* U+0DE8 - U+0DEF : 0x11111111 */ @@ -469,10 +469,10 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0E18 - U+0E1F : 0x11111111 */ 1, /* U+0E20 - U+0E27 : 0x11111111 */ 1, /* U+0E28 - U+0E2F : 0x11111111 */ - 82, /* U+0E30 - U+0E37 : 0xAAAA11A1 */ - 83, /* U+0E38 - U+0E3F : 0x71111AAA */ - 84, /* U+0E40 - U+0E47 : 0xA1111111 */ - 85, /* U+0E48 - U+0E4F : 0x1AAAAAAA */ + 85, /* U+0E30 - U+0E37 : 0xAAAA11A1 */ + 86, /* U+0E38 - U+0E3F : 0x71111AAA */ + 87, /* U+0E40 - U+0E47 : 0xA1111111 */ + 88, /* U+0E48 - U+0E4F : 0x1AAAAAAA */ 1, /* U+0E50 - U+0E57 : 0x11111111 */ 1, /* U+0E58 - U+0E5F : 0x11111111 */ 1, /* U+0E60 - U+0E67 : 0x11111111 */ @@ -485,10 +485,10 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+0E98 - U+0E9F : 0x11111111 */ 1, /* U+0EA0 - U+0EA7 : 0x11111111 */ 1, /* U+0EA8 - U+0EAF : 0x11111111 */ - 82, /* U+0EB0 - U+0EB7 : 0xAAAA11A1 */ - 86, /* U+0EB8 - U+0EBF : 0x111AA1AA */ + 85, /* U+0EB0 - U+0EB7 : 0xAAAA11A1 */ + 89, /* U+0EB8 - U+0EBF : 0x111AA1AA */ 1, /* U+0EC0 - U+0EC7 : 0x11111111 */ - 87, /* U+0EC8 - U+0ECF : 0x11AAAAAA */ + 90, /* U+0EC8 - U+0ECF : 0x11AAAAAA */ 1, /* U+0ED0 - U+0ED7 : 0x11111111 */ 1, /* U+0ED8 - U+0EDF : 0x11111111 */ 1, /* U+0EE0 - U+0EE7 : 0x11111111 */ @@ -501,25 +501,25 @@ static PRUint8 gBidiCatIdx2[548] = { 38, /* U+0F18 - U+0F1F : 0x111111AA */ 1, /* U+0F20 - U+0F27 : 0x11111111 */ 1, /* U+0F28 - U+0F2F : 0x11111111 */ - 88, /* U+0F30 - U+0F37 : 0xA1A11111 */ - 89, /* U+0F38 - U+0F3F : 0x119999A1 */ + 91, /* U+0F30 - U+0F37 : 0xA1A11111 */ + 92, /* U+0F38 - U+0F3F : 0x119999A1 */ 1, /* U+0F40 - U+0F47 : 0x11111111 */ 1, /* U+0F48 - U+0F4F : 0x11111111 */ 1, /* U+0F50 - U+0F57 : 0x11111111 */ 1, /* U+0F58 - U+0F5F : 0x11111111 */ 1, /* U+0F60 - U+0F67 : 0x11111111 */ 1, /* U+0F68 - U+0F6F : 0x11111111 */ - 59, /* U+0F70 - U+0F77 : 0xAAAAAAA1 */ - 85, /* U+0F78 - U+0F7F : 0x1AAAAAAA */ - 90, /* U+0F80 - U+0F87 : 0xAA1AAAAA */ + 62, /* U+0F70 - U+0F77 : 0xAAAAAAA1 */ + 88, /* U+0F78 - U+0F7F : 0x1AAAAAAA */ + 93, /* U+0F80 - U+0F87 : 0xAA1AAAAA */ 1, /* U+0F88 - U+0F8F : 0x11111111 */ 10, /* U+0F90 - U+0F97 : 0xAAAAAAAA */ - 59, /* U+0F98 - U+0F9F : 0xAAAAAAA1 */ + 62, /* U+0F98 - U+0F9F : 0xAAAAAAA1 */ 10, /* U+0FA0 - U+0FA7 : 0xAAAAAAAA */ 10, /* U+0FA8 - U+0FAF : 0xAAAAAAAA */ 10, /* U+0FB0 - U+0FB7 : 0xAAAAAAAA */ - 91, /* U+0FB8 - U+0FBF : 0x111AAAAA */ - 72, /* U+0FC0 - U+0FC7 : 0x1A111111 */ + 94, /* U+0FB8 - U+0FBF : 0x111AAAAA */ + 75, /* U+0FC0 - U+0FC7 : 0x1A111111 */ 1, /* U+0FC8 - U+0FCF : 0x11111111 */ 1, /* U+0FD0 - U+0FD7 : 0x11111111 */ 1, /* U+0FD8 - U+0FDF : 0x11111111 */ @@ -532,9 +532,9 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1010 - U+1017 : 0x11111111 */ 1, /* U+1018 - U+101F : 0x11111111 */ 1, /* U+1020 - U+1027 : 0x11111111 */ - 92, /* U+1028 - U+102F : 0xAAA11111 */ - 93, /* U+1030 - U+1037 : 0xAA111A1A */ - 63, /* U+1038 - U+103F : 0x111111A1 */ + 95, /* U+1028 - U+102F : 0xAAA11111 */ + 96, /* U+1030 - U+1037 : 0xAA111A1A */ + 66, /* U+1038 - U+103F : 0x111111A1 */ 1, /* U+1040 - U+1047 : 0x11111111 */ 1, /* U+1048 - U+104F : 0x11111111 */ 1, /* U+1050 - U+1057 : 0x11111111 */ @@ -634,7 +634,7 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1340 - U+1347 : 0x11111111 */ 1, /* U+1348 - U+134F : 0x11111111 */ 1, /* U+1350 - U+1357 : 0x11111111 */ - 84, /* U+1358 - U+135F : 0xA1111111 */ + 87, /* U+1358 - U+135F : 0xA1111111 */ 1, /* U+1360 - U+1367 : 0x11111111 */ 1, /* U+1368 - U+136F : 0x11111111 */ 1, /* U+1370 - U+1377 : 0x11111111 */ @@ -642,7 +642,7 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1380 - U+1387 : 0x11111111 */ 1, /* U+1388 - U+138F : 0x11111111 */ 9, /* U+1390 - U+1397 : 0x99999999 */ - 94, /* U+1398 - U+139F : 0x11111199 */ + 97, /* U+1398 - U+139F : 0x11111199 */ 1, /* U+13A0 - U+13A7 : 0x11111111 */ 1, /* U+13A8 - U+13AF : 0x11111111 */ 1, /* U+13B0 - U+13B7 : 0x11111111 */ @@ -735,10 +735,10 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1668 - U+166F : 0x11111111 */ 1, /* U+1670 - U+1677 : 0x11111111 */ 1, /* U+1678 - U+167F : 0x11111111 */ - 95, /* U+1680 - U+1687 : 0x1111111E */ + 98, /* U+1680 - U+1687 : 0x1111111E */ 1, /* U+1688 - U+168F : 0x11111111 */ 1, /* U+1690 - U+1697 : 0x11111111 */ - 96, /* U+1698 - U+169F : 0x11199111 */ + 99, /* U+1698 - U+169F : 0x11199111 */ 1, /* U+16A0 - U+16A7 : 0x11111111 */ 1, /* U+16A8 - U+16AF : 0x11111111 */ 1, /* U+16B0 - U+16B7 : 0x11111111 */ @@ -753,19 +753,19 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+16F8 - U+16FF : 0x11111111 */ 1, /* U+1700 - U+1707 : 0x11111111 */ 1, /* U+1708 - U+170F : 0x11111111 */ - 97, /* U+1710 - U+1717 : 0x111AAA11 */ + 100, /* U+1710 - U+1717 : 0x111AAA11 */ 1, /* U+1718 - U+171F : 0x11111111 */ 1, /* U+1720 - U+1727 : 0x11111111 */ 1, /* U+1728 - U+172F : 0x11111111 */ - 97, /* U+1730 - U+1737 : 0x111AAA11 */ + 100, /* U+1730 - U+1737 : 0x111AAA11 */ 1, /* U+1738 - U+173F : 0x11111111 */ 1, /* U+1740 - U+1747 : 0x11111111 */ 1, /* U+1748 - U+174F : 0x11111111 */ - 62, /* U+1750 - U+1757 : 0x1111AA11 */ + 65, /* U+1750 - U+1757 : 0x1111AA11 */ 1, /* U+1758 - U+175F : 0x11111111 */ 1, /* U+1760 - U+1767 : 0x11111111 */ 1, /* U+1768 - U+176F : 0x11111111 */ - 62, /* U+1770 - U+1777 : 0x1111AA11 */ + 65, /* U+1770 - U+1777 : 0x1111AA11 */ 1, /* U+1778 - U+177F : 0x11111111 */ 1, /* U+1780 - U+1787 : 0x11111111 */ 1, /* U+1788 - U+178F : 0x11111111 */ @@ -773,18 +773,18 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1798 - U+179F : 0x11111111 */ 1, /* U+17A0 - U+17A7 : 0x11111111 */ 1, /* U+17A8 - U+17AF : 0x11111111 */ - 84, /* U+17B0 - U+17B7 : 0xA1111111 */ - 87, /* U+17B8 - U+17BF : 0x11AAAAAA */ - 72, /* U+17C0 - U+17C7 : 0x1A111111 */ - 59, /* U+17C8 - U+17CF : 0xAAAAAAA1 */ - 98, /* U+17D0 - U+17D7 : 0x1111AAAA */ - 99, /* U+17D8 - U+17DF : 0x11A17111 */ + 87, /* U+17B0 - U+17B7 : 0xA1111111 */ + 90, /* U+17B8 - U+17BF : 0x11AAAAAA */ + 75, /* U+17C0 - U+17C7 : 0x1A111111 */ + 62, /* U+17C8 - U+17CF : 0xAAAAAAA1 */ + 101, /* U+17D0 - U+17D7 : 0x1111AAAA */ + 102, /* U+17D8 - U+17DF : 0x11A17111 */ 1, /* U+17E0 - U+17E7 : 0x11111111 */ 1, /* U+17E8 - U+17EF : 0x11111111 */ 9, /* U+17F0 - U+17F7 : 0x99999999 */ - 94, /* U+17F8 - U+17FF : 0x11111199 */ + 97, /* U+17F8 - U+17FF : 0x11111199 */ 9, /* U+1800 - U+1807 : 0x99999999 */ - 100, /* U+1808 - U+180F : 0x1EAAA999 */ + 103, /* U+1808 - U+180F : 0x1EAAA999 */ 1, /* U+1810 - U+1817 : 0x11111111 */ 1, /* U+1818 - U+181F : 0x11111111 */ 1, /* U+1820 - U+1827 : 0x11111111 */ @@ -804,7 +804,7 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1890 - U+1897 : 0x11111111 */ 1, /* U+1898 - U+189F : 0x11111111 */ 1, /* U+18A0 - U+18A7 : 0x11111111 */ - 63, /* U+18A8 - U+18AF : 0x111111A1 */ + 66, /* U+18A8 - U+18AF : 0x111111A1 */ 1, /* U+18B0 - U+18B7 : 0x11111111 */ 1, /* U+18B8 - U+18BF : 0x11111111 */ 1, /* U+18C0 - U+18C7 : 0x11111111 */ @@ -819,11 +819,11 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+1908 - U+190F : 0x11111111 */ 1, /* U+1910 - U+1917 : 0x11111111 */ 1, /* U+1918 - U+191F : 0x11111111 */ - 101, /* U+1920 - U+1927 : 0xA1111AAA */ - 98, /* U+1928 - U+192F : 0x1111AAAA */ - 73, /* U+1930 - U+1937 : 0x11111A11 */ - 71, /* U+1938 - U+193F : 0x1111AAA1 */ - 102, /* U+1940 - U+1947 : 0x11991119 */ + 104, /* U+1920 - U+1927 : 0xA1111AAA */ + 101, /* U+1928 - U+192F : 0x1111AAAA */ + 76, /* U+1930 - U+1937 : 0x11111A11 */ + 74, /* U+1938 - U+193F : 0x1111AAA1 */ + 105, /* U+1940 - U+1947 : 0x11991119 */ 1, /* U+1948 - U+194F : 0x11111111 */ 1, /* U+1950 - U+1957 : 0x11111111 */ 1, /* U+1958 - U+195F : 0x11111111 */ @@ -842,15 +842,59 @@ static PRUint8 gBidiCatIdx2[548] = { 1, /* U+19C0 - U+19C7 : 0x11111111 */ 1, /* U+19C8 - U+19CF : 0x11111111 */ 1, /* U+19D0 - U+19D7 : 0x11111111 */ - 103, /* U+19D8 - U+19DF : 0x99111111 */ + 106, /* U+19D8 - U+19DF : 0x99111111 */ 9, /* U+19E0 - U+19E7 : 0x99999999 */ 9, /* U+19E8 - U+19EF : 0x99999999 */ 9, /* U+19F0 - U+19F7 : 0x99999999 */ 9, /* U+19F8 - U+19FF : 0x99999999 */ 1, /* U+1A00 - U+1A07 : 0x11111111 */ 1, /* U+1A08 - U+1A0F : 0x11111111 */ - 84, /* U+1A10 - U+1A17 : 0xA1111111 */ - 74, /* U+1A18 - U+1A1F : 0x1111111A */ + 87, /* U+1A10 - U+1A17 : 0xA1111111 */ + 77, /* U+1A18 - U+1A1F : 0x1111111A */ + 1, /* U+1A20 - U+1A27 : 0x11111111 */ + 1, /* U+1A28 - U+1A2F : 0x11111111 */ + 1, /* U+1A30 - U+1A37 : 0x11111111 */ + 1, /* U+1A38 - U+1A3F : 0x11111111 */ + 1, /* U+1A40 - U+1A47 : 0x11111111 */ + 1, /* U+1A48 - U+1A4F : 0x11111111 */ + 1, /* U+1A50 - U+1A57 : 0x11111111 */ + 1, /* U+1A58 - U+1A5F : 0x11111111 */ + 1, /* U+1A60 - U+1A67 : 0x11111111 */ + 1, /* U+1A68 - U+1A6F : 0x11111111 */ + 1, /* U+1A70 - U+1A77 : 0x11111111 */ + 1, /* U+1A78 - U+1A7F : 0x11111111 */ + 1, /* U+1A80 - U+1A87 : 0x11111111 */ + 1, /* U+1A88 - U+1A8F : 0x11111111 */ + 1, /* U+1A90 - U+1A97 : 0x11111111 */ + 1, /* U+1A98 - U+1A9F : 0x11111111 */ + 1, /* U+1AA0 - U+1AA7 : 0x11111111 */ + 1, /* U+1AA8 - U+1AAF : 0x11111111 */ + 1, /* U+1AB0 - U+1AB7 : 0x11111111 */ + 1, /* U+1AB8 - U+1ABF : 0x11111111 */ + 1, /* U+1AC0 - U+1AC7 : 0x11111111 */ + 1, /* U+1AC8 - U+1ACF : 0x11111111 */ + 1, /* U+1AD0 - U+1AD7 : 0x11111111 */ + 1, /* U+1AD8 - U+1ADF : 0x11111111 */ + 1, /* U+1AE0 - U+1AE7 : 0x11111111 */ + 1, /* U+1AE8 - U+1AEF : 0x11111111 */ + 1, /* U+1AF0 - U+1AF7 : 0x11111111 */ + 1, /* U+1AF8 - U+1AFF : 0x11111111 */ + 101, /* U+1B00 - U+1B07 : 0x1111AAAA */ + 1, /* U+1B08 - U+1B0F : 0x11111111 */ + 1, /* U+1B10 - U+1B17 : 0x11111111 */ + 1, /* U+1B18 - U+1B1F : 0x11111111 */ + 1, /* U+1B20 - U+1B27 : 0x11111111 */ + 1, /* U+1B28 - U+1B2F : 0x11111111 */ + 107, /* U+1B30 - U+1B37 : 0xAA1A1111 */ + 108, /* U+1B38 - U+1B3F : 0x111A1AAA */ + 76, /* U+1B40 - U+1B47 : 0x11111A11 */ + 1, /* U+1B48 - U+1B4F : 0x11111111 */ + 1, /* U+1B50 - U+1B57 : 0x11111111 */ + 1, /* U+1B58 - U+1B5F : 0x11111111 */ + 1, /* U+1B60 - U+1B67 : 0x11111111 */ + 109, /* U+1B68 - U+1B6F : 0xAAAAA111 */ + 101, /* U+1B70 - U+1B77 : 0x1111AAAA */ + 1, /* U+1B78 - U+1B7F : 0x11111111 */ }; static PRUint8 gBidiCatIdx3[540] = { @@ -878,14 +922,14 @@ static PRUint8 gBidiCatIdx3[540] = { 1, /* U+1DA8 - U+1DAF : 0x11111111 */ 1, /* U+1DB0 - U+1DB7 : 0x11111111 */ 1, /* U+1DB8 - U+1DBF : 0x11111111 */ - 98, /* U+1DC0 - U+1DC7 : 0x1111AAAA */ - 1, /* U+1DC8 - U+1DCF : 0x11111111 */ + 10, /* U+1DC0 - U+1DC7 : 0xAAAAAAAA */ + 110, /* U+1DC8 - U+1DCF : 0x11111AAA */ 1, /* U+1DD0 - U+1DD7 : 0x11111111 */ 1, /* U+1DD8 - U+1DDF : 0x11111111 */ 1, /* U+1DE0 - U+1DE7 : 0x11111111 */ 1, /* U+1DE8 - U+1DEF : 0x11111111 */ 1, /* U+1DF0 - U+1DF7 : 0x11111111 */ - 1, /* U+1DF8 - U+1DFF : 0x11111111 */ + 79, /* U+1DF8 - U+1DFF : 0xAA111111 */ 1, /* U+1E00 - U+1E07 : 0x11111111 */ 1, /* U+1E08 - U+1E0F : 0x11111111 */ 1, /* U+1E10 - U+1E17 : 0x11111111 */ @@ -941,57 +985,57 @@ static PRUint8 gBidiCatIdx3[540] = { 1, /* U+1FA0 - U+1FA7 : 0x11111111 */ 1, /* U+1FA8 - U+1FAF : 0x11111111 */ 1, /* U+1FB0 - U+1FB7 : 0x11111111 */ - 104, /* U+1FB8 - U+1FBF : 0x91911111 */ - 94, /* U+1FC0 - U+1FC7 : 0x11111199 */ + 111, /* U+1FB8 - U+1FBF : 0x91911111 */ + 97, /* U+1FC0 - U+1FC7 : 0x11111199 */ 32, /* U+1FC8 - U+1FCF : 0x99911111 */ 1, /* U+1FD0 - U+1FD7 : 0x11111111 */ 32, /* U+1FD8 - U+1FDF : 0x99911111 */ 1, /* U+1FE0 - U+1FE7 : 0x11111111 */ 32, /* U+1FE8 - U+1FEF : 0x99911111 */ 1, /* U+1FF0 - U+1FF7 : 0x11111111 */ - 105, /* U+1FF8 - U+1FFF : 0x19911111 */ + 112, /* U+1FF8 - U+1FFF : 0x19911111 */ 14, /* U+2000 - U+2007 : 0xEEEEEEEE */ - 106, /* U+2008 - U+200F : 0x21BBBEEE */ + 113, /* U+2008 - U+200F : 0x21BBBEEE */ 9, /* U+2010 - U+2017 : 0x99999999 */ 9, /* U+2018 - U+201F : 0x99999999 */ 9, /* U+2020 - U+2027 : 0x99999999 */ - 107, /* U+2028 - U+202F : 0x8FFFFFCE */ - 108, /* U+2030 - U+2037 : 0x99977777 */ + 114, /* U+2028 - U+202F : 0x8FFFFFCE */ + 115, /* U+2030 - U+2037 : 0x99977777 */ 9, /* U+2038 - U+203F : 0x99999999 */ - 109, /* U+2040 - U+2047 : 0x99989999 */ + 116, /* U+2040 - U+2047 : 0x99989999 */ 9, /* U+2048 - U+204F : 0x99999999 */ 9, /* U+2050 - U+2057 : 0x99999999 */ - 110, /* U+2058 - U+205F : 0xE9999999 */ - 111, /* U+2060 - U+2067 : 0x1111BBBB */ - 112, /* U+2068 - U+206F : 0xBBBBBB11 */ - 113, /* U+2070 - U+2077 : 0x55551115 */ - 114, /* U+2078 - U+207F : 0x19996655 */ + 117, /* U+2058 - U+205F : 0xE9999999 */ + 118, /* U+2060 - U+2067 : 0x1111BBBB */ + 119, /* U+2068 - U+206F : 0xBBBBBB11 */ + 120, /* U+2070 - U+2077 : 0x55551115 */ + 121, /* U+2078 - U+207F : 0x19996655 */ 5, /* U+2080 - U+2087 : 0x55555555 */ - 114, /* U+2088 - U+208F : 0x19996655 */ + 121, /* U+2088 - U+208F : 0x19996655 */ 1, /* U+2090 - U+2097 : 0x11111111 */ 1, /* U+2098 - U+209F : 0x11111111 */ 7, /* U+20A0 - U+20A7 : 0x77777777 */ 7, /* U+20A8 - U+20AF : 0x77777777 */ - 115, /* U+20B0 - U+20B7 : 0x11777777 */ + 122, /* U+20B0 - U+20B7 : 0x11777777 */ 1, /* U+20B8 - U+20BF : 0x11111111 */ 1, /* U+20C0 - U+20C7 : 0x11111111 */ 1, /* U+20C8 - U+20CF : 0x11111111 */ 10, /* U+20D0 - U+20D7 : 0xAAAAAAAA */ 10, /* U+20D8 - U+20DF : 0xAAAAAAAA */ 10, /* U+20E0 - U+20E7 : 0xAAAAAAAA */ - 98, /* U+20E8 - U+20EF : 0x1111AAAA */ + 10, /* U+20E8 - U+20EF : 0xAAAAAAAA */ 1, /* U+20F0 - U+20F7 : 0x11111111 */ 1, /* U+20F8 - U+20FF : 0x11111111 */ - 116, /* U+2100 - U+2107 : 0x19999199 */ - 94, /* U+2108 - U+210F : 0x11111199 */ - 117, /* U+2110 - U+2117 : 0x99191111 */ - 118, /* U+2118 - U+211F : 0x99111119 */ - 119, /* U+2120 - U+2127 : 0x91919999 */ - 120, /* U+2128 - U+212F : 0x17111191 */ - 39, /* U+2130 - U+2137 : 0x11111911 */ - 121, /* U+2138 - U+213F : 0x11119911 */ - 122, /* U+2140 - U+2147 : 0x11199999 */ - 123, /* U+2148 - U+214F : 0x11199911 */ + 123, /* U+2100 - U+2107 : 0x19999199 */ + 97, /* U+2108 - U+210F : 0x11111199 */ + 124, /* U+2110 - U+2117 : 0x99191111 */ + 125, /* U+2118 - U+211F : 0x99111119 */ + 126, /* U+2120 - U+2127 : 0x91919999 */ + 127, /* U+2128 - U+212F : 0x17111191 */ + 1, /* U+2130 - U+2137 : 0x11111111 */ + 128, /* U+2138 - U+213F : 0x11119911 */ + 129, /* U+2140 - U+2147 : 0x11199999 */ + 130, /* U+2148 - U+214F : 0x11999911 */ 22, /* U+2150 - U+2157 : 0x99999111 */ 9, /* U+2158 - U+215F : 0x99999999 */ 1, /* U+2160 - U+2167 : 0x11111111 */ @@ -1016,7 +1060,7 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+21F8 - U+21FF : 0x99999999 */ 9, /* U+2200 - U+2207 : 0x99999999 */ 9, /* U+2208 - U+220F : 0x99999999 */ - 124, /* U+2210 - U+2217 : 0x99997699 */ + 131, /* U+2210 - U+2217 : 0x99997699 */ 9, /* U+2218 - U+221F : 0x99999999 */ 9, /* U+2220 - U+2227 : 0x99999999 */ 9, /* U+2228 - U+222F : 0x99999999 */ @@ -1052,7 +1096,7 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+2318 - U+231F : 0x99999999 */ 9, /* U+2320 - U+2327 : 0x99999999 */ 9, /* U+2328 - U+232F : 0x99999999 */ - 125, /* U+2330 - U+2337 : 0x11999999 */ + 132, /* U+2330 - U+2337 : 0x11999999 */ 1, /* U+2338 - U+233F : 0x11111111 */ 1, /* U+2340 - U+2347 : 0x11111111 */ 1, /* U+2348 - U+234F : 0x11111111 */ @@ -1064,7 +1108,7 @@ static PRUint8 gBidiCatIdx3[540] = { 22, /* U+2378 - U+237F : 0x99999111 */ 9, /* U+2380 - U+2387 : 0x99999999 */ 9, /* U+2388 - U+238F : 0x99999999 */ - 126, /* U+2390 - U+2397 : 0x99199999 */ + 133, /* U+2390 - U+2397 : 0x99199999 */ 9, /* U+2398 - U+239F : 0x99999999 */ 9, /* U+23A0 - U+23A7 : 0x99999999 */ 9, /* U+23A8 - U+23AF : 0x99999999 */ @@ -1073,8 +1117,8 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+23C0 - U+23C7 : 0x99999999 */ 9, /* U+23C8 - U+23CF : 0x99999999 */ 9, /* U+23D0 - U+23D7 : 0x99999999 */ - 127, /* U+23D8 - U+23DF : 0x11119999 */ - 1, /* U+23E0 - U+23E7 : 0x11111111 */ + 9, /* U+23D8 - U+23DF : 0x99999999 */ + 9, /* U+23E0 - U+23E7 : 0x99999999 */ 1, /* U+23E8 - U+23EF : 0x11111111 */ 1, /* U+23F0 - U+23F7 : 0x11111111 */ 1, /* U+23F8 - U+23FF : 0x11111111 */ @@ -1082,12 +1126,12 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+2408 - U+240F : 0x99999999 */ 9, /* U+2410 - U+2417 : 0x99999999 */ 9, /* U+2418 - U+241F : 0x99999999 */ - 128, /* U+2420 - U+2427 : 0x19999999 */ + 134, /* U+2420 - U+2427 : 0x19999999 */ 1, /* U+2428 - U+242F : 0x11111111 */ 1, /* U+2430 - U+2437 : 0x11111111 */ 1, /* U+2438 - U+243F : 0x11111111 */ 9, /* U+2440 - U+2447 : 0x99999999 */ - 129, /* U+2448 - U+244F : 0x11111999 */ + 135, /* U+2448 - U+244F : 0x11111999 */ 1, /* U+2450 - U+2457 : 0x11111111 */ 1, /* U+2458 - U+245F : 0x11111111 */ 9, /* U+2460 - U+2467 : 0x99999999 */ @@ -1097,7 +1141,7 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+2480 - U+2487 : 0x99999999 */ 5, /* U+2488 - U+248F : 0x55555555 */ 5, /* U+2490 - U+2497 : 0x55555555 */ - 130, /* U+2498 - U+249F : 0x11115555 */ + 136, /* U+2498 - U+249F : 0x11115555 */ 1, /* U+24A0 - U+24A7 : 0x11111111 */ 1, /* U+24A8 - U+24AF : 0x11111111 */ 1, /* U+24B0 - U+24B7 : 0x11111111 */ @@ -1161,10 +1205,10 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+2680 - U+2687 : 0x99999999 */ 9, /* U+2688 - U+268F : 0x99999999 */ 9, /* U+2690 - U+2697 : 0x99999999 */ - 122, /* U+2698 - U+269F : 0x11199999 */ + 129, /* U+2698 - U+269F : 0x11199999 */ 9, /* U+26A0 - U+26A7 : 0x99999999 */ - 131, /* U+26A8 - U+26AF : 0x99919999 */ - 94, /* U+26B0 - U+26B7 : 0x11111199 */ + 137, /* U+26A8 - U+26AF : 0x99919999 */ + 135, /* U+26B0 - U+26B7 : 0x11111999 */ 1, /* U+26B8 - U+26BF : 0x11111111 */ 1, /* U+26C0 - U+26C7 : 0x11111111 */ 1, /* U+26C8 - U+26CF : 0x11111111 */ @@ -1174,36 +1218,36 @@ static PRUint8 gBidiCatIdx3[540] = { 1, /* U+26E8 - U+26EF : 0x11111111 */ 1, /* U+26F0 - U+26F7 : 0x11111111 */ 1, /* U+26F8 - U+26FF : 0x11111111 */ - 132, /* U+2700 - U+2707 : 0x99199991 */ - 133, /* U+2708 - U+270F : 0x99991199 */ + 138, /* U+2700 - U+2707 : 0x99199991 */ + 139, /* U+2708 - U+270F : 0x99991199 */ 9, /* U+2710 - U+2717 : 0x99999999 */ 9, /* U+2718 - U+271F : 0x99999999 */ 9, /* U+2720 - U+2727 : 0x99999999 */ - 134, /* U+2728 - U+272F : 0x99999991 */ + 140, /* U+2728 - U+272F : 0x99999991 */ 9, /* U+2730 - U+2737 : 0x99999999 */ 9, /* U+2738 - U+273F : 0x99999999 */ 9, /* U+2740 - U+2747 : 0x99999999 */ - 119, /* U+2748 - U+274F : 0x91919999 */ - 135, /* U+2750 - U+2757 : 0x19111999 */ - 128, /* U+2758 - U+275F : 0x19999999 */ - 134, /* U+2760 - U+2767 : 0x99999991 */ + 126, /* U+2748 - U+274F : 0x91919999 */ + 141, /* U+2750 - U+2757 : 0x19111999 */ + 134, /* U+2758 - U+275F : 0x19999999 */ + 140, /* U+2760 - U+2767 : 0x99999991 */ 9, /* U+2768 - U+276F : 0x99999999 */ 9, /* U+2770 - U+2777 : 0x99999999 */ 9, /* U+2778 - U+277F : 0x99999999 */ 9, /* U+2780 - U+2787 : 0x99999999 */ 9, /* U+2788 - U+278F : 0x99999999 */ - 122, /* U+2790 - U+2797 : 0x11199999 */ + 129, /* U+2790 - U+2797 : 0x11199999 */ 9, /* U+2798 - U+279F : 0x99999999 */ 9, /* U+27A0 - U+27A7 : 0x99999999 */ 9, /* U+27A8 - U+27AF : 0x99999999 */ - 134, /* U+27B0 - U+27B7 : 0x99999991 */ - 128, /* U+27B8 - U+27BF : 0x19999999 */ - 128, /* U+27C0 - U+27C7 : 0x19999999 */ - 1, /* U+27C8 - U+27CF : 0x11111111 */ + 140, /* U+27B0 - U+27B7 : 0x99999991 */ + 134, /* U+27B8 - U+27BF : 0x19999999 */ + 9, /* U+27C0 - U+27C7 : 0x99999999 */ + 135, /* U+27C8 - U+27CF : 0x11111999 */ 9, /* U+27D0 - U+27D7 : 0x99999999 */ 9, /* U+27D8 - U+27DF : 0x99999999 */ 9, /* U+27E0 - U+27E7 : 0x99999999 */ - 127, /* U+27E8 - U+27EF : 0x11119999 */ + 142, /* U+27E8 - U+27EF : 0x11119999 */ 9, /* U+27F0 - U+27F7 : 0x99999999 */ 9, /* U+27F8 - U+27FF : 0x99999999 */ 1, /* U+2800 - U+2807 : 0x11111111 */ @@ -1304,9 +1348,9 @@ static PRUint8 gBidiCatIdx3[540] = { 9, /* U+2AF8 - U+2AFF : 0x99999999 */ 9, /* U+2B00 - U+2B07 : 0x99999999 */ 9, /* U+2B08 - U+2B0F : 0x99999999 */ - 127, /* U+2B10 - U+2B17 : 0x11119999 */ - 1, /* U+2B18 - U+2B1F : 0x11111111 */ - 1, /* U+2B20 - U+2B27 : 0x11111111 */ + 9, /* U+2B10 - U+2B17 : 0x99999999 */ + 135, /* U+2B18 - U+2B1F : 0x11111999 */ + 142, /* U+2B20 - U+2B27 : 0x11119999 */ 1, /* U+2B28 - U+2B2F : 0x11111111 */ 1, /* U+2B30 - U+2B37 : 0x11111111 */ 1, /* U+2B38 - U+2B3F : 0x11111111 */ @@ -1363,9 +1407,9 @@ static PRUint8 gBidiCatIdx3[540] = { 1, /* U+2CD0 - U+2CD7 : 0x11111111 */ 1, /* U+2CD8 - U+2CDF : 0x11111111 */ 32, /* U+2CE0 - U+2CE7 : 0x99911111 */ - 129, /* U+2CE8 - U+2CEF : 0x11111999 */ + 135, /* U+2CE8 - U+2CEF : 0x11111999 */ 1, /* U+2CF0 - U+2CF7 : 0x11111111 */ - 134, /* U+2CF8 - U+2CFF : 0x99999991 */ + 140, /* U+2CF8 - U+2CFF : 0x99999991 */ 1, /* U+2D00 - U+2D07 : 0x11111111 */ 1, /* U+2D08 - U+2D0F : 0x11111111 */ 1, /* U+2D10 - U+2D17 : 0x11111111 */ @@ -1416,7 +1460,7 @@ static PRUint8 gBidiCatIdx4[192] = { 9, /* U+2E80 - U+2E87 : 0x99999999 */ 9, /* U+2E88 - U+2E8F : 0x99999999 */ 9, /* U+2E90 - U+2E97 : 0x99999999 */ - 136, /* U+2E98 - U+2E9F : 0x99999199 */ + 143, /* U+2E98 - U+2E9F : 0x99999199 */ 9, /* U+2EA0 - U+2EA7 : 0x99999999 */ 9, /* U+2EA8 - U+2EAF : 0x99999999 */ 9, /* U+2EB0 - U+2EB7 : 0x99999999 */ @@ -1427,7 +1471,7 @@ static PRUint8 gBidiCatIdx4[192] = { 9, /* U+2ED8 - U+2EDF : 0x99999999 */ 9, /* U+2EE0 - U+2EE7 : 0x99999999 */ 9, /* U+2EE8 - U+2EEF : 0x99999999 */ - 127, /* U+2EF0 - U+2EF7 : 0x11119999 */ + 142, /* U+2EF0 - U+2EF7 : 0x11119999 */ 1, /* U+2EF8 - U+2EFF : 0x11111111 */ 9, /* U+2F00 - U+2F07 : 0x99999999 */ 9, /* U+2F08 - U+2F0F : 0x99999999 */ @@ -1455,19 +1499,19 @@ static PRUint8 gBidiCatIdx4[192] = { 9, /* U+2FB8 - U+2FBF : 0x99999999 */ 9, /* U+2FC0 - U+2FC7 : 0x99999999 */ 9, /* U+2FC8 - U+2FCF : 0x99999999 */ - 125, /* U+2FD0 - U+2FD7 : 0x11999999 */ + 132, /* U+2FD0 - U+2FD7 : 0x11999999 */ 1, /* U+2FD8 - U+2FDF : 0x11111111 */ 1, /* U+2FE0 - U+2FE7 : 0x11111111 */ 1, /* U+2FE8 - U+2FEF : 0x11111111 */ 9, /* U+2FF0 - U+2FF7 : 0x99999999 */ - 127, /* U+2FF8 - U+2FFF : 0x11119999 */ - 137, /* U+3000 - U+3007 : 0x1119999E */ + 142, /* U+2FF8 - U+2FFF : 0x11119999 */ + 144, /* U+3000 - U+3007 : 0x1119999E */ 9, /* U+3008 - U+300F : 0x99999999 */ 9, /* U+3010 - U+3017 : 0x99999999 */ 9, /* U+3018 - U+301F : 0x99999999 */ 21, /* U+3020 - U+3027 : 0x11111119 */ - 138, /* U+3028 - U+302F : 0xAAAAAA11 */ - 118, /* U+3030 - U+3037 : 0x99111119 */ + 145, /* U+3028 - U+302F : 0xAAAAAA11 */ + 125, /* U+3030 - U+3037 : 0x99111119 */ 32, /* U+3038 - U+303F : 0x99911111 */ 1, /* U+3040 - U+3047 : 0x11111111 */ 1, /* U+3048 - U+304F : 0x11111111 */ @@ -1480,7 +1524,7 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+3080 - U+3087 : 0x11111111 */ 1, /* U+3088 - U+308F : 0x11111111 */ 1, /* U+3090 - U+3097 : 0x11111111 */ - 139, /* U+3098 - U+309F : 0x11199AA1 */ + 146, /* U+3098 - U+309F : 0x11199AA1 */ 21, /* U+30A0 - U+30A7 : 0x11111119 */ 1, /* U+30A8 - U+30AF : 0x11111111 */ 1, /* U+30B0 - U+30B7 : 0x11111111 */ @@ -1492,7 +1536,7 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+30E0 - U+30E7 : 0x11111111 */ 1, /* U+30E8 - U+30EF : 0x11111111 */ 1, /* U+30F0 - U+30F7 : 0x11111111 */ - 140, /* U+30F8 - U+30FF : 0x11119111 */ + 147, /* U+30F8 - U+30FF : 0x11119111 */ 1, /* U+3100 - U+3107 : 0x11111111 */ 1, /* U+3108 - U+310F : 0x11111111 */ 1, /* U+3110 - U+3117 : 0x11111111 */ @@ -1528,7 +1572,7 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+3200 - U+3207 : 0x11111111 */ 1, /* U+3208 - U+320F : 0x11111111 */ 1, /* U+3210 - U+3217 : 0x11111111 */ - 105, /* U+3218 - U+321F : 0x19911111 */ + 112, /* U+3218 - U+321F : 0x19911111 */ 1, /* U+3220 - U+3227 : 0x11111111 */ 1, /* U+3228 - U+322F : 0x11111111 */ 1, /* U+3230 - U+3237 : 0x11111111 */ @@ -1540,17 +1584,17 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+3260 - U+3267 : 0x11111111 */ 1, /* U+3268 - U+326F : 0x11111111 */ 1, /* U+3270 - U+3277 : 0x11111111 */ - 141, /* U+3278 - U+327F : 0x19991111 */ + 148, /* U+3278 - U+327F : 0x19991111 */ 1, /* U+3280 - U+3287 : 0x11111111 */ 1, /* U+3288 - U+328F : 0x11111111 */ 1, /* U+3290 - U+3297 : 0x11111111 */ 1, /* U+3298 - U+329F : 0x11111111 */ 1, /* U+32A0 - U+32A7 : 0x11111111 */ 1, /* U+32A8 - U+32AF : 0x11111111 */ - 134, /* U+32B0 - U+32B7 : 0x99999991 */ + 140, /* U+32B0 - U+32B7 : 0x99999991 */ 9, /* U+32B8 - U+32BF : 0x99999999 */ 1, /* U+32C0 - U+32C7 : 0x11111111 */ - 142, /* U+32C8 - U+32CF : 0x99991111 */ + 149, /* U+32C8 - U+32CF : 0x99991111 */ 1, /* U+32D0 - U+32D7 : 0x11111111 */ 1, /* U+32D8 - U+32DF : 0x11111111 */ 1, /* U+32E0 - U+32E7 : 0x11111111 */ @@ -1572,7 +1616,7 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+3360 - U+3367 : 0x11111111 */ 1, /* U+3368 - U+336F : 0x11111111 */ 29, /* U+3370 - U+3377 : 0x91111111 */ - 129, /* U+3378 - U+337F : 0x11111999 */ + 135, /* U+3378 - U+337F : 0x11111999 */ 1, /* U+3380 - U+3387 : 0x11111111 */ 1, /* U+3388 - U+338F : 0x11111111 */ 1, /* U+3390 - U+3397 : 0x11111111 */ @@ -1584,7 +1628,7 @@ static PRUint8 gBidiCatIdx4[192] = { 1, /* U+33C0 - U+33C7 : 0x11111111 */ 1, /* U+33C8 - U+33CF : 0x11111111 */ 1, /* U+33D0 - U+33D7 : 0x11111111 */ - 103, /* U+33D8 - U+33DF : 0x99111111 */ + 106, /* U+33D8 - U+33DF : 0x99111111 */ 1, /* U+33E0 - U+33E7 : 0x11111111 */ 1, /* U+33E8 - U+33EF : 0x11111111 */ 1, /* U+33F0 - U+33F7 : 0x11111111 */ @@ -1602,7 +1646,7 @@ static PRUint8 gBidiCatIdx5[8] = { 9, /* U+4DF8 - U+4DFF : 0x99999999 */ }; -static PRUint8 gBidiCatIdx6[160] = { +static PRUint8 gBidiCatIdx6[272] = { 1, /* U+A000 - U+A007 : 0x11111111 */ 1, /* U+A008 - U+A00F : 0x11111111 */ 1, /* U+A010 - U+A017 : 0x11111111 */ @@ -1755,7 +1799,7 @@ static PRUint8 gBidiCatIdx6[160] = { 9, /* U+A4A8 - U+A4AF : 0x99999999 */ 9, /* U+A4B0 - U+A4B7 : 0x99999999 */ 9, /* U+A4B8 - U+A4BF : 0x99999999 */ - 128, /* U+A4C0 - U+A4C7 : 0x19999999 */ + 134, /* U+A4C0 - U+A4C7 : 0x19999999 */ 1, /* U+A4C8 - U+A4CF : 0x11111111 */ 1, /* U+A4D0 - U+A4D7 : 0x11111111 */ 1, /* U+A4D8 - U+A4DF : 0x11111111 */ @@ -1763,14 +1807,75 @@ static PRUint8 gBidiCatIdx6[160] = { 1, /* U+A4E8 - U+A4EF : 0x11111111 */ 1, /* U+A4F0 - U+A4F7 : 0x11111111 */ 1, /* U+A4F8 - U+A4FF : 0x11111111 */ -}; - -static PRUint8 gBidiCatIdx7[38] = { + 1, /* U+A500 - U+A507 : 0x11111111 */ + 1, /* U+A508 - U+A50F : 0x11111111 */ + 1, /* U+A510 - U+A517 : 0x11111111 */ + 1, /* U+A518 - U+A51F : 0x11111111 */ + 1, /* U+A520 - U+A527 : 0x11111111 */ + 1, /* U+A528 - U+A52F : 0x11111111 */ + 1, /* U+A530 - U+A537 : 0x11111111 */ + 1, /* U+A538 - U+A53F : 0x11111111 */ + 1, /* U+A540 - U+A547 : 0x11111111 */ + 1, /* U+A548 - U+A54F : 0x11111111 */ + 1, /* U+A550 - U+A557 : 0x11111111 */ + 1, /* U+A558 - U+A55F : 0x11111111 */ + 1, /* U+A560 - U+A567 : 0x11111111 */ + 1, /* U+A568 - U+A56F : 0x11111111 */ + 1, /* U+A570 - U+A577 : 0x11111111 */ + 1, /* U+A578 - U+A57F : 0x11111111 */ + 1, /* U+A580 - U+A587 : 0x11111111 */ + 1, /* U+A588 - U+A58F : 0x11111111 */ + 1, /* U+A590 - U+A597 : 0x11111111 */ + 1, /* U+A598 - U+A59F : 0x11111111 */ + 1, /* U+A5A0 - U+A5A7 : 0x11111111 */ + 1, /* U+A5A8 - U+A5AF : 0x11111111 */ + 1, /* U+A5B0 - U+A5B7 : 0x11111111 */ + 1, /* U+A5B8 - U+A5BF : 0x11111111 */ + 1, /* U+A5C0 - U+A5C7 : 0x11111111 */ + 1, /* U+A5C8 - U+A5CF : 0x11111111 */ + 1, /* U+A5D0 - U+A5D7 : 0x11111111 */ + 1, /* U+A5D8 - U+A5DF : 0x11111111 */ + 1, /* U+A5E0 - U+A5E7 : 0x11111111 */ + 1, /* U+A5E8 - U+A5EF : 0x11111111 */ + 1, /* U+A5F0 - U+A5F7 : 0x11111111 */ + 1, /* U+A5F8 - U+A5FF : 0x11111111 */ + 1, /* U+A600 - U+A607 : 0x11111111 */ + 1, /* U+A608 - U+A60F : 0x11111111 */ + 1, /* U+A610 - U+A617 : 0x11111111 */ + 1, /* U+A618 - U+A61F : 0x11111111 */ + 1, /* U+A620 - U+A627 : 0x11111111 */ + 1, /* U+A628 - U+A62F : 0x11111111 */ + 1, /* U+A630 - U+A637 : 0x11111111 */ + 1, /* U+A638 - U+A63F : 0x11111111 */ + 1, /* U+A640 - U+A647 : 0x11111111 */ + 1, /* U+A648 - U+A64F : 0x11111111 */ + 1, /* U+A650 - U+A657 : 0x11111111 */ + 1, /* U+A658 - U+A65F : 0x11111111 */ + 1, /* U+A660 - U+A667 : 0x11111111 */ + 1, /* U+A668 - U+A66F : 0x11111111 */ + 1, /* U+A670 - U+A677 : 0x11111111 */ + 1, /* U+A678 - U+A67F : 0x11111111 */ + 1, /* U+A680 - U+A687 : 0x11111111 */ + 1, /* U+A688 - U+A68F : 0x11111111 */ + 1, /* U+A690 - U+A697 : 0x11111111 */ + 1, /* U+A698 - U+A69F : 0x11111111 */ + 1, /* U+A6A0 - U+A6A7 : 0x11111111 */ + 1, /* U+A6A8 - U+A6AF : 0x11111111 */ + 1, /* U+A6B0 - U+A6B7 : 0x11111111 */ + 1, /* U+A6B8 - U+A6BF : 0x11111111 */ + 1, /* U+A6C0 - U+A6C7 : 0x11111111 */ + 1, /* U+A6C8 - U+A6CF : 0x11111111 */ + 1, /* U+A6D0 - U+A6D7 : 0x11111111 */ + 1, /* U+A6D8 - U+A6DF : 0x11111111 */ + 1, /* U+A6E0 - U+A6E7 : 0x11111111 */ + 1, /* U+A6E8 - U+A6EF : 0x11111111 */ + 1, /* U+A6F0 - U+A6F7 : 0x11111111 */ + 1, /* U+A6F8 - U+A6FF : 0x11111111 */ 9, /* U+A700 - U+A707 : 0x99999999 */ 9, /* U+A708 - U+A70F : 0x99999999 */ - 128, /* U+A710 - U+A717 : 0x19999999 */ - 1, /* U+A718 - U+A71F : 0x11111111 */ - 1, /* U+A720 - U+A727 : 0x11111111 */ + 9, /* U+A710 - U+A717 : 0x99999999 */ + 135, /* U+A718 - U+A71F : 0x11111999 */ + 97, /* U+A720 - U+A727 : 0x11111199 */ 1, /* U+A728 - U+A72F : 0x11111111 */ 1, /* U+A730 - U+A737 : 0x11111111 */ 1, /* U+A738 - U+A73F : 0x11111111 */ @@ -1798,15 +1903,25 @@ static PRUint8 gBidiCatIdx7[38] = { 1, /* U+A7E8 - U+A7EF : 0x11111111 */ 1, /* U+A7F0 - U+A7F7 : 0x11111111 */ 1, /* U+A7F8 - U+A7FF : 0x11111111 */ - 143, /* U+A800 - U+A807 : 0x1A111A11 */ - 144, /* U+A808 - U+A80F : 0x1111A111 */ + 150, /* U+A800 - U+A807 : 0x1A111A11 */ + 151, /* U+A808 - U+A80F : 0x1111A111 */ 1, /* U+A810 - U+A817 : 0x11111111 */ 1, /* U+A818 - U+A81F : 0x11111111 */ - 79, /* U+A820 - U+A827 : 0x1AA11111 */ - 127, /* U+A828 - U+A82F : 0x11119999 */ + 82, /* U+A820 - U+A827 : 0x1AA11111 */ + 142, /* U+A828 - U+A82F : 0x11119999 */ + 1, /* U+A830 - U+A837 : 0x11111111 */ + 1, /* U+A838 - U+A83F : 0x11111111 */ + 1, /* U+A840 - U+A847 : 0x11111111 */ + 1, /* U+A848 - U+A84F : 0x11111111 */ + 1, /* U+A850 - U+A857 : 0x11111111 */ + 1, /* U+A858 - U+A85F : 0x11111111 */ + 1, /* U+A860 - U+A867 : 0x11111111 */ + 1, /* U+A868 - U+A86F : 0x11111111 */ + 149, /* U+A870 - U+A877 : 0x99991111 */ + 1, /* U+A878 - U+A87F : 0x11111111 */ }; -static PRUint8 gBidiCatIdx8[274] = { +static PRUint8 gBidiCatIdx7[274] = { 1, /* U+F900 - U+F907 : 0x11111111 */ 1, /* U+F908 - U+F90F : 0x11111111 */ 1, /* U+F910 - U+F917 : 0x11111111 */ @@ -1874,9 +1989,9 @@ static PRUint8 gBidiCatIdx8[274] = { 1, /* U+FB00 - U+FB07 : 0x11111111 */ 1, /* U+FB08 - U+FB0F : 0x11111111 */ 1, /* U+FB10 - U+FB17 : 0x11111111 */ - 145, /* U+FB18 - U+FB1F : 0x2A211111 */ + 152, /* U+FB18 - U+FB1F : 0x2A211111 */ 2, /* U+FB20 - U+FB27 : 0x22222222 */ - 146, /* U+FB28 - U+FB2F : 0x22222262 */ + 153, /* U+FB28 - U+FB2F : 0x22222262 */ 2, /* U+FB30 - U+FB37 : 0x22222222 */ 2, /* U+FB38 - U+FB3F : 0x22222222 */ 2, /* U+FB40 - U+FB47 : 0x22222222 */ @@ -1942,7 +2057,7 @@ static PRUint8 gBidiCatIdx8[274] = { 3, /* U+FD20 - U+FD27 : 0x33333333 */ 3, /* U+FD28 - U+FD2F : 0x33333333 */ 3, /* U+FD30 - U+FD37 : 0x33333333 */ - 147, /* U+FD38 - U+FD3F : 0x99333333 */ + 154, /* U+FD38 - U+FD3F : 0x99333333 */ 3, /* U+FD40 - U+FD47 : 0x33333333 */ 3, /* U+FD48 - U+FD4F : 0x33333333 */ 3, /* U+FD50 - U+FD57 : 0x33333333 */ @@ -1961,26 +2076,26 @@ static PRUint8 gBidiCatIdx8[274] = { 3, /* U+FDB8 - U+FDBF : 0x33333333 */ 3, /* U+FDC0 - U+FDC7 : 0x33333333 */ 3, /* U+FDC8 - U+FDCF : 0x33333333 */ - 1, /* U+FDD0 - U+FDD7 : 0x11111111 */ - 1, /* U+FDD8 - U+FDDF : 0x11111111 */ - 1, /* U+FDE0 - U+FDE7 : 0x11111111 */ - 1, /* U+FDE8 - U+FDEF : 0x11111111 */ + 3, /* U+FDD0 - U+FDD7 : 0x33333333 */ + 3, /* U+FDD8 - U+FDDF : 0x33333333 */ + 3, /* U+FDE0 - U+FDE7 : 0x33333333 */ + 3, /* U+FDE8 - U+FDEF : 0x33333333 */ 3, /* U+FDF0 - U+FDF7 : 0x33333333 */ - 148, /* U+FDF8 - U+FDFF : 0x33933333 */ + 155, /* U+FDF8 - U+FDFF : 0x33933333 */ 10, /* U+FE00 - U+FE07 : 0xAAAAAAAA */ 10, /* U+FE08 - U+FE0F : 0xAAAAAAAA */ 9, /* U+FE10 - U+FE17 : 0x99999999 */ - 94, /* U+FE18 - U+FE1F : 0x11111199 */ - 98, /* U+FE20 - U+FE27 : 0x1111AAAA */ + 97, /* U+FE18 - U+FE1F : 0x11111199 */ + 101, /* U+FE20 - U+FE27 : 0x1111AAAA */ 1, /* U+FE28 - U+FE2F : 0x11111111 */ 9, /* U+FE30 - U+FE37 : 0x99999999 */ 9, /* U+FE38 - U+FE3F : 0x99999999 */ 9, /* U+FE40 - U+FE47 : 0x99999999 */ 9, /* U+FE48 - U+FE4F : 0x99999999 */ - 149, /* U+FE50 - U+FE57 : 0x99891898 */ - 150, /* U+FE58 - U+FE5F : 0x79999999 */ - 151, /* U+FE60 - U+FE67 : 0x19996699 */ - 152, /* U+FE68 - U+FE6F : 0x11119779 */ + 156, /* U+FE50 - U+FE57 : 0x99891898 */ + 157, /* U+FE58 - U+FE5F : 0x79999999 */ + 158, /* U+FE60 - U+FE67 : 0x19996699 */ + 159, /* U+FE68 - U+FE6F : 0x11119779 */ 3, /* U+FE70 - U+FE77 : 0x33333333 */ 3, /* U+FE78 - U+FE7F : 0x33333333 */ 3, /* U+FE80 - U+FE87 : 0x33333333 */ @@ -1999,7 +2114,7 @@ static PRUint8 gBidiCatIdx8[274] = { 3, /* U+FEE8 - U+FEEF : 0x33333333 */ 3, /* U+FEF0 - U+FEF7 : 0x33333333 */ 54, /* U+FEF8 - U+FEFF : 0xB3333333 */ - 153, /* U+FF00 - U+FF07 : 0x99777991 */ + 160, /* U+FF00 - U+FF07 : 0x99777991 */ 19, /* U+FF08 - U+FF0F : 0x88686999 */ 5, /* U+FF10 - U+FF17 : 0x55555555 */ 20, /* U+FF18 - U+FF1F : 0x99999855 */ @@ -2011,7 +2126,7 @@ static PRUint8 gBidiCatIdx8[274] = { 1, /* U+FF48 - U+FF4F : 0x11111111 */ 1, /* U+FF50 - U+FF57 : 0x11111111 */ 22, /* U+FF58 - U+FF5F : 0x99999111 */ - 125, /* U+FF60 - U+FF67 : 0x11999999 */ + 132, /* U+FF60 - U+FF67 : 0x11999999 */ 1, /* U+FF68 - U+FF6F : 0x11111111 */ 1, /* U+FF70 - U+FF77 : 0x11111111 */ 1, /* U+FF78 - U+FF7F : 0x11111111 */ @@ -2027,10 +2142,10 @@ static PRUint8 gBidiCatIdx8[274] = { 1, /* U+FFC8 - U+FFCF : 0x11111111 */ 1, /* U+FFD0 - U+FFD7 : 0x11111111 */ 1, /* U+FFD8 - U+FFDF : 0x11111111 */ - 154, /* U+FFE0 - U+FFE7 : 0x17799977 */ - 128, /* U+FFE8 - U+FFEF : 0x19999999 */ + 161, /* U+FFE0 - U+FFE7 : 0x17799977 */ + 134, /* U+FFE8 - U+FFEF : 0x19999999 */ 1, /* U+FFF0 - U+FFF7 : 0x11111111 */ - 155, /* U+FFF8 - U+FFFF : 0x11999991 */ + 162, /* U+FFF8 - U+FFFF : 0x11999991 */ 1, /* U+10000 - U+10007 : 0x11111111 */ 1, /* U+10008 - U+1000F : 0x11111111 */ 1, /* U+10010 - U+10017 : 0x11111111 */ @@ -2063,7 +2178,7 @@ static PRUint8 gBidiCatIdx8[274] = { 1, /* U+100E8 - U+100EF : 0x11111111 */ 1, /* U+100F0 - U+100F7 : 0x11111111 */ 1, /* U+100F8 - U+100FF : 0x11111111 */ - 156, /* U+10100 - U+10107 : 0x11111191 */ + 163, /* U+10100 - U+10107 : 0x11111191 */ 1, /* U+10108 - U+1010F : 0x11111111 */ 1, /* U+10110 - U+10117 : 0x11111111 */ 1, /* U+10118 - U+1011F : 0x11111111 */ @@ -2080,10 +2195,10 @@ static PRUint8 gBidiCatIdx8[274] = { 9, /* U+10170 - U+10177 : 0x99999999 */ 9, /* U+10178 - U+1017F : 0x99999999 */ 9, /* U+10180 - U+10187 : 0x99999999 */ - 129, /* U+10188 - U+1018F : 0x11111999 */ + 135, /* U+10188 - U+1018F : 0x11111999 */ }; -static PRUint8 gBidiCatIdx9[64] = { +static PRUint8 gBidiCatIdx8[64] = { 1, /* U+10300 - U+10307 : 0x11111111 */ 1, /* U+10308 - U+1030F : 0x11111111 */ 1, /* U+10310 - U+10317 : 0x11111111 */ @@ -2110,7 +2225,7 @@ static PRUint8 gBidiCatIdx9[64] = { 1, /* U+103B8 - U+103BF : 0x11111111 */ 1, /* U+103C0 - U+103C7 : 0x11111111 */ 1, /* U+103C8 - U+103CF : 0x11111111 */ - 155, /* U+103D0 - U+103D7 : 0x11999991 */ + 1, /* U+103D0 - U+103D7 : 0x11111111 */ 1, /* U+103D8 - U+103DF : 0x11111111 */ 1, /* U+103E0 - U+103E7 : 0x11111111 */ 1, /* U+103E8 - U+103EF : 0x11111111 */ @@ -2150,7 +2265,7 @@ static PRUint8 gBidiCatIdx9[64] = { 1, /* U+104F8 - U+104FF : 0x11111111 */ }; -static PRUint8 gBidiCatIdx10[8] = { +static PRUint8 gBidiCatIdx9[8] = { 2, /* U+10800 - U+10807 : 0x22222222 */ 2, /* U+10808 - U+1080F : 0x22222222 */ 2, /* U+10810 - U+10817 : 0x22222222 */ @@ -2161,22 +2276,176 @@ static PRUint8 gBidiCatIdx10[8] = { 2, /* U+10838 - U+1083F : 0x22222222 */ }; +static PRUint8 gBidiCatIdx10[4] = { + 2, /* U+10900 - U+10907 : 0x22222222 */ + 2, /* U+10908 - U+1090F : 0x22222222 */ + 2, /* U+10910 - U+10917 : 0x22222222 */ + 164, /* U+10918 - U+1091F : 0x92222222 */ +}; + static PRUint8 gBidiCatIdx11[12] = { - 157, /* U+10A00 - U+10A07 : 0x2AA2AAA2 */ - 158, /* U+10A08 - U+10A0F : 0xAAAA2222 */ + 165, /* U+10A00 - U+10A07 : 0x2AA2AAA2 */ + 166, /* U+10A08 - U+10A0F : 0xAAAA2222 */ 2, /* U+10A10 - U+10A17 : 0x22222222 */ 2, /* U+10A18 - U+10A1F : 0x22222222 */ 2, /* U+10A20 - U+10A27 : 0x22222222 */ 2, /* U+10A28 - U+10A2F : 0x22222222 */ 2, /* U+10A30 - U+10A37 : 0x22222222 */ - 159, /* U+10A38 - U+10A3F : 0xA2222AAA */ + 167, /* U+10A38 - U+10A3F : 0xA2222AAA */ 2, /* U+10A40 - U+10A47 : 0x22222222 */ 2, /* U+10A48 - U+10A4F : 0x22222222 */ 2, /* U+10A50 - U+10A57 : 0x22222222 */ 2, /* U+10A58 - U+10A5F : 0x22222222 */ }; -static PRUint8 gBidiCatIdx12[256] = { +static PRUint8 gBidiCatIdx12[144] = { + 1, /* U+12000 - U+12007 : 0x11111111 */ + 1, /* U+12008 - U+1200F : 0x11111111 */ + 1, /* U+12010 - U+12017 : 0x11111111 */ + 1, /* U+12018 - U+1201F : 0x11111111 */ + 1, /* U+12020 - U+12027 : 0x11111111 */ + 1, /* U+12028 - U+1202F : 0x11111111 */ + 1, /* U+12030 - U+12037 : 0x11111111 */ + 1, /* U+12038 - U+1203F : 0x11111111 */ + 1, /* U+12040 - U+12047 : 0x11111111 */ + 1, /* U+12048 - U+1204F : 0x11111111 */ + 1, /* U+12050 - U+12057 : 0x11111111 */ + 1, /* U+12058 - U+1205F : 0x11111111 */ + 1, /* U+12060 - U+12067 : 0x11111111 */ + 1, /* U+12068 - U+1206F : 0x11111111 */ + 1, /* U+12070 - U+12077 : 0x11111111 */ + 1, /* U+12078 - U+1207F : 0x11111111 */ + 1, /* U+12080 - U+12087 : 0x11111111 */ + 1, /* U+12088 - U+1208F : 0x11111111 */ + 1, /* U+12090 - U+12097 : 0x11111111 */ + 1, /* U+12098 - U+1209F : 0x11111111 */ + 1, /* U+120A0 - U+120A7 : 0x11111111 */ + 1, /* U+120A8 - U+120AF : 0x11111111 */ + 1, /* U+120B0 - U+120B7 : 0x11111111 */ + 1, /* U+120B8 - U+120BF : 0x11111111 */ + 1, /* U+120C0 - U+120C7 : 0x11111111 */ + 1, /* U+120C8 - U+120CF : 0x11111111 */ + 1, /* U+120D0 - U+120D7 : 0x11111111 */ + 1, /* U+120D8 - U+120DF : 0x11111111 */ + 1, /* U+120E0 - U+120E7 : 0x11111111 */ + 1, /* U+120E8 - U+120EF : 0x11111111 */ + 1, /* U+120F0 - U+120F7 : 0x11111111 */ + 1, /* U+120F8 - U+120FF : 0x11111111 */ + 1, /* U+12100 - U+12107 : 0x11111111 */ + 1, /* U+12108 - U+1210F : 0x11111111 */ + 1, /* U+12110 - U+12117 : 0x11111111 */ + 1, /* U+12118 - U+1211F : 0x11111111 */ + 1, /* U+12120 - U+12127 : 0x11111111 */ + 1, /* U+12128 - U+1212F : 0x11111111 */ + 1, /* U+12130 - U+12137 : 0x11111111 */ + 1, /* U+12138 - U+1213F : 0x11111111 */ + 1, /* U+12140 - U+12147 : 0x11111111 */ + 1, /* U+12148 - U+1214F : 0x11111111 */ + 1, /* U+12150 - U+12157 : 0x11111111 */ + 1, /* U+12158 - U+1215F : 0x11111111 */ + 1, /* U+12160 - U+12167 : 0x11111111 */ + 1, /* U+12168 - U+1216F : 0x11111111 */ + 1, /* U+12170 - U+12177 : 0x11111111 */ + 1, /* U+12178 - U+1217F : 0x11111111 */ + 1, /* U+12180 - U+12187 : 0x11111111 */ + 1, /* U+12188 - U+1218F : 0x11111111 */ + 1, /* U+12190 - U+12197 : 0x11111111 */ + 1, /* U+12198 - U+1219F : 0x11111111 */ + 1, /* U+121A0 - U+121A7 : 0x11111111 */ + 1, /* U+121A8 - U+121AF : 0x11111111 */ + 1, /* U+121B0 - U+121B7 : 0x11111111 */ + 1, /* U+121B8 - U+121BF : 0x11111111 */ + 1, /* U+121C0 - U+121C7 : 0x11111111 */ + 1, /* U+121C8 - U+121CF : 0x11111111 */ + 1, /* U+121D0 - U+121D7 : 0x11111111 */ + 1, /* U+121D8 - U+121DF : 0x11111111 */ + 1, /* U+121E0 - U+121E7 : 0x11111111 */ + 1, /* U+121E8 - U+121EF : 0x11111111 */ + 1, /* U+121F0 - U+121F7 : 0x11111111 */ + 1, /* U+121F8 - U+121FF : 0x11111111 */ + 1, /* U+12200 - U+12207 : 0x11111111 */ + 1, /* U+12208 - U+1220F : 0x11111111 */ + 1, /* U+12210 - U+12217 : 0x11111111 */ + 1, /* U+12218 - U+1221F : 0x11111111 */ + 1, /* U+12220 - U+12227 : 0x11111111 */ + 1, /* U+12228 - U+1222F : 0x11111111 */ + 1, /* U+12230 - U+12237 : 0x11111111 */ + 1, /* U+12238 - U+1223F : 0x11111111 */ + 1, /* U+12240 - U+12247 : 0x11111111 */ + 1, /* U+12248 - U+1224F : 0x11111111 */ + 1, /* U+12250 - U+12257 : 0x11111111 */ + 1, /* U+12258 - U+1225F : 0x11111111 */ + 1, /* U+12260 - U+12267 : 0x11111111 */ + 1, /* U+12268 - U+1226F : 0x11111111 */ + 1, /* U+12270 - U+12277 : 0x11111111 */ + 1, /* U+12278 - U+1227F : 0x11111111 */ + 1, /* U+12280 - U+12287 : 0x11111111 */ + 1, /* U+12288 - U+1228F : 0x11111111 */ + 1, /* U+12290 - U+12297 : 0x11111111 */ + 1, /* U+12298 - U+1229F : 0x11111111 */ + 1, /* U+122A0 - U+122A7 : 0x11111111 */ + 1, /* U+122A8 - U+122AF : 0x11111111 */ + 1, /* U+122B0 - U+122B7 : 0x11111111 */ + 1, /* U+122B8 - U+122BF : 0x11111111 */ + 1, /* U+122C0 - U+122C7 : 0x11111111 */ + 1, /* U+122C8 - U+122CF : 0x11111111 */ + 1, /* U+122D0 - U+122D7 : 0x11111111 */ + 1, /* U+122D8 - U+122DF : 0x11111111 */ + 1, /* U+122E0 - U+122E7 : 0x11111111 */ + 1, /* U+122E8 - U+122EF : 0x11111111 */ + 1, /* U+122F0 - U+122F7 : 0x11111111 */ + 1, /* U+122F8 - U+122FF : 0x11111111 */ + 1, /* U+12300 - U+12307 : 0x11111111 */ + 1, /* U+12308 - U+1230F : 0x11111111 */ + 1, /* U+12310 - U+12317 : 0x11111111 */ + 1, /* U+12318 - U+1231F : 0x11111111 */ + 1, /* U+12320 - U+12327 : 0x11111111 */ + 1, /* U+12328 - U+1232F : 0x11111111 */ + 1, /* U+12330 - U+12337 : 0x11111111 */ + 1, /* U+12338 - U+1233F : 0x11111111 */ + 1, /* U+12340 - U+12347 : 0x11111111 */ + 1, /* U+12348 - U+1234F : 0x11111111 */ + 1, /* U+12350 - U+12357 : 0x11111111 */ + 1, /* U+12358 - U+1235F : 0x11111111 */ + 1, /* U+12360 - U+12367 : 0x11111111 */ + 1, /* U+12368 - U+1236F : 0x11111111 */ + 1, /* U+12370 - U+12377 : 0x11111111 */ + 1, /* U+12378 - U+1237F : 0x11111111 */ + 1, /* U+12380 - U+12387 : 0x11111111 */ + 1, /* U+12388 - U+1238F : 0x11111111 */ + 1, /* U+12390 - U+12397 : 0x11111111 */ + 1, /* U+12398 - U+1239F : 0x11111111 */ + 1, /* U+123A0 - U+123A7 : 0x11111111 */ + 1, /* U+123A8 - U+123AF : 0x11111111 */ + 1, /* U+123B0 - U+123B7 : 0x11111111 */ + 1, /* U+123B8 - U+123BF : 0x11111111 */ + 1, /* U+123C0 - U+123C7 : 0x11111111 */ + 1, /* U+123C8 - U+123CF : 0x11111111 */ + 1, /* U+123D0 - U+123D7 : 0x11111111 */ + 1, /* U+123D8 - U+123DF : 0x11111111 */ + 1, /* U+123E0 - U+123E7 : 0x11111111 */ + 1, /* U+123E8 - U+123EF : 0x11111111 */ + 1, /* U+123F0 - U+123F7 : 0x11111111 */ + 1, /* U+123F8 - U+123FF : 0x11111111 */ + 1, /* U+12400 - U+12407 : 0x11111111 */ + 1, /* U+12408 - U+1240F : 0x11111111 */ + 1, /* U+12410 - U+12417 : 0x11111111 */ + 1, /* U+12418 - U+1241F : 0x11111111 */ + 1, /* U+12420 - U+12427 : 0x11111111 */ + 1, /* U+12428 - U+1242F : 0x11111111 */ + 1, /* U+12430 - U+12437 : 0x11111111 */ + 1, /* U+12438 - U+1243F : 0x11111111 */ + 1, /* U+12440 - U+12447 : 0x11111111 */ + 1, /* U+12448 - U+1244F : 0x11111111 */ + 1, /* U+12450 - U+12457 : 0x11111111 */ + 1, /* U+12458 - U+1245F : 0x11111111 */ + 1, /* U+12460 - U+12467 : 0x11111111 */ + 1, /* U+12468 - U+1246F : 0x11111111 */ + 1, /* U+12470 - U+12477 : 0x11111111 */ + 1, /* U+12478 - U+1247F : 0x11111111 */ +}; + +static PRUint8 gBidiCatIdx13[256] = { 1, /* U+1D000 - U+1D007 : 0x11111111 */ 1, /* U+1D008 - U+1D00F : 0x11111111 */ 1, /* U+1D010 - U+1D017 : 0x11111111 */ @@ -2221,16 +2490,16 @@ static PRUint8 gBidiCatIdx12[256] = { 1, /* U+1D148 - U+1D14F : 0x11111111 */ 1, /* U+1D150 - U+1D157 : 0x11111111 */ 1, /* U+1D158 - U+1D15F : 0x11111111 */ - 84, /* U+1D160 - U+1D167 : 0xA1111111 */ + 87, /* U+1D160 - U+1D167 : 0xA1111111 */ 38, /* U+1D168 - U+1D16F : 0x111111AA */ - 160, /* U+1D170 - U+1D177 : 0xBBBBB111 */ - 161, /* U+1D178 - U+1D17F : 0xAAAAABBB */ - 162, /* U+1D180 - U+1D187 : 0xAAA11AAA */ - 98, /* U+1D188 - U+1D18F : 0x1111AAAA */ + 168, /* U+1D170 - U+1D177 : 0xBBBBB111 */ + 169, /* U+1D178 - U+1D17F : 0xAAAAABBB */ + 170, /* U+1D180 - U+1D187 : 0xAAA11AAA */ + 101, /* U+1D188 - U+1D18F : 0x1111AAAA */ 1, /* U+1D190 - U+1D197 : 0x11111111 */ 1, /* U+1D198 - U+1D19F : 0x11111111 */ 1, /* U+1D1A0 - U+1D1A7 : 0x11111111 */ - 163, /* U+1D1A8 - U+1D1AF : 0x11AAAA11 */ + 171, /* U+1D1A8 - U+1D1AF : 0x11AAAA11 */ 1, /* U+1D1B0 - U+1D1B7 : 0x11111111 */ 1, /* U+1D1B8 - U+1D1BF : 0x11111111 */ 1, /* U+1D1C0 - U+1D1C7 : 0x11111111 */ @@ -2249,7 +2518,7 @@ static PRUint8 gBidiCatIdx12[256] = { 9, /* U+1D228 - U+1D22F : 0x99999999 */ 9, /* U+1D230 - U+1D237 : 0x99999999 */ 9, /* U+1D238 - U+1D23F : 0x99999999 */ - 164, /* U+1D240 - U+1D247 : 0x119AAA99 */ + 172, /* U+1D240 - U+1D247 : 0x119AAA99 */ 1, /* U+1D248 - U+1D24F : 0x11111111 */ 1, /* U+1D250 - U+1D257 : 0x11111111 */ 1, /* U+1D258 - U+1D25F : 0x11111111 */ @@ -2283,7 +2552,7 @@ static PRUint8 gBidiCatIdx12[256] = { 9, /* U+1D338 - U+1D33F : 0x99999999 */ 9, /* U+1D340 - U+1D347 : 0x99999999 */ 9, /* U+1D348 - U+1D34F : 0x99999999 */ - 128, /* U+1D350 - U+1D357 : 0x19999999 */ + 134, /* U+1D350 - U+1D357 : 0x19999999 */ 1, /* U+1D358 - U+1D35F : 0x11111111 */ 1, /* U+1D360 - U+1D367 : 0x11111111 */ 1, /* U+1D368 - U+1D36F : 0x11111111 */ @@ -2426,7 +2695,7 @@ static PRUint8 gBidiCatIdx12[256] = { 1, /* U+1D7B0 - U+1D7B7 : 0x11111111 */ 1, /* U+1D7B8 - U+1D7BF : 0x11111111 */ 1, /* U+1D7C0 - U+1D7C7 : 0x11111111 */ - 165, /* U+1D7C8 - U+1D7CF : 0x55111111 */ + 173, /* U+1D7C8 - U+1D7CF : 0x55111111 */ 5, /* U+1D7D0 - U+1D7D7 : 0x55555555 */ 5, /* U+1D7D8 - U+1D7DF : 0x55555555 */ 5, /* U+1D7E0 - U+1D7E7 : 0x55555555 */ @@ -2435,7 +2704,7 @@ static PRUint8 gBidiCatIdx12[256] = { 5, /* U+1D7F8 - U+1D7FF : 0x55555555 */ }; -static PRUint8 gBidiCatIdx13[68] = { +static PRUint8 gBidiCatIdx14[68] = { 1, /* U+2F800 - U+2F807 : 0x11111111 */ 1, /* U+2F808 - U+2F80F : 0x11111111 */ 1, /* U+2F810 - U+2F817 : 0x11111111 */ @@ -2506,8 +2775,8 @@ static PRUint8 gBidiCatIdx13[68] = { 1, /* U+2FA18 - U+2FA1F : 0x11111111 */ }; -static PRUint8 gBidiCatIdx14[64] = { - 166, /* U+E0000 - U+E0007 : 0x111111B1 */ +static PRUint8 gBidiCatIdx15[64] = { + 174, /* U+E0000 - U+E0007 : 0x111111B1 */ 1, /* U+E0008 - U+E000F : 0x11111111 */ 1, /* U+E0010 - U+E0017 : 0x11111111 */ 1, /* U+E0018 - U+E001F : 0x11111111 */ @@ -2573,7 +2842,7 @@ static PRUint8 gBidiCatIdx14[64] = { 1, /* U+E01F8 - U+E01FF : 0x11111111 */ }; -static PRUint32 gBidiCatPat[167] = { +static PRUint32 gBidiCatPat[175] = { 0x00000000, /* 0 */ 0x11111111, /* 1 */ 0x22222222, /* 2 */ @@ -2615,7 +2884,7 @@ static PRUint32 gBidiCatPat[167] = { 0x111111AA, /* 38 */ 0x11111911, /* 39 */ 0xAAAAAAA2, /* 40 */ - 0xA2AAA2AA, /* 41 */ + 0xA2AAAAAA, /* 41 */ 0xA2AA2AA2, /* 42 */ 0x99383333, /* 43 */ 0x33AAAAAA, /* 44 */ @@ -2631,116 +2900,124 @@ static PRUint32 gBidiCatPat[167] = { 0xB3333333, /* 54 */ 0x333333A3, /* 55 */ 0x33333AAA, /* 56 */ - 0x11111AA1, /* 57 */ - 0x111A1111, /* 58 */ - 0xAAAAAAA1, /* 59 */ - 0x11A1111A, /* 60 */ - 0x111AAAA1, /* 61 */ - 0x1111AA11, /* 62 */ - 0x111111A1, /* 63 */ - 0x11A11111, /* 64 */ - 0x11117711, /* 65 */ - 0xA1111AA1, /* 66 */ - 0x11AAA11A, /* 67 */ - 0xA1AAAAA1, /* 68 */ - 0x11111171, /* 69 */ - 0xA11A1111, /* 70 */ - 0x1111AAA1, /* 71 */ - 0x1A111111, /* 72 */ - 0x11111A11, /* 73 */ - 0x1111111A, /* 74 */ - 0x11111979, /* 75 */ - 0xAA111111, /* 76 */ - 0xAA11111A, /* 77 */ - 0x11AAAA1A, /* 78 */ - 0x1AA11111, /* 79 */ - 0x11AA1111, /* 80 */ - 0x1A1AAA11, /* 81 */ - 0xAAAA11A1, /* 82 */ - 0x71111AAA, /* 83 */ - 0xA1111111, /* 84 */ - 0x1AAAAAAA, /* 85 */ - 0x111AA1AA, /* 86 */ - 0x11AAAAAA, /* 87 */ - 0xA1A11111, /* 88 */ - 0x119999A1, /* 89 */ - 0xAA1AAAAA, /* 90 */ - 0x111AAAAA, /* 91 */ - 0xAAA11111, /* 92 */ - 0xAA111A1A, /* 93 */ - 0x11111199, /* 94 */ - 0x1111111E, /* 95 */ - 0x11199111, /* 96 */ - 0x111AAA11, /* 97 */ - 0x1111AAAA, /* 98 */ - 0x11A17111, /* 99 */ - 0x1EAAA999, /* 100 */ - 0xA1111AAA, /* 101 */ - 0x11991119, /* 102 */ - 0x99111111, /* 103 */ - 0x91911111, /* 104 */ - 0x19911111, /* 105 */ - 0x21BBBEEE, /* 106 */ - 0x8FFFFFCE, /* 107 */ - 0x99977777, /* 108 */ - 0x99989999, /* 109 */ - 0xE9999999, /* 110 */ - 0x1111BBBB, /* 111 */ - 0xBBBBBB11, /* 112 */ - 0x55551115, /* 113 */ - 0x19996655, /* 114 */ - 0x11777777, /* 115 */ - 0x19999199, /* 116 */ - 0x99191111, /* 117 */ - 0x99111119, /* 118 */ - 0x91919999, /* 119 */ - 0x17111191, /* 120 */ - 0x11119911, /* 121 */ - 0x11199999, /* 122 */ - 0x11199911, /* 123 */ - 0x99997699, /* 124 */ - 0x11999999, /* 125 */ - 0x99199999, /* 126 */ - 0x11119999, /* 127 */ - 0x19999999, /* 128 */ - 0x11111999, /* 129 */ - 0x11115555, /* 130 */ - 0x99919999, /* 131 */ - 0x99199991, /* 132 */ - 0x99991199, /* 133 */ - 0x99999991, /* 134 */ - 0x19111999, /* 135 */ - 0x99999199, /* 136 */ - 0x1119999E, /* 137 */ - 0xAAAAAA11, /* 138 */ - 0x11199AA1, /* 139 */ - 0x11119111, /* 140 */ - 0x19991111, /* 141 */ - 0x99991111, /* 142 */ - 0x1A111A11, /* 143 */ - 0x1111A111, /* 144 */ - 0x2A211111, /* 145 */ - 0x22222262, /* 146 */ - 0x99333333, /* 147 */ - 0x33933333, /* 148 */ - 0x99891898, /* 149 */ - 0x79999999, /* 150 */ - 0x19996699, /* 151 */ - 0x11119779, /* 152 */ - 0x99777991, /* 153 */ - 0x17799977, /* 154 */ - 0x11999991, /* 155 */ - 0x11111191, /* 156 */ - 0x2AA2AAA2, /* 157 */ - 0xAAAA2222, /* 158 */ - 0xA2222AAA, /* 159 */ - 0xBBBBB111, /* 160 */ - 0xAAAAABBB, /* 161 */ - 0xAAA11AAA, /* 162 */ - 0x11AAAA11, /* 163 */ - 0x119AAA99, /* 164 */ - 0x55111111, /* 165 */ - 0x111111B1, /* 166 */ + 0xAAAAA222, /* 57 */ + 0x9922AAAA, /* 58 */ + 0x22222299, /* 59 */ + 0x11111AA1, /* 60 */ + 0x111A1111, /* 61 */ + 0xAAAAAAA1, /* 62 */ + 0x11A1111A, /* 63 */ + 0x111AAAA1, /* 64 */ + 0x1111AA11, /* 65 */ + 0x111111A1, /* 66 */ + 0x11A11111, /* 67 */ + 0x11117711, /* 68 */ + 0xA1111AA1, /* 69 */ + 0x11AAA11A, /* 70 */ + 0xA1AAAAA1, /* 71 */ + 0x11111171, /* 72 */ + 0xA11A1111, /* 73 */ + 0x1111AAA1, /* 74 */ + 0x1A111111, /* 75 */ + 0x11111A11, /* 76 */ + 0x1111111A, /* 77 */ + 0x11111979, /* 78 */ + 0xAA111111, /* 79 */ + 0xAA11111A, /* 80 */ + 0x11AAAA1A, /* 81 */ + 0x1AA11111, /* 82 */ + 0x11AA1111, /* 83 */ + 0x1A1AAA11, /* 84 */ + 0xAAAA11A1, /* 85 */ + 0x71111AAA, /* 86 */ + 0xA1111111, /* 87 */ + 0x1AAAAAAA, /* 88 */ + 0x111AA1AA, /* 89 */ + 0x11AAAAAA, /* 90 */ + 0xA1A11111, /* 91 */ + 0x119999A1, /* 92 */ + 0xAA1AAAAA, /* 93 */ + 0x111AAAAA, /* 94 */ + 0xAAA11111, /* 95 */ + 0xAA111A1A, /* 96 */ + 0x11111199, /* 97 */ + 0x1111111E, /* 98 */ + 0x11199111, /* 99 */ + 0x111AAA11, /* 100 */ + 0x1111AAAA, /* 101 */ + 0x11A17111, /* 102 */ + 0x1EAAA999, /* 103 */ + 0xA1111AAA, /* 104 */ + 0x11991119, /* 105 */ + 0x99111111, /* 106 */ + 0xAA1A1111, /* 107 */ + 0x111A1AAA, /* 108 */ + 0xAAAAA111, /* 109 */ + 0x11111AAA, /* 110 */ + 0x91911111, /* 111 */ + 0x19911111, /* 112 */ + 0x21BBBEEE, /* 113 */ + 0x8FFFFFCE, /* 114 */ + 0x99977777, /* 115 */ + 0x99989999, /* 116 */ + 0xE9999999, /* 117 */ + 0x1111BBBB, /* 118 */ + 0xBBBBBB11, /* 119 */ + 0x55551115, /* 120 */ + 0x19996655, /* 121 */ + 0x11777777, /* 122 */ + 0x19999199, /* 123 */ + 0x99191111, /* 124 */ + 0x99111119, /* 125 */ + 0x91919999, /* 126 */ + 0x17111191, /* 127 */ + 0x11119911, /* 128 */ + 0x11199999, /* 129 */ + 0x11999911, /* 130 */ + 0x99997699, /* 131 */ + 0x11999999, /* 132 */ + 0x99199999, /* 133 */ + 0x19999999, /* 134 */ + 0x11111999, /* 135 */ + 0x11115555, /* 136 */ + 0x99919999, /* 137 */ + 0x99199991, /* 138 */ + 0x99991199, /* 139 */ + 0x99999991, /* 140 */ + 0x19111999, /* 141 */ + 0x11119999, /* 142 */ + 0x99999199, /* 143 */ + 0x1119999E, /* 144 */ + 0xAAAAAA11, /* 145 */ + 0x11199AA1, /* 146 */ + 0x11119111, /* 147 */ + 0x19991111, /* 148 */ + 0x99991111, /* 149 */ + 0x1A111A11, /* 150 */ + 0x1111A111, /* 151 */ + 0x2A211111, /* 152 */ + 0x22222262, /* 153 */ + 0x99333333, /* 154 */ + 0x33933333, /* 155 */ + 0x99891898, /* 156 */ + 0x79999999, /* 157 */ + 0x19996699, /* 158 */ + 0x11119779, /* 159 */ + 0x99777991, /* 160 */ + 0x17799977, /* 161 */ + 0x11999991, /* 162 */ + 0x11111191, /* 163 */ + 0x92222222, /* 164 */ + 0x2AA2AAA2, /* 165 */ + 0xAAAA2222, /* 166 */ + 0xA2222AAA, /* 167 */ + 0xBBBBB111, /* 168 */ + 0xAAAAABBB, /* 169 */ + 0xAAA11AAA, /* 170 */ + 0x11AAAA11, /* 171 */ + 0x119AAA99, /* 172 */ + 0x55111111, /* 173 */ + 0x111111B1, /* 174 */ }; static eBidiCategory GetBidiCat(PRUint32 u) @@ -2755,8 +3032,8 @@ static eBidiCategory GetBidiCat(PRUint32 u) patidx = gBidiCatIdx1 [( u >> 3 )]; } - /* Handle U+0900 to U+1A1F */ - else if ((((PRUint32)0x0900)<=u)&&(u<=((PRUint32)0x1A1F))) { + /* Handle U+0900 to U+1B7F */ + else if ((((PRUint32)0x0900)<=u)&&(u<=((PRUint32)0x1B7F))) { patidx = gBidiCatIdx2 [( (u -(PRUint32) 0x0900) >> 3 )]; } @@ -2775,29 +3052,29 @@ static eBidiCategory GetBidiCat(PRUint32 u) patidx = gBidiCatIdx5 [( (u -(PRUint32) 0x4DC0) >> 3 )]; } - /* Handle U+A000 to U+A4FF */ - else if ((((PRUint32)0xA000)<=u)&&(u<=((PRUint32)0xA4FF))) { + /* Handle U+A000 to U+A87F */ + else if ((((PRUint32)0xA000)<=u)&&(u<=((PRUint32)0xA87F))) { patidx = gBidiCatIdx6 [( (u -(PRUint32) 0xA000) >> 3 )]; } - /* Handle U+A700 to U+A82F */ - else if ((((PRUint32)0xA700)<=u)&&(u<=((PRUint32)0xA82F))) { - patidx = gBidiCatIdx7 [( (u -(PRUint32) 0xA700) >> 3 )]; - } - /* Handle U+F900 to U+1018F */ else if ((((PRUint32)0xF900)<=u)&&(u<=((PRUint32)0x1018F))) { - patidx = gBidiCatIdx8 [( (u -(PRUint32) 0xF900) >> 3 )]; + patidx = gBidiCatIdx7 [( (u -(PRUint32) 0xF900) >> 3 )]; } /* Handle U+10300 to U+104FF */ else if ((((PRUint32)0x10300)<=u)&&(u<=((PRUint32)0x104FF))) { - patidx = gBidiCatIdx9 [( (u -(PRUint32) 0x10300) >> 3 )]; + patidx = gBidiCatIdx8 [( (u -(PRUint32) 0x10300) >> 3 )]; } /* Handle U+10800 to U+1083F */ else if ((((PRUint32)0x10800)<=u)&&(u<=((PRUint32)0x1083F))) { - patidx = gBidiCatIdx10 [( (u -(PRUint32) 0x10800) >> 3 )]; + patidx = gBidiCatIdx9 [( (u -(PRUint32) 0x10800) >> 3 )]; + } + + /* Handle U+10900 to U+1091F */ + else if ((((PRUint32)0x10900)<=u)&&(u<=((PRUint32)0x1091F))) { + patidx = gBidiCatIdx10 [( (u -(PRUint32) 0x10900) >> 3 )]; } /* Handle U+10A00 to U+10A5F */ @@ -2805,23 +3082,42 @@ static eBidiCategory GetBidiCat(PRUint32 u) patidx = gBidiCatIdx11 [( (u -(PRUint32) 0x10A00) >> 3 )]; } + /* Handle U+12000 to U+1247F */ + else if ((((PRUint32)0x12000)<=u)&&(u<=((PRUint32)0x1247F))) { + patidx = gBidiCatIdx12 [( (u -(PRUint32) 0x12000) >> 3 )]; + } + /* Handle U+1D000 to U+1D7FF */ else if ((((PRUint32)0x1D000)<=u)&&(u<=((PRUint32)0x1D7FF))) { - patidx = gBidiCatIdx12 [( (u -(PRUint32) 0x1D000) >> 3 )]; + patidx = gBidiCatIdx13 [( (u -(PRUint32) 0x1D000) >> 3 )]; } /* Handle U+2F800 to U+2FA1F */ else if ((((PRUint32)0x2F800)<=u)&&(u<=((PRUint32)0x2FA1F))) { - patidx = gBidiCatIdx13 [( (u -(PRUint32) 0x2F800) >> 3 )]; + patidx = gBidiCatIdx14 [( (u -(PRUint32) 0x2F800) >> 3 )]; } /* Handle U+E0000 to U+E01FF */ else if ((((PRUint32)0xE0000)<=u)&&(u<=((PRUint32)0xE01FF))) { - patidx = gBidiCatIdx14 [( (u -(PRUint32) 0xE0000) >> 3 )]; + patidx = gBidiCatIdx15 [( (u -(PRUint32) 0xE0000) >> 3 )]; } else { - return eBidiCat_L; /* UNDEFINE = L */ + /* defaults for unassigned characters + * see http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt + * and http://www.unicode.org/Public/UNIDATA/Blocks.txt + */ + if (((u >= 0x0590) && (u <= 0x05FF)) || + ((u >= 0x07C0) && (u <= 0x08FF)) || + ((u >= 0xFB1D) && (u <= 0xFB4F)) || + ((u >= 0x10800) && (u <=0x10FFF))) + return eBidiCat_R; + else if (((u >= 0x0600) && (u <= 0x07BF)) || + ((u >= 0xFB50) && (u <= 0xFDFF)) || + ((u >= 0xFE70) && (u <= 0xFEFE))) + return eBidiCat_AL; + else + return eBidiCat_L; } if (patidx < 0x10) @@ -2832,4 +3128,4 @@ static eBidiCategory GetBidiCat(PRUint32 u) } } -/* total data size = 3156 */ +/* total data size = 3454 */ diff --git a/intl/unicharutil/util/genbidicattable.pl b/intl/unicharutil/util/genbidicattable.pl index 2c71477124b8..51dd155b20b3 100644 --- a/intl/unicharutil/util/genbidicattable.pl +++ b/intl/unicharutil/util/genbidicattable.pl @@ -194,16 +194,17 @@ while() { @range = ( 0x0000, 0x07ff, - 0x0900, 0x1a1f, + 0x0900, 0x1b7f, 0x1d00, 0x2ddf, 0x2e00, 0x33ff, 0x4dc0, 0x4dff, - 0xa000, 0xa4ff, - 0xa700, 0xa82f, + 0xa000, 0xa87f, 0xf900, 0x1018f, 0x10300, 0x104ff, 0x10800, 0x1083f, + 0x10900, 0x1091f, 0x10a00, 0x10a5f, + 0x12000, 0x1247f, 0x1d000, 0x1d7ff, 0x2f800, 0x2fa1f, 0xe0000, 0xe01ff @@ -240,7 +241,8 @@ for($t = 1; $t <= $tt; $t++) for($j = 0; $j < 8 ; $j++) { #defaults for unassigned characters - #see http://www.unicode.org/Public/UNIDATA/UCD.html#Bidi_Class + #see http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt + #and http://www.unicode.org/Public/UNIDATA/Blocks.txt $test = ($i << 3) + $j; if ((($test >= 0x0590) && ($test <= 0x5FF)) || (($test >= 0x07C0) && ($test <= 0x8FF)) || @@ -249,8 +251,7 @@ for($t = 1; $t <= $tt; $t++) { $default = $map{"R"}; } elsif ((($test >= 0x0600) && ($test <= 0x7BF)) || - (($test >= 0xFB50) && ($test <= 0xFDCF)) || - (($test >= 0xFDF0) && ($test <= 0xFDFF)) || + (($test >= 0xFB50) && ($test <= 0xFDFF)) || (($test >= 0xFE70) && ($test <= 0xFEFE))) { $default = $map{"AL"}; @@ -365,7 +366,21 @@ for($t = 1; $t <= $tt; $t++) printf OUT " }\n\n"; } printf OUT " else {\n"; -printf OUT " return eBidiCat_L; /* UNDEFINE = L */\n"; +printf OUT " /* defaults for unassigned characters\n"; +printf OUT " * see http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt\n"; +printf OUT " * and http://www.unicode.org/Public/UNIDATA/Blocks.txt\n"; +printf OUT " */\n"; +printf OUT " if (((u >= 0x0590) && (u <= 0x05FF)) ||\n"; +printf OUT " ((u >= 0x07C0) && (u <= 0x08FF)) ||\n"; +printf OUT " ((u >= 0xFB1D) && (u <= 0xFB4F)) ||\n"; +printf OUT " ((u >= 0x10800) && (u <=0x10FFF)))\n"; +printf OUT " return eBidiCat_R;\n"; +printf OUT " else if (((u >= 0x0600) && (u <= 0x07BF)) ||\n"; +printf OUT " ((u >= 0xFB50) && (u <= 0xFDFF)) ||\n"; +printf OUT " ((u >= 0xFE70) && (u <= 0xFEFE)))\n"; +printf OUT " return eBidiCat_AL;\n"; +printf OUT " else\n"; +printf OUT " return eBidiCat_L;\n"; printf OUT " }\n\n"; printf OUT " if (patidx < 0x10)\n"; diff --git a/intl/unicharutil/util/symmtable.h b/intl/unicharutil/util/symmtable.h index 2cbeab0c942c..456d8f078420 100644 --- a/intl/unicharutil/util/symmtable.h +++ b/intl/unicharutil/util/symmtable.h @@ -44,10 +44,10 @@ /* Indexes to symmtable by Unicode block */ const static PRUint8 symmtable_index[256] = { /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ -/* 0_ */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 1_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* 2_ */ 2, 0, 3, 4, 0, 0, 0, 5, 0, 6, 7, 0, 0, 0, 8, 0, -/* 3_ */ 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 0_ */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, +/* 1_ */ 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, +/* 2_ */ 4, 0, 5, 6, 0, 0, 0, 7, 0, 8, 9, 0, 0, 0, 10, 0, +/* 3_ */ 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -59,9 +59,9 @@ const static PRUint8 symmtable_index[256] = { /* C_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* D_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -/* F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, +/* F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 13, }; -const static PRUint16 symmtable[10] [256] = { +const static PRUint16 symmtable[13] [256] = { { /* Block U00__ */ /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ @@ -83,10 +83,50 @@ const static PRUint16 symmtable[10] [256] = { /* F_ */ 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff }, { +/* Block U0F__ */ +/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ +/* 0_ */ 0xf00, 0xf01, 0xf02, 0xf03, 0xf04, 0xf05, 0xf06, 0xf07, 0xf08, 0xf09, 0xf0a, 0xf0b, 0xf0c, 0xf0d, 0xf0e, 0xf0f, +/* 1_ */ 0xf10, 0xf11, 0xf12, 0xf13, 0xf14, 0xf15, 0xf16, 0xf17, 0xf18, 0xf19, 0xf1a, 0xf1b, 0xf1c, 0xf1d, 0xf1e, 0xf1f, +/* 2_ */ 0xf20, 0xf21, 0xf22, 0xf23, 0xf24, 0xf25, 0xf26, 0xf27, 0xf28, 0xf29, 0xf2a, 0xf2b, 0xf2c, 0xf2d, 0xf2e, 0xf2f, +/* 3_ */ 0xf30, 0xf31, 0xf32, 0xf33, 0xf34, 0xf35, 0xf36, 0xf37, 0xf38, 0xf39, 0xf3b, 0xf3a, 0xf3d, 0xf3c, 0xf3e, 0xf3f, +/* 4_ */ 0xf40, 0xf41, 0xf42, 0xf43, 0xf44, 0xf45, 0xf46, 0xf47, 0xf48, 0xf49, 0xf4a, 0xf4b, 0xf4c, 0xf4d, 0xf4e, 0xf4f, +/* 5_ */ 0xf50, 0xf51, 0xf52, 0xf53, 0xf54, 0xf55, 0xf56, 0xf57, 0xf58, 0xf59, 0xf5a, 0xf5b, 0xf5c, 0xf5d, 0xf5e, 0xf5f, +/* 6_ */ 0xf60, 0xf61, 0xf62, 0xf63, 0xf64, 0xf65, 0xf66, 0xf67, 0xf68, 0xf69, 0xf6a, 0xf6b, 0xf6c, 0xf6d, 0xf6e, 0xf6f, +/* 7_ */ 0xf70, 0xf71, 0xf72, 0xf73, 0xf74, 0xf75, 0xf76, 0xf77, 0xf78, 0xf79, 0xf7a, 0xf7b, 0xf7c, 0xf7d, 0xf7e, 0xf7f, +/* 8_ */ 0xf80, 0xf81, 0xf82, 0xf83, 0xf84, 0xf85, 0xf86, 0xf87, 0xf88, 0xf89, 0xf8a, 0xf8b, 0xf8c, 0xf8d, 0xf8e, 0xf8f, +/* 9_ */ 0xf90, 0xf91, 0xf92, 0xf93, 0xf94, 0xf95, 0xf96, 0xf97, 0xf98, 0xf99, 0xf9a, 0xf9b, 0xf9c, 0xf9d, 0xf9e, 0xf9f, +/* A_ */ 0xfa0, 0xfa1, 0xfa2, 0xfa3, 0xfa4, 0xfa5, 0xfa6, 0xfa7, 0xfa8, 0xfa9, 0xfaa, 0xfab, 0xfac, 0xfad, 0xfae, 0xfaf, +/* B_ */ 0xfb0, 0xfb1, 0xfb2, 0xfb3, 0xfb4, 0xfb5, 0xfb6, 0xfb7, 0xfb8, 0xfb9, 0xfba, 0xfbb, 0xfbc, 0xfbd, 0xfbe, 0xfbf, +/* C_ */ 0xfc0, 0xfc1, 0xfc2, 0xfc3, 0xfc4, 0xfc5, 0xfc6, 0xfc7, 0xfc8, 0xfc9, 0xfca, 0xfcb, 0xfcc, 0xfcd, 0xfce, 0xfcf, +/* D_ */ 0xfd0, 0xfd1, 0xfd2, 0xfd3, 0xfd4, 0xfd5, 0xfd6, 0xfd7, 0xfd8, 0xfd9, 0xfda, 0xfdb, 0xfdc, 0xfdd, 0xfde, 0xfdf, +/* E_ */ 0xfe0, 0xfe1, 0xfe2, 0xfe3, 0xfe4, 0xfe5, 0xfe6, 0xfe7, 0xfe8, 0xfe9, 0xfea, 0xfeb, 0xfec, 0xfed, 0xfee, 0xfef, +/* F_ */ 0xff0, 0xff1, 0xff2, 0xff3, 0xff4, 0xff5, 0xff6, 0xff7, 0xff8, 0xff9, 0xffa, 0xffb, 0xffc, 0xffd, 0xffe, 0xfff + }, + { +/* Block U16__ */ +/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ +/* 0_ */ 0x1600, 0x1601, 0x1602, 0x1603, 0x1604, 0x1605, 0x1606, 0x1607, 0x1608, 0x1609, 0x160a, 0x160b, 0x160c, 0x160d, 0x160e, 0x160f, +/* 1_ */ 0x1610, 0x1611, 0x1612, 0x1613, 0x1614, 0x1615, 0x1616, 0x1617, 0x1618, 0x1619, 0x161a, 0x161b, 0x161c, 0x161d, 0x161e, 0x161f, +/* 2_ */ 0x1620, 0x1621, 0x1622, 0x1623, 0x1624, 0x1625, 0x1626, 0x1627, 0x1628, 0x1629, 0x162a, 0x162b, 0x162c, 0x162d, 0x162e, 0x162f, +/* 3_ */ 0x1630, 0x1631, 0x1632, 0x1633, 0x1634, 0x1635, 0x1636, 0x1637, 0x1638, 0x1639, 0x163a, 0x163b, 0x163c, 0x163d, 0x163e, 0x163f, +/* 4_ */ 0x1640, 0x1641, 0x1642, 0x1643, 0x1644, 0x1645, 0x1646, 0x1647, 0x1648, 0x1649, 0x164a, 0x164b, 0x164c, 0x164d, 0x164e, 0x164f, +/* 5_ */ 0x1650, 0x1651, 0x1652, 0x1653, 0x1654, 0x1655, 0x1656, 0x1657, 0x1658, 0x1659, 0x165a, 0x165b, 0x165c, 0x165d, 0x165e, 0x165f, +/* 6_ */ 0x1660, 0x1661, 0x1662, 0x1663, 0x1664, 0x1665, 0x1666, 0x1667, 0x1668, 0x1669, 0x166a, 0x166b, 0x166c, 0x166d, 0x166e, 0x166f, +/* 7_ */ 0x1670, 0x1671, 0x1672, 0x1673, 0x1674, 0x1675, 0x1676, 0x1677, 0x1678, 0x1679, 0x167a, 0x167b, 0x167c, 0x167d, 0x167e, 0x167f, +/* 8_ */ 0x1680, 0x1681, 0x1682, 0x1683, 0x1684, 0x1685, 0x1686, 0x1687, 0x1688, 0x1689, 0x168a, 0x168b, 0x168c, 0x168d, 0x168e, 0x168f, +/* 9_ */ 0x1690, 0x1691, 0x1692, 0x1693, 0x1694, 0x1695, 0x1696, 0x1697, 0x1698, 0x1699, 0x169a, 0x169c, 0x169b, 0x169d, 0x169e, 0x169f, +/* A_ */ 0x16a0, 0x16a1, 0x16a2, 0x16a3, 0x16a4, 0x16a5, 0x16a6, 0x16a7, 0x16a8, 0x16a9, 0x16aa, 0x16ab, 0x16ac, 0x16ad, 0x16ae, 0x16af, +/* B_ */ 0x16b0, 0x16b1, 0x16b2, 0x16b3, 0x16b4, 0x16b5, 0x16b6, 0x16b7, 0x16b8, 0x16b9, 0x16ba, 0x16bb, 0x16bc, 0x16bd, 0x16be, 0x16bf, +/* C_ */ 0x16c0, 0x16c1, 0x16c2, 0x16c3, 0x16c4, 0x16c5, 0x16c6, 0x16c7, 0x16c8, 0x16c9, 0x16ca, 0x16cb, 0x16cc, 0x16cd, 0x16ce, 0x16cf, +/* D_ */ 0x16d0, 0x16d1, 0x16d2, 0x16d3, 0x16d4, 0x16d5, 0x16d6, 0x16d7, 0x16d8, 0x16d9, 0x16da, 0x16db, 0x16dc, 0x16dd, 0x16de, 0x16df, +/* E_ */ 0x16e0, 0x16e1, 0x16e2, 0x16e3, 0x16e4, 0x16e5, 0x16e6, 0x16e7, 0x16e8, 0x16e9, 0x16ea, 0x16eb, 0x16ec, 0x16ed, 0x16ee, 0x16ef, +/* F_ */ 0x16f0, 0x16f1, 0x16f2, 0x16f3, 0x16f4, 0x16f5, 0x16f6, 0x16f7, 0x16f8, 0x16f9, 0x16fa, 0x16fb, 0x16fc, 0x16fd, 0x16fe, 0x16ff + }, + { /* Block U20__ */ /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ /* 0_ */ 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x200b, 0x200c, 0x200d, 0x200e, 0x200f, -/* 1_ */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018, 0x2019, 0x201a, 0x201b, 0x201c, 0x201d, 0x201e, 0x201f, +/* 1_ */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2019, 0x2018, 0x201a, 0x201b, 0x201d, 0x201c, 0x201e, 0x201f, /* 2_ */ 0x2020, 0x2021, 0x2022, 0x2023, 0x2024, 0x2025, 0x2026, 0x2027, 0x2028, 0x2029, 0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x202f, /* 3_ */ 0x2030, 0x2031, 0x2032, 0x2033, 0x2034, 0x2035, 0x2036, 0x2037, 0x2038, 0x203a, 0x2039, 0x203b, 0x203c, 0x203d, 0x203e, 0x203f, /* 4_ */ 0x2040, 0x2041, 0x2042, 0x2043, 0x2044, 0x2046, 0x2045, 0x2047, 0x2048, 0x2049, 0x204a, 0x204b, 0x204c, 0x204d, 0x204e, 0x204f, @@ -226,7 +266,7 @@ const static PRUint16 symmtable[10] [256] = { /* Block U30__ */ /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ /* 0_ */ 0x3000, 0x3001, 0x3002, 0x3003, 0x3004, 0x3005, 0x3006, 0x3007, 0x3009, 0x3008, 0x300b, 0x300a, 0x300d, 0x300c, 0x300f, 0x300e, -/* 1_ */ 0x3011, 0x3010, 0x3012, 0x3013, 0x3015, 0x3014, 0x3017, 0x3016, 0x3019, 0x3018, 0x301b, 0x301a, 0x301c, 0x301d, 0x301e, 0x301f, +/* 1_ */ 0x3011, 0x3010, 0x3012, 0x3013, 0x3015, 0x3014, 0x3017, 0x3016, 0x3019, 0x3018, 0x301b, 0x301a, 0x301c, 0x301e, 0x301d, 0x301f, /* 2_ */ 0x3020, 0x3021, 0x3022, 0x3023, 0x3024, 0x3025, 0x3026, 0x3027, 0x3028, 0x3029, 0x302a, 0x302b, 0x302c, 0x302d, 0x302e, 0x302f, /* 3_ */ 0x3030, 0x3031, 0x3032, 0x3033, 0x3034, 0x3035, 0x3036, 0x3037, 0x3038, 0x3039, 0x303a, 0x303b, 0x303c, 0x303d, 0x303e, 0x303f, /* 4_ */ 0x3040, 0x3041, 0x3042, 0x3043, 0x3044, 0x3045, 0x3046, 0x3047, 0x3048, 0x3049, 0x304a, 0x304b, 0x304c, 0x304d, 0x304e, 0x304f, @@ -243,6 +283,26 @@ const static PRUint16 symmtable[10] [256] = { /* F_ */ 0x30f0, 0x30f1, 0x30f2, 0x30f3, 0x30f4, 0x30f5, 0x30f6, 0x30f7, 0x30f8, 0x30f9, 0x30fa, 0x30fb, 0x30fc, 0x30fd, 0x30fe, 0x30ff }, { +/* Block UFE__ */ +/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ +/* 0_ */ 0xfe00, 0xfe01, 0xfe02, 0xfe03, 0xfe04, 0xfe05, 0xfe06, 0xfe07, 0xfe08, 0xfe09, 0xfe0a, 0xfe0b, 0xfe0c, 0xfe0d, 0xfe0e, 0xfe0f, +/* 1_ */ 0xfe10, 0xfe11, 0xfe12, 0xfe13, 0xfe14, 0xfe15, 0xfe16, 0xfe17, 0xfe18, 0xfe19, 0xfe1a, 0xfe1b, 0xfe1c, 0xfe1d, 0xfe1e, 0xfe1f, +/* 2_ */ 0xfe20, 0xfe21, 0xfe22, 0xfe23, 0xfe24, 0xfe25, 0xfe26, 0xfe27, 0xfe28, 0xfe29, 0xfe2a, 0xfe2b, 0xfe2c, 0xfe2d, 0xfe2e, 0xfe2f, +/* 3_ */ 0xfe30, 0xfe31, 0xfe32, 0xfe33, 0xfe34, 0xfe35, 0xfe36, 0xfe37, 0xfe38, 0xfe39, 0xfe3a, 0xfe3b, 0xfe3c, 0xfe3d, 0xfe3e, 0xfe3f, +/* 4_ */ 0xfe40, 0xfe41, 0xfe42, 0xfe43, 0xfe44, 0xfe45, 0xfe46, 0xfe47, 0xfe48, 0xfe49, 0xfe4a, 0xfe4b, 0xfe4c, 0xfe4d, 0xfe4e, 0xfe4f, +/* 5_ */ 0xfe50, 0xfe51, 0xfe52, 0xfe53, 0xfe54, 0xfe55, 0xfe56, 0xfe57, 0xfe58, 0xfe5a, 0xfe59, 0xfe5c, 0xfe5b, 0xfe5e, 0xfe5d, 0xfe5f, +/* 6_ */ 0xfe60, 0xfe61, 0xfe62, 0xfe63, 0xfe65, 0xfe64, 0xfe66, 0xfe67, 0xfe68, 0xfe69, 0xfe6a, 0xfe6b, 0xfe6c, 0xfe6d, 0xfe6e, 0xfe6f, +/* 7_ */ 0xfe70, 0xfe71, 0xfe72, 0xfe73, 0xfe74, 0xfe75, 0xfe76, 0xfe77, 0xfe78, 0xfe79, 0xfe7a, 0xfe7b, 0xfe7c, 0xfe7d, 0xfe7e, 0xfe7f, +/* 8_ */ 0xfe80, 0xfe81, 0xfe82, 0xfe83, 0xfe84, 0xfe85, 0xfe86, 0xfe87, 0xfe88, 0xfe89, 0xfe8a, 0xfe8b, 0xfe8c, 0xfe8d, 0xfe8e, 0xfe8f, +/* 9_ */ 0xfe90, 0xfe91, 0xfe92, 0xfe93, 0xfe94, 0xfe95, 0xfe96, 0xfe97, 0xfe98, 0xfe99, 0xfe9a, 0xfe9b, 0xfe9c, 0xfe9d, 0xfe9e, 0xfe9f, +/* A_ */ 0xfea0, 0xfea1, 0xfea2, 0xfea3, 0xfea4, 0xfea5, 0xfea6, 0xfea7, 0xfea8, 0xfea9, 0xfeaa, 0xfeab, 0xfeac, 0xfead, 0xfeae, 0xfeaf, +/* B_ */ 0xfeb0, 0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4, 0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8, 0xfeb9, 0xfeba, 0xfebb, 0xfebc, 0xfebd, 0xfebe, 0xfebf, +/* C_ */ 0xfec0, 0xfec1, 0xfec2, 0xfec3, 0xfec4, 0xfec5, 0xfec6, 0xfec7, 0xfec8, 0xfec9, 0xfeca, 0xfecb, 0xfecc, 0xfecd, 0xfece, 0xfecf, +/* D_ */ 0xfed0, 0xfed1, 0xfed2, 0xfed3, 0xfed4, 0xfed5, 0xfed6, 0xfed7, 0xfed8, 0xfed9, 0xfeda, 0xfedb, 0xfedc, 0xfedd, 0xfede, 0xfedf, +/* E_ */ 0xfee0, 0xfee1, 0xfee2, 0xfee3, 0xfee4, 0xfee5, 0xfee6, 0xfee7, 0xfee8, 0xfee9, 0xfeea, 0xfeeb, 0xfeec, 0xfeed, 0xfeee, 0xfeef, +/* F_ */ 0xfef0, 0xfef1, 0xfef2, 0xfef3, 0xfef4, 0xfef5, 0xfef6, 0xfef7, 0xfef8, 0xfef9, 0xfefa, 0xfefb, 0xfefc, 0xfefd, 0xfefe, 0xfeff + }, + { /* Block UFF__ */ /* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */ /* 0_ */ 0xff00, 0xff01, 0xff02, 0xff03, 0xff04, 0xff05, 0xff06, 0xff07, 0xff09, 0xff08, 0xff0a, 0xff0b, 0xff0c, 0xff0d, 0xff0e, 0xff0f,