bug 552460 - part 2 - Unicode data needed for Variation Sequence support. r=smontagu

This commit is contained in:
Masatoshi Kimura 2010-06-01 14:42:37 +01:00
parent c72c061ba6
commit fb26e95c9d
2 changed files with 83 additions and 5 deletions

View File

@ -3146,7 +3146,7 @@ static const PRUint8 gGenCatIdx16[256] = {
26, // U+01D7F8 - U+01D7FF : 0x22222222
};
static const PRUint8 gGenCatIdx17[64] = {
static const PRUint8 gGenCatIdx17[74] = {
29, // U+01F000 - U+01F007 : 0x77777777
29, // U+01F008 - U+01F00F : 0x77777777
29, // U+01F010 - U+01F017 : 0x77777777
@ -3211,6 +3211,68 @@ static const PRUint8 gGenCatIdx17[64] = {
3, // U+01F1E8 - U+01F1EF : 0x00000000
3, // U+01F1F0 - U+01F1F7 : 0x00000000
3, // U+01F1F8 - U+01F1FF : 0x00000000
30, // U+01F200 - U+01F207 : 0x00000007
3, // U+01F208 - U+01F20F : 0x00000000
29, // U+01F210 - U+01F217 : 0x77777777
29, // U+01F218 - U+01F21F : 0x77777777
29, // U+01F220 - U+01F227 : 0x77777777
29, // U+01F228 - U+01F22F : 0x77777777
65, // U+01F230 - U+01F237 : 0x00000077
3, // U+01F238 - U+01F23F : 0x00000000
29, // U+01F240 - U+01F247 : 0x77777777
30, // U+01F248 - U+01F24F : 0x00000007
};
static const PRUint8 gGenCatIdx18[16] = {
203, // U+0E0000 - U+0E0007 : 0x00000040
3, // U+0E0008 - U+0E000F : 0x00000000
3, // U+0E0010 - U+0E0017 : 0x00000000
3, // U+0E0018 - U+0E001F : 0x00000000
204, // U+0E0020 - U+0E0027 : 0x44444444
204, // U+0E0028 - U+0E002F : 0x44444444
204, // U+0E0030 - U+0E0037 : 0x44444444
204, // U+0E0038 - U+0E003F : 0x44444444
204, // U+0E0040 - U+0E0047 : 0x44444444
204, // U+0E0048 - U+0E004F : 0x44444444
204, // U+0E0050 - U+0E0057 : 0x44444444
204, // U+0E0058 - U+0E005F : 0x44444444
204, // U+0E0060 - U+0E0067 : 0x44444444
204, // U+0E0068 - U+0E006F : 0x44444444
204, // U+0E0070 - U+0E0077 : 0x44444444
204, // U+0E0078 - U+0E007F : 0x44444444
};
static const PRUint8 gGenCatIdx19[30] = {
1, // U+0E0100 - U+0E0107 : 0x11111111
1, // U+0E0108 - U+0E010F : 0x11111111
1, // U+0E0110 - U+0E0117 : 0x11111111
1, // U+0E0118 - U+0E011F : 0x11111111
1, // U+0E0120 - U+0E0127 : 0x11111111
1, // U+0E0128 - U+0E012F : 0x11111111
1, // U+0E0130 - U+0E0137 : 0x11111111
1, // U+0E0138 - U+0E013F : 0x11111111
1, // U+0E0140 - U+0E0147 : 0x11111111
1, // U+0E0148 - U+0E014F : 0x11111111
1, // U+0E0150 - U+0E0157 : 0x11111111
1, // U+0E0158 - U+0E015F : 0x11111111
1, // U+0E0160 - U+0E0167 : 0x11111111
1, // U+0E0168 - U+0E016F : 0x11111111
1, // U+0E0170 - U+0E0177 : 0x11111111
1, // U+0E0178 - U+0E017F : 0x11111111
1, // U+0E0180 - U+0E0187 : 0x11111111
1, // U+0E0188 - U+0E018F : 0x11111111
1, // U+0E0190 - U+0E0197 : 0x11111111
1, // U+0E0198 - U+0E019F : 0x11111111
1, // U+0E01A0 - U+0E01A7 : 0x11111111
1, // U+0E01A8 - U+0E01AF : 0x11111111
1, // U+0E01B0 - U+0E01B7 : 0x11111111
1, // U+0E01B8 - U+0E01BF : 0x11111111
1, // U+0E01C0 - U+0E01C7 : 0x11111111
1, // U+0E01C8 - U+0E01CF : 0x11111111
1, // U+0E01D0 - U+0E01D7 : 0x11111111
1, // U+0E01D8 - U+0E01DF : 0x11111111
1, // U+0E01E0 - U+0E01E7 : 0x11111111
1, // U+0E01E8 - U+0E01EF : 0x11111111
};
static const PRUint32 gGenCatPatPl0[] = {
@ -3625,6 +3687,8 @@ static const PRUint32 gGenCatPatPl1[] = {
0x70000000, // 200
0x70077070, // 201
0x00777700, // 202
0x00000040, // 203
0x44444444, // 204
};
static PRUint8 GetCat(PRUint32 u)
@ -3729,12 +3793,24 @@ static PRUint8 GetCat(PRUint32 u)
return (pat >> ((u % 8) * 4)) & 0x0F;
}
// Handle U+01F000 to U+01F1FF
if(0x01F000 <= u && u <= 0x01F1FF) {
// Handle U+01F000 to U+01F24F
if(0x01F000 <= u && u <= 0x01F24F) {
pat = gGenCatPatPl1[gGenCatIdx17 [( u - 0x01F000 ) / 8]];
return (pat >> ((u % 8) * 4)) & 0x0F;
}
// Handle U+0E0000 to U+0E007F
if(0x0E0000 <= u && u <= 0x0E007F) {
pat = gGenCatPatPl1[gGenCatIdx18 [( u - 0x0E0000 ) / 8]];
return (pat >> ((u % 8) * 4)) & 0x0F;
}
// Handle U+0E0100 to U+0E01EF
if(0x0E0100 <= u && u <= 0x0E01EF) {
pat = gGenCatPatPl1[gGenCatIdx19 [( u - 0x0E0100 ) / 8]];
return (pat >> ((u % 8) * 4)) & 0x0F;
}
//
// Handle blocks which share the same category
//
@ -3800,4 +3876,4 @@ static PRUint8 GetCat(PRUint32 u)
return 0; // UNDEFINE
}
// total data size = 4754
// total data size = 4818

View File

@ -241,7 +241,9 @@ $planeSplit = 0x1d00;
0x12000, 0x1247f,
0x13000, 0x1342f,
0x1d000, 0x1d7ff,
0x1f000, 0x1f1ff
0x1f000, 0x1f24f,
0xe0000, 0xe007f,
0xe0100, 0xe01ef
);