ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/gentables
(Generate patch)

Comparing rxvt-unicode/src/gentables (file contents):
Revision 1.7 by root, Sun Sep 5 09:32:59 2004 UTC vs.
Revision 1.12 by root, Wed Jun 16 23:07:11 2021 UTC

1#!/opt/bin/perl 1#!/opt/bin/perl
2 2
3# the generated tables mostly have NOT been checked so far! 3# the generated tables mostly have NOT been checked so far!
4
5# apt install libencode-hanextra-perl libencode-jis2k-perl
4 6
5use v5.8.2; 7use v5.8.2;
6use utf8; 8use utf8;
7use Encode; 9use Encode;
10use Encode::JP;
11use Encode::CN;
12use Encode::KR;
13use Encode::HanExtra;
14use Encode::JIS2K;
8 15
9my $gen; 16my $gen;
10 17
11$TO_UNICODE = 0; # also generate to_unicode tables 18$TO_UNICODE = 0; # also generate to_unicode tables
12 19
88 $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $b + $_, $enc->[$b + $_]; 95 $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $b + $_, $enc->[$b + $_];
89 } 96 }
90 } elsif (linear $enc, $b + $l, $b + $h, $enc->[$b + $l]) { 97 } elsif (linear $enc, $b + $l, $b + $h, $enc->[$b + $l]) {
91 my $dif = $enc->[$b + $l] - ($b + $l); 98 my $dif = $enc->[$b + $l] - ($b + $l);
92 $dif = $dif < 0 ? sprintf "- 0x%04x", -$dif : sprintf "+ 0x%04x", $dif; 99 $dif = $dif < 0 ? sprintf "- 0x%04x", -$dif : sprintf "+ 0x%04x", $dif;
93 $fun .= sprintf "if (· <= 0x%04x && 0x%04x <= ·) return · %s;\n", $b + $l, $b + $h, $dif; 100 $fun .= sprintf "if (· >= 0x%04x && 0x%04x >= ·) return · %s;\n", $b + $l, $b + $h, $dif;
94 } elsif ($map2[$p] <= 5) { # defunct 101 } elsif ($map2[$p] <= 5) { # defunct
95 $fun .= "switch (·)\n {\n"; 102 $fun .= "switch (·)\n {\n";
96 for ($l .. $h) { 103 for ($l .. $h) {
97 next unless defined $enc->[$b + $_]; 104 next unless defined $enc->[$b + $_];
98 $fun .= sprintf " case 0x%04x: return 0x%04x;\n", $b + $_, $enc->[$b + $_]; 105 $fun .= sprintf " case 0x%04x: return 0x%04x;\n", $b + $_, $enc->[$b + $_];
264 271
265__DATA__ 272__DATA__
266VN viscii viscii 273VN viscii viscii
267KR ksc5601_1987_0 ksc5601-raw 274KR ksc5601_1987_0 ksc5601-raw
268ZH gb2312_1980_0 gb2312-raw 275ZH gb2312_1980_0 gb2312-raw
276ZH gbk_0 gbk
269ZH_EXT cns11643_1992_1 cns11643-1 277ZH_EXT cns11643_1992_1 cns11643-1
270ZH_EXT cns11643_1992_2 cns11643-2 278ZH_EXT cns11643_1992_2 cns11643-2
271ZH_EXT cns11643_1992_3 cns11643-3 279ZH_EXT cns11643_1992_3 cns11643-3
272ZH_EXT cns11643_1992_4 cns11643-4 280ZH_EXT cns11643_1992_4 cns11643-4
273ZH_EXT cns11643_1992_5 cns11643-5 281ZH_EXT cns11643_1992_5 cns11643-5
289EU iso8859_8 iso-8859-8 297EU iso8859_8 iso-8859-8
290EU iso8859_9 iso-8859-9 298EU iso8859_9 iso-8859-9
291EU iso8859_10 iso-8859-10 299EU iso8859_10 iso-8859-10
292EU iso8859_11 iso-8859-11 300EU iso8859_11 iso-8859-11
293EU iso8859_13 iso-8859-13 301EU iso8859_13 iso-8859-13
294EU iso8859_14 iso-8859-14 302EU iso8859_14 iso-8859-14
295DEFAULT iso8859_15 iso-8859-15 303DEFAULT iso8859_15 iso-8859-15
296EU iso8859_16 iso-8859-16 304EU iso8859_16 iso-8859-16
297JP jis0201_1976_0 jis0201-raw 305JP jis0201_1976_0 jis0201-raw
298JP jis0208_1990_0 jis0208-raw 306JP jis0208_1990_0 jis0208-raw
299JP jis0212_1990_0 jis0212-raw 307JP jis0212_1990_0 jis0212-raw

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines