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.5 by pcg, Mon Mar 15 01:27:46 2004 UTC vs.
Revision 1.11 by root, Sat Apr 11 18:27:25 2015 UTC

3# the generated tables mostly have NOT been checked so far! 3# the generated tables mostly have NOT been checked so far!
4 4
5use v5.8.2; 5use v5.8.2;
6use utf8; 6use utf8;
7use Encode; 7use Encode;
8use Encode::JP;
9use Encode::CN;
10use Encode::KR;
11use Encode::HanExtra;
12use Encode::JIS2K;
8 13
9my $gen; 14my $gen;
10 15
11$TO_UNICODE = 0; # also generate to_unicode tables 16$TO_UNICODE = 0; # also generate to_unicode tables
12 17
88 $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $b + $_, $enc->[$b + $_]; 93 $fun .= sprintf "if (· == 0x%04x) return 0x%04x;\n", $b + $_, $enc->[$b + $_];
89 } 94 }
90 } elsif (linear $enc, $b + $l, $b + $h, $enc->[$b + $l]) { 95 } elsif (linear $enc, $b + $l, $b + $h, $enc->[$b + $l]) {
91 my $dif = $enc->[$b + $l] - ($b + $l); 96 my $dif = $enc->[$b + $l] - ($b + $l);
92 $dif = $dif < 0 ? sprintf "- 0x%04x", -$dif : sprintf "+ 0x%04x", $dif; 97 $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; 98 $fun .= sprintf "if (· >= 0x%04x && 0x%04x >= ·) return · %s;\n", $b + $l, $b + $h, $dif;
94 } elsif ($map2[$p] <= 5) { # defunct 99 } elsif ($map2[$p] <= 5) { # defunct
95 $fun .= "switch (·)\n {\n"; 100 $fun .= "switch (·)\n {\n";
96 for ($l .. $h) { 101 for ($l .. $h) {
97 next unless defined $enc->[$b + $_]; 102 next unless defined $enc->[$b + $_];
98 $fun .= sprintf " case 0x%04x: return 0x%04x;\n", $b + $_, $enc->[$b + $_]; 103 $fun .= sprintf " case 0x%04x: return 0x%04x;\n", $b + $_, $enc->[$b + $_];
234// AUTOMATICALLLY GENERATED by gentables 239// AUTOMATICALLLY GENERATED by gentables
235// 240//
236#ifdef ENCODING_$group 241#ifdef ENCODING_$group
237 242
238$tab1$tab2 243$tab1$tab2
239struct rxvt_codeset_conv_$base : rxvt_codeset_conv {
240 uint32_t from_unicode (unicode_t unicode) const { 244static uint32_t cs_$base\_from_unicode (unicode_t unicode) {
241$fun1 } 245$fun1}
242EOF 246EOF
243 247
244if ($TO_UNICODE) { 248if ($TO_UNICODE) {
245 print OUT <<EOF 249 print OUT <<EOF
246#if ENCODING_TO_UNICODE 250#if ENCODING_TO_UNICODE
247 unicode_t to_unicode (uint32_t enc) const { 251static unicode_t cs_$base\_to_unicode (uint32_t enc) {
248$fun2 } 252$fun2}
249#endif 253#endif
250EOF 254EOF
251} 255}
252 256
253print OUT <<EOF; 257print OUT <<EOF;
254} rxvt_codeset_conv_$base;
255 258
256#else 259#else
257 260
258#define rxvt_codeset_conv_$base rxvt_codeset_conv_unknown 261#define cs_$base\_from_unicode cs_unknown_from_unicode
262#define cs_$base\_to_unicode cs_unknown_to_unicode
259 263
260#endif 264#endif
261EOF 265EOF
262 266
263 close OUT; 267 close OUT;
264} 268}
265 269
266__DATA__ 270__DATA__
267VN viscii viscii 271VN viscii viscii
268KR ksc5601_1987_0 ksc5601-raw 272KR ksc5601_1987_0 ksc5601-raw
269CN gb2312_1980_0 gb2312-raw 273ZH gb2312_1980_0 gb2312-raw
274ZH gbk_0 gbk
270CN_EXT cns11643_1992_1 cns11643-1 275ZH_EXT cns11643_1992_1 cns11643-1
271CN_EXT cns11643_1992_2 cns11643-2 276ZH_EXT cns11643_1992_2 cns11643-2
272CN_EXT cns11643_1992_3 cns11643-3 277ZH_EXT cns11643_1992_3 cns11643-3
273CN_EXT cns11643_1992_4 cns11643-4 278ZH_EXT cns11643_1992_4 cns11643-4
274CN_EXT cns11643_1992_5 cns11643-5 279ZH_EXT cns11643_1992_5 cns11643-5
275CN_EXT cns11643_1992_6 cns11643-6 280ZH_EXT cns11643_1992_6 cns11643-6
276CN_EXT cns11643_1992_7 cns11643-7 281ZH_EXT cns11643_1992_7 cns11643-7
277CN_EXT cns11643_1992_f cns11643-f 282ZH_EXT cns11643_1992_f cns11643-f
278CN big5 big5 283ZH big5 big5
279CN_EXT big5_ext big5ext 284ZH_EXT big5_ext big5ext
280CN_EXT big5_plus big5plus 285ZH_EXT big5_plus big5plus
281EU koi8_r koi8-r 286EU koi8_r koi8-r
282EU koi8_u koi8-u 287EU koi8_u koi8-u
283DEFAULT iso8859_1 iso-8859-1 288DEFAULT iso8859_1 iso-8859-1
284EU iso8859_2 iso-8859-2 289EU iso8859_2 iso-8859-2
285EU iso8859_3 iso-8859-3 290EU iso8859_3 iso-8859-3
290EU iso8859_8 iso-8859-8 295EU iso8859_8 iso-8859-8
291EU iso8859_9 iso-8859-9 296EU iso8859_9 iso-8859-9
292EU iso8859_10 iso-8859-10 297EU iso8859_10 iso-8859-10
293EU iso8859_11 iso-8859-11 298EU iso8859_11 iso-8859-11
294EU iso8859_13 iso-8859-13 299EU iso8859_13 iso-8859-13
295EU iso8859_14 iso-8859-14 300EU iso8859_14 iso-8859-14
296DEFAULT iso8859_15 iso-8859-15 301DEFAULT iso8859_15 iso-8859-15
297EU iso8859_16 iso-8859-16 302EU iso8859_16 iso-8859-16
298JP jis0201_1976_0 jis0201-raw 303JP jis0201_1976_0 jis0201-raw
299JP jis0208_1990_0 jis0208-raw 304JP jis0208_1990_0 jis0208-raw
300JP jis0212_1990_0 jis0212-raw 305JP jis0212_1990_0 jis0212-raw

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines