Changeset 4837 for lang/perl/Encode-JP-Mobile/trunk/tools/make-utf8-ucm.pl
- Timestamp:
- 01/18/08 10:01:05 (10 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Encode-JP-Mobile/trunk/tools/make-utf8-ucm.pl
r4825 r4837 3 3 use YAML; 4 4 use Encode; 5 use Encode::JP::Mobile ;5 use Encode::JP::Mobile ':props'; 6 6 use autobox; 7 7 use autobox::Core; … … 15 15 16 16 my $uni_range_for = { 17 docomo => Encode::JP::Mobile::InDoCoMoPictograms(), 18 kddi => Encode::JP::Mobile::InKDDIPictograms(), 19 softbank => Encode::JP::Mobile::InSoftBankPictograms(), 17 docomo => InDoCoMoPictograms(), 18 kddi => InKDDIPictograms(), 19 softbank => InSoftBankPictograms(), 20 airh => InDoCoMoPictograms(), 20 21 }; 21 22 … … 28 29 sub main { 29 30 for my $to (qw( docomo kddi softbank )) { 30 my $fh = file('ucm', "x-utf8-$to.ucm")->openw or die $!; 31 generate_ucm($to, sub { 32 my $fh = shift; 31 33 32 print {$fh} header($to); 34 # convert map 35 for my $from (qw( docomo kddi softbank )) { 36 next if $from eq $to; 33 37 34 # basic map 35 print {$fh} unicode_ucm($cp932_ucm); 38 print {$fh} "\n\n# pictogram convert map ($from => $to)\n"; 39 40 for my $srcuni (sort keys %{$map->{$from}}) { 41 my $dstuni = $map->{$from}{$srcuni}{$to} or next; 42 printf {$fh} "<U%s> %s |1 # %s\n", $srcuni, unihex2utf8hex($dstuni), comment_for($from); 43 } 44 } 45 46 # original 47 if ($to eq 'kddi') { 48 # ura-kddi 49 range_each($to, sub { 50 my $unicode = shift; 51 my $unihex = $unicode->chr->omote2ura->uni2int->to_hex; 52 print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "UraKDDI pictogram"; 53 }); 54 } else { 55 range_each($to, sub { 56 my $unicode = shift; 57 my $unihex = $unicode->to_hex; 58 print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "$to pictogram"; 59 }); 60 } 61 }); 62 } 63 64 # airh 65 generate_ucm('airh', sub { 66 my $fh = shift; 36 67 37 68 # convert map 38 for my $from (qw( docomo kddi softbank )) { 39 next if $from eq $to; 40 41 print {$fh} "\n\n# pictogram convert map ($from => $to)\n"; 69 # XXX willcom phones can display docomo pictograms 70 for my $from (qw( kddi softbank )) { 71 print {$fh} "\n\n# pictogram convert map ($from => docomo)\n"; 42 72 43 73 for my $srcuni (sort keys %{$map->{$from}}) { 44 my $dstuni = $map->{$from} {$srcuni}{$to} or next;74 my $dstuni = $map->{$from}->{$srcuni}->{'docomo'} or next; 45 75 printf {$fh} "<U%s> %s |1 # %s\n", $srcuni, unihex2utf8hex($dstuni), comment_for($from); 46 76 } … … 48 78 49 79 # original 50 if ($to eq 'kddi') { 51 # ura-kddi 52 range_each($to, sub { 53 my $unicode = shift; 54 my $unihex = $unicode->chr->omote2ura->uni2int->to_hex; 55 print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "UraKDDI pictogram"; 56 }); 57 } else { 58 range_each($to, sub { 59 my $unicode = shift; 60 my $unihex = $unicode->to_hex; 61 print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "$to pictogram"; 62 }); 63 } 80 print $fh "\n\n# airh pictograms\n"; 81 range_each('airh', sub { 82 my $unicode = shift; 83 my $unihex = $unicode->to_hex; 84 print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "airh pictogram"; 85 }); 86 }); 87 } 64 88 65 print {$fh} "END CHARMAP\n"; 66 } 89 sub generate_ucm { 90 my ($to, $generate_pictogram_ucm) = @_; 91 my $fh = file('ucm', "x-utf8-$to.ucm")->openw or die $!; 92 print {$fh} header($to); 93 print {$fh} unicode_ucm($cp932_ucm); 94 $generate_pictogram_ucm->($fh); 95 print {$fh} "END CHARMAP\n"; 96 $fh->close; 67 97 } 68 98 … … 82 112 kddi ezweb 83 113 softbank vodafone 114 airh airedge 84 115 ); 85 116 … … 126 157 my ($min, $max) = map { hex $_ } split /\t/, $range; 127 158 my $i = $min; 128 while ($i <= $max) { 129 $code->( $i ); 130 $i++; 159 if ($max) { 160 while ($i <= $max) { 161 $code->( $i ); 162 $i++; 163 } 164 } else { 165 $code->($min); 131 166 } 132 167 }
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)