Show
Ignore:
Timestamp:
01/18/08 00:30:53 (10 months ago)
Author:
tokuhirom
Message:

lang/perl/Encode-JP-Mobile: refactoring.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Encode-JP-Mobile/trunk/tools/make-utf8-ucm.pl

    r4817 r4825  
    1414my $cp932_ucm = file($FindBin::Bin, '..', 'ucm', 'cp932.ucm'); 
    1515 
    16 my %alias = qw( 
    17     docomo imode 
    18     kddi ezweb 
    19     softbank vodafone 
    20 ); 
    21  
    2216my $uni_range_for = { 
    2317    docomo   => Encode::JP::Mobile::InDoCoMoPictograms(), 
     
    2721 
    2822sub SCALAR::to_hex($) { sprintf '%X', $_[0] } 
     23sub SCALAR::omote2ura($) { $_[0]->encode('x-sjis-kddi')->decode('x-sjis-kddi-auto') } 
     24sub SCALAR::uni2int($) { unpack 'U*', $_[0] } 
    2925 
    3026&main;exit; 
     
    3430        my $fh = file('ucm', "x-utf8-$to.ucm")->openw or die $!; 
    3531 
    36         print {$fh} <<HEAD 
    37 <code_set_name> "x-utf8-$to" 
    38 <code_set_alias> "x-utf8-$alias{$to}" 
    39 <mb_cur_min> 1 
    40 <mb_cur_max> 2 
    41 <subchar> \\x3F 
    42 CHARMAP 
    43 HEAD 
    44         ; 
     32        print {$fh} header($to); 
    4533 
    4634        # basic map 
     
    6452            range_each($to, sub { 
    6553                my $unicode = shift; 
    66                 my $unihex = 'U*'->unpack($unicode->chr->encode('x-sjis-kddi')->decode('x-sjis-kddi-auto'))->to_hex; 
     54                my $unihex = $unicode->chr->omote2ura->uni2int->to_hex; 
    6755                print {$fh} sprintf "<U%s> %s |0 # %s\n", $unihex, unihex2utf8hex($unihex), "UraKDDI pictogram"; 
    6856            }); 
     
    8573      : $from    eq 'softbank' ? 'SoftBank Pictogram' 
    8674      :                          ""; 
     75} 
     76 
     77sub header { 
     78    my $to = shift; 
     79 
     80    my %alias = qw( 
     81        docomo imode 
     82        kddi ezweb 
     83        softbank vodafone 
     84    ); 
     85 
     86    <<"HEAD"; 
     87<code_set_name> "x-utf8-$to" 
     88<code_set_alias> "x-utf8-$alias{$to}" 
     89<mb_cur_min> 1 
     90<mb_cur_max> 2 
     91<subchar> \\x3F 
     92CHARMAP 
     93HEAD 
    8794} 
    8895