6 (($n, $m, $c) = split(" ", $_, 3)) >= 3 || next;
12 foreach $name (@NAME) {
17 print "$name\t$map\t$code\n";
22 open(OUT, "> ${name}_ucs.map");
26 (($i, $u) = split(" ")) || next;
29 ($i >= 0x8740 && $i <= 0x87FC) ||
30 ($i >= 0xED40 && $i <= 0xEEFC) ||
31 ($i >= 0xFA40 && $i <= 0xFCFC) || next;
33 if ($u > 0 && (! $from_ucs{$u} || ($from_ucs{$u} >= 0xED40 && $from_ucs{$u} <= 0xEEFC))) {
40 # These conversion tables between $code and
41 # Unicode were made from
43 # ftp://ftp.unicode.org/Public/MAPPINGS/$map.
48 static wc_uint16 ${name}_ucs_map[ 0x5E * 10 ] = {
51 for $ub (0x87, 0xed, 0xee, 0xfa, 0xfb, 0xfc) {
52 for $lb (0x40 .. 0x7E, 0x80 .. 0x9E) {
53 $_ = ($ub << 8) + $lb;
54 printf OUT " 0x%.4X,\t/* 0x%.4X */\n", $to_ucs{$_}, $_;
56 if ($ub == 0x87 || $ub == 0xfc) {
59 for $lb (0x9F .. 0xFC) {
60 $_ = ($ub << 8) + $lb;
61 printf OUT " 0x%.4X,\t/* 0x%.4X */\n", $to_ucs{$_}, $_;
65 @ucs = sort { $a <=> $b } keys %from_ucs;
71 #define N_ucs_${name}_map $nucs
73 static wc_map ucs_${name}_map[ N_ucs_${name}_map ] = {
76 printf OUT " { 0x%.4X, 0x%.4X },\n", $_, $from_ucs{$_};
87 sjis_ext VENDORS/MICSFT/WINDOWS/CP932.TXT Shift_JIS/CP932 (Japanese)