Update data files to Unicode 5.0

This commit is contained in:
smontagu%smontagu.org 2006-07-30 12:47:26 +00:00
parent 3f86b46158
commit 6e00ae7cdf
7 changed files with 2363 additions and 3226 deletions

View File

@ -63,7 +63,6 @@ static const PRUint16 gToUpper[] =
0x014b, ((0x2c << 8) | 0x02), 0xffff ,
0x017a, ((0x04 << 8) | 0x02), 0xffff ,
0x017f, ((0x00 << 8) | 0x00), 0xfed4 ,
0x0180, ((0x00 << 8) | 0x00), 0x00c3 ,
0x0183, ((0x02 << 8) | 0x02), 0xffff ,
0x0188, ((0x04 << 8) | 0x04), 0xffff ,
0x0192, ((0x00 << 8) | 0x00), 0xffff ,
@ -91,8 +90,7 @@ static const PRUint16 gToUpper[] =
0x01f5, ((0x04 << 8) | 0x04), 0xffff ,
0x01fb, ((0x24 << 8) | 0x02), 0xffff ,
0x0223, ((0x10 << 8) | 0x02), 0xffff ,
0x023c, ((0x06 << 8) | 0x06), 0xffff ,
0x0247, ((0x08 << 8) | 0x02), 0xffff ,
0x023c, ((0x00 << 8) | 0x00), 0xffff ,
0x0253, ((0x00 << 8) | 0x00), 0xff2e ,
0x0254, ((0x00 << 8) | 0x00), 0xff32 ,
0x0256, ((0x01 << 8) | 0x01), 0xff33 ,
@ -101,20 +99,15 @@ static const PRUint16 gToUpper[] =
0x0260, ((0x00 << 8) | 0x00), 0xff33 ,
0x0263, ((0x00 << 8) | 0x00), 0xff31 ,
0x0268, ((0x00 << 8) | 0x00), 0xff2f ,
0x0269, ((0x00 << 8) | 0x00), 0xff2d ,
0x026b, ((0x00 << 8) | 0x00), 0x29f7 ,
0x026f, ((0x00 << 8) | 0x00), 0xff2d ,
0x0269, ((0x06 << 8) | 0x06), 0xff2d ,
0x0272, ((0x00 << 8) | 0x00), 0xff2b ,
0x0275, ((0x00 << 8) | 0x00), 0xff2a ,
0x027d, ((0x00 << 8) | 0x00), 0x29e7 ,
0x0280, ((0x03 << 8) | 0x03), 0xff26 ,
0x0288, ((0x00 << 8) | 0x00), 0xff26 ,
0x0289, ((0x00 << 8) | 0x00), 0xffbb ,
0x028a, ((0x01 << 8) | 0x01), 0xff27 ,
0x028c, ((0x00 << 8) | 0x00), 0xffb9 ,
0x0292, ((0x00 << 8) | 0x00), 0xff25 ,
0x0294, ((0x00 << 8) | 0x00), 0xffad ,
0x0345, ((0x00 << 8) | 0x00), 0x0054 ,
0x037b, ((0x02 << 8) | 0x01), 0x0082 ,
0x03ac, ((0x00 << 8) | 0x00), 0xffda ,
0x03ad, ((0x02 << 8) | 0x01), 0xffdb ,
0x03b1, ((0x10 << 8) | 0x01), 0xffe0 ,
@ -137,10 +130,9 @@ static const PRUint16 gToUpper[] =
0x0461, ((0x20 << 8) | 0x02), 0xffff ,
0x048b, ((0x34 << 8) | 0x02), 0xffff ,
0x04c2, ((0x0c << 8) | 0x02), 0xffff ,
0x04cf, ((0x00 << 8) | 0x00), 0xfff1 ,
0x04d1, ((0x42 << 8) | 0x02), 0xffff ,
0x04d1, ((0x28 << 8) | 0x02), 0xffff ,
0x0501, ((0x0e << 8) | 0x02), 0xffff ,
0x0561, ((0x25 << 8) | 0x01), 0xffd0 ,
0x1d7d, ((0x00 << 8) | 0x00), 0x0ee6 ,
0x1e01, ((0x94 << 8) | 0x02), 0xffff ,
0x1e9b, ((0x00 << 8) | 0x00), 0xffc5 ,
0x1ea1, ((0x58 << 8) | 0x02), 0xffff ,
@ -168,22 +160,15 @@ static const PRUint16 gToUpper[] =
0x1fe0, ((0x01 << 8) | 0x01), 0x0008 ,
0x1fe5, ((0x00 << 8) | 0x00), 0x0007 ,
0x1ff3, ((0x00 << 8) | 0x00), 0x0009 ,
0x214e, ((0x00 << 8) | 0x00), 0xffe4 ,
0x2170, ((0x0f << 8) | 0x01), 0xfff0 ,
0x2184, ((0x00 << 8) | 0x00), 0xffff ,
0x24d0, ((0x19 << 8) | 0x01), 0xffe6 ,
0x2c30, ((0x2e << 8) | 0x01), 0xffd0 ,
0x2c61, ((0x00 << 8) | 0x00), 0xffff ,
0x2c65, ((0x00 << 8) | 0x00), 0xd5d5 ,
0x2c66, ((0x00 << 8) | 0x00), 0xd5d8 ,
0x2c68, ((0x04 << 8) | 0x02), 0xffff ,
0x2c76, ((0x0b << 8) | 0x0b), 0xffff ,
0x2c83, ((0x60 << 8) | 0x02), 0xffff ,
0x2c81, ((0x62 << 8) | 0x02), 0xffff ,
0x2d00, ((0x25 << 8) | 0x01), 0xe3a0 ,
0xff41, ((0x19 << 8) | 0x01), 0xffe0
};
static const PRUint32 gToUpperItems = 130;
static const PRUint32 gToUpperItems = 115;
static const PRUint16 gToLower[] =
{ /* From To Every Diff */
@ -240,15 +225,9 @@ static const PRUint16 gToLower[] =
0x01f8, ((0x26 << 8) | 0x02), 0x0001 ,
0x0220, ((0x00 << 8) | 0x00), 0xff7e ,
0x0222, ((0x10 << 8) | 0x02), 0x0001 ,
0x023a, ((0x00 << 8) | 0x00), 0x2a2b ,
0x023b, ((0x00 << 8) | 0x00), 0x0001 ,
0x023d, ((0x00 << 8) | 0x00), 0xff5d ,
0x023e, ((0x00 << 8) | 0x00), 0x2a28 ,
0x0241, ((0x00 << 8) | 0x00), 0x0001 ,
0x0243, ((0x00 << 8) | 0x00), 0xff3d ,
0x0244, ((0x00 << 8) | 0x00), 0x0045 ,
0x0245, ((0x00 << 8) | 0x00), 0x0047 ,
0x0246, ((0x08 << 8) | 0x02), 0x0001 ,
0x0241, ((0x00 << 8) | 0x00), 0x0053 ,
0x0386, ((0x00 << 8) | 0x00), 0x0026 ,
0x0388, ((0x02 << 8) | 0x01), 0x0025 ,
0x038c, ((0x00 << 8) | 0x00), 0x0040 ,
@ -260,14 +239,13 @@ static const PRUint16 gToLower[] =
0x03f7, ((0x00 << 8) | 0x00), 0x0001 ,
0x03f9, ((0x00 << 8) | 0x00), 0xfff9 ,
0x03fa, ((0x00 << 8) | 0x00), 0x0001 ,
0x03fd, ((0x02 << 8) | 0x01), 0xff7e ,
0x0400, ((0x0f << 8) | 0x01), 0x0050 ,
0x0410, ((0x1f << 8) | 0x01), 0x0020 ,
0x0460, ((0x20 << 8) | 0x02), 0x0001 ,
0x048a, ((0x34 << 8) | 0x02), 0x0001 ,
0x04c0, ((0x00 << 8) | 0x00), 0x000f ,
0x04c1, ((0x0c << 8) | 0x02), 0x0001 ,
0x04d0, ((0x42 << 8) | 0x02), 0x0001 ,
0x04d0, ((0x28 << 8) | 0x02), 0x0001 ,
0x0500, ((0x0e << 8) | 0x02), 0x0001 ,
0x0531, ((0x25 << 8) | 0x01), 0x0030 ,
0x10a0, ((0x25 << 8) | 0x01), 0x1c60 ,
0x1e00, ((0x94 << 8) | 0x02), 0x0001 ,
@ -298,25 +276,17 @@ static const PRUint16 gToLower[] =
0x2126, ((0x00 << 8) | 0x00), 0xe2a3 ,
0x212a, ((0x00 << 8) | 0x00), 0xdf41 ,
0x212b, ((0x00 << 8) | 0x00), 0xdfba ,
0x2132, ((0x00 << 8) | 0x00), 0x001c ,
0x2160, ((0x0f << 8) | 0x01), 0x0010 ,
0x2183, ((0x00 << 8) | 0x00), 0x0001 ,
0x24b6, ((0x19 << 8) | 0x01), 0x001a ,
0x2c00, ((0x2e << 8) | 0x01), 0x0030 ,
0x2c60, ((0x00 << 8) | 0x00), 0x0001 ,
0x2c62, ((0x00 << 8) | 0x00), 0xd609 ,
0x2c63, ((0x00 << 8) | 0x00), 0xf11a ,
0x2c64, ((0x00 << 8) | 0x00), 0xd619 ,
0x2c67, ((0x04 << 8) | 0x02), 0x0001 ,
0x2c75, ((0x0b << 8) | 0x0b), 0x0001 ,
0x2c82, ((0x60 << 8) | 0x02), 0x0001 ,
0x2c80, ((0x62 << 8) | 0x02), 0x0001 ,
0xff21, ((0x19 << 8) | 0x01), 0x0020
};
static const PRUint32 gToLowerItems = 124;
static const PRUint32 gToLowerItems = 109;
static const PRUint32 gCaseBlocks [8] = {
0xE001003F,
0xC001003F,
0x00003012,
0x00000000,
0x00000000,

File diff suppressed because it is too large Load Diff

View File

@ -391,16 +391,6 @@ entity.1782=6
entity.1783=7
entity.1784=8
entity.1785=9
entity.1984=0
entity.1985=1
entity.1986=2
entity.1987=3
entity.1988=4
entity.1989=5
entity.1990=6
entity.1991=7
entity.1992=8
entity.1993=9
entity.2406=0
entity.2407=1
entity.2408=2
@ -622,16 +612,6 @@ entity.6614=6
entity.6615=7
entity.6616=8
entity.6617=9
entity.6992=0
entity.6993=1
entity.6994=2
entity.6995=3
entity.6996=4
entity.6997=5
entity.6998=6
entity.6999=7
entity.7000=8
entity.7001=9
entity.7468=^(A)
entity.7470=^(B)
entity.7472=^(D)
@ -1521,7 +1501,6 @@ entity.66336=[1]
entity.66337=[5]
entity.66338=[10]
entity.66339=[50]
entity.66369=[90]
entity.66378=[900]
entity.66513=[1]
entity.66514=[2]
@ -1538,10 +1517,6 @@ entity.66726=6
entity.66727=7
entity.66728=8
entity.66729=9
entity.67862=[1]
entity.67863=[10]
entity.67864=[20]
entity.67865=[100]
entity.68160=[1]
entity.68161=[2]
entity.68162=[3]
@ -1550,119 +1525,6 @@ entity.68164=[10]
entity.68165=[20]
entity.68166=[100]
entity.68167=[1000]
entity.74752=[2]
entity.74753=[3]
entity.74754=[4]
entity.74755=[5]
entity.74756=[6]
entity.74757=[7]
entity.74758=[8]
entity.74759=[9]
entity.74760=[3]
entity.74761=[4]
entity.74762=[5]
entity.74763=[6]
entity.74764=[7]
entity.74765=[8]
entity.74766=[9]
entity.74767=[4]
entity.74768=[5]
entity.74769=[6]
entity.74770=[7]
entity.74771=[8]
entity.74772=[9]
entity.74773=[1]
entity.74774=[2]
entity.74775=[3]
entity.74776=[4]
entity.74777=[5]
entity.74778=[6]
entity.74779=[7]
entity.74780=[8]
entity.74781=[9]
entity.74782=[1]
entity.74783=[2]
entity.74784=[3]
entity.74785=[4]
entity.74786=[5]
entity.74787=[2]
entity.74788=[3]
entity.74789=[3]
entity.74790=[4]
entity.74791=[5]
entity.74792=[6]
entity.74793=[7]
entity.74794=[8]
entity.74795=[9]
entity.74796=[1]
entity.74797=[2]
entity.74798=[3]
entity.74799=[3]
entity.74800=[4]
entity.74801=[5]
entity.74804=[1]
entity.74805=[2]
entity.74806=[3]
entity.74807=[3]
entity.74808=[4]
entity.74809=[5]
entity.74810=[3]
entity.74811=[3]
entity.74812=[4]
entity.74813=[4]
entity.74814=[4]
entity.74815=[4]
entity.74816=[6]
entity.74817=[7]
entity.74818=[7]
entity.74819=[7]
entity.74820=[8]
entity.74821=[8]
entity.74822=[9]
entity.74823=[9]
entity.74824=[9]
entity.74825=[9]
entity.74826=[2]
entity.74827=[3]
entity.74828=[4]
entity.74829=[5]
entity.74830=[6]
entity.74831=[1]
entity.74832=[2]
entity.74833=[3]
entity.74834=[4]
entity.74835=[4]
entity.74836=[5]
entity.74837=[5]
entity.74840=[1]
entity.74841=[2]
entity.74842=[1/3]
entity.74843=[2/3]
entity.74844=[5/6]
entity.74845=[1/3]
entity.74846=[2/3]
entity.74847=[1/8]
entity.74848=[1/4]
entity.74849=[1/6]
entity.74850=[1/4]
entity.119648=[1]
entity.119649=[2]
entity.119650=[3]
entity.119651=[4]
entity.119652=[5]
entity.119653=[6]
entity.119654=[7]
entity.119655=[8]
entity.119656=[9]
entity.119657=[10]
entity.119658=[20]
entity.119659=[30]
entity.119660=[40]
entity.119661=[50]
entity.119662=[60]
entity.119663=[70]
entity.119664=[80]
entity.119665=[90]
entity.119808=A
entity.119809=B
entity.119810=C

View File

@ -218,24 +218,17 @@ $sh{$cjkcompkey} = $prevcjkcomp;
# }
# We treat characters < U+1D00 as "plane 0" and all the rest of planes 0 and 1
# as "plane 1". This gives a relatively even distribution of patterns between
# planes. If you change the value of $planeSplit, make sure that none of the
# ranges below straddles the new value!
$planeSplit = 0x1d00;
@range = (
0x0000, 0x07ff,
0x0900, 0x1b7f,
0x0900, 0x1a1f,
0x1d00, 0x33ff,
0x4dc0, 0x4dff,
0xa000, 0xa87f,
0xa000, 0xa4ff,
0xa700, 0xa82f,
0xfb00, 0xffff,
0x10000, 0x104af,
0x10800, 0x1083f,
0x10900, 0x1091f,
0x10a00, 0x10a5f,
0x12000, 0x1247f,
0x1d000, 0x1d7ff
);
@ -254,20 +247,11 @@ for($t = 1; $t <= $tt; $t++)
$th = $range[($t-1) * 2 + 1];
$ts = ( $th - $tl ) >> 3;
$totaldata += $ts + 1;
if ($planeSplit > $tl && $planeSplit < $th) {
printf STDERR "plane split %04X falls within range %04X - %04X\n",
$planeSplit, $tl, $th;
die "This program is now broken!!!\n\n\n";
}
if ($tl < $planeSplit) {
$plane = 0;
} else {
$plane = 1;
}
$plane = $tl >> 16;
if ($oldplane != $plane) {
if ($oldplane != -1) {
printf STDERR "Plane %d has %d patterns\n", $oldplane, $newidx[$oldplane];
if ($newidx[$oldplane] > 256) {
if ($newidx[$plane] > 256) {
printf STDERR "We have more than 256 patterns for plane %d\n", $oldplane;
die "This program is now broken!!!\n\n\n";
}
@ -361,11 +345,7 @@ for($t = 1; $t <= $tt; $t++)
{
$tl = $range[($t-1) * 2];
$th = $range[($t-1) * 2 + 1];
if ($tl < $planeSplit) {
$plane = 0;
} else {
$plane = 1;
}
$plane = $tl >> 16;
printf OUT " // Handle U+%06X to U+%06X\n", $tl, $th;
printf OUT " if(0x%06X <= u && u <= 0x%06X) {\n", $tl, $th;
printf OUT " pat = " .

File diff suppressed because it is too large Load Diff

View File

@ -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, 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,
/* 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,
/* 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, 12, 13,
/* F_ */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,
};
const static PRUint16 symmtable[13] [256] = {
const static PRUint16 symmtable[10] [256] = {
{
/* Block U00__ */
/* _0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F */
@ -83,50 +83,10 @@ const static PRUint16 symmtable[13] [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, 0x2019, 0x2018, 0x201a, 0x201b, 0x201d, 0x201c, 0x201e, 0x201f,
/* 1_ */ 0x2010, 0x2011, 0x2012, 0x2013, 0x2014, 0x2015, 0x2016, 0x2017, 0x2018, 0x2019, 0x201a, 0x201b, 0x201c, 0x201d, 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,
@ -266,7 +226,7 @@ const static PRUint16 symmtable[13] [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, 0x301e, 0x301d, 0x301f,
/* 1_ */ 0x3011, 0x3010, 0x3012, 0x3013, 0x3015, 0x3014, 0x3017, 0x3016, 0x3019, 0x3018, 0x301b, 0x301a, 0x301c, 0x301d, 0x301e, 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,
@ -283,26 +243,6 @@ const static PRUint16 symmtable[13] [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,

View File

@ -194,17 +194,16 @@ while(<UNICODATA>) {
@range = (
0x0000, 0x07ff,
0x0900, 0x1b7f,
0x0900, 0x1a1f,
0x1d00, 0x2ddf,
0x2e00, 0x33ff,
0x4dc0, 0x4dff,
0xa000, 0xa87f,
0xa000, 0xa4ff,
0xa700, 0xa82f,
0xf900, 0x1018f,
0x10300, 0x104ff,
0x10800, 0x1083f,
0x10900, 0x1091f,
0x10a00, 0x10a5f,
0x12000, 0x1247f,
0x1d000, 0x1d7ff,
0x2f800, 0x2fa1f,
0xe0000, 0xe01ff
@ -241,8 +240,7 @@ for($t = 1; $t <= $tt; $t++)
for($j = 0; $j < 8 ; $j++)
{
#defaults for unassigned characters
#see http://www.unicode.org/Public/UNIDATA/extracted/DerivedBidiClass.txt
#and http://www.unicode.org/Public/UNIDATA/Blocks.txt
#see http://www.unicode.org/Public/UNIDATA/UCD.html#Bidi_Class
$test = ($i << 3) + $j;
if ((($test >= 0x0590) && ($test <= 0x5FF)) ||
(($test >= 0x07C0) && ($test <= 0x8FF)) ||
@ -251,7 +249,8 @@ for($t = 1; $t <= $tt; $t++)
{
$default = $map{"R"};
} elsif ((($test >= 0x0600) && ($test <= 0x7BF)) ||
(($test >= 0xFB50) && ($test <= 0xFDFF)) ||
(($test >= 0xFB50) && ($test <= 0xFDCF)) ||
(($test >= 0xFDF0) && ($test <= 0xFDFF)) ||
(($test >= 0xFE70) && ($test <= 0xFEFE)))
{
$default = $map{"AL"};
@ -366,21 +365,7 @@ for($t = 1; $t <= $tt; $t++)
printf OUT " }\n\n";
}
printf OUT " else {\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 " return eBidiCat_L; /* UNDEFINE = L */\n";
printf OUT " }\n\n";
printf OUT " if (patidx < 0x10)\n";