Show
Ignore:
Timestamp:
01/18/08 15:06:08 (10 months ago)
Author:
miyagawa
Message:

actually update the .dat file in-place

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/Encode-JP-Mobile/trunk/tools/add-names-by-mapping.pl

    r4870 r4871  
    1010use Encode::JP::Mobile::Charnames qw( unicode2name unicode2name_en ); 
    1111 
    12 my($file, $to) = @ARGV; 
     12my($file, $to, $force) = @ARGV; 
    1313 
    1414my $dat = YAML::LoadFile($file); 
     
    2020for my $r (@$dat) { 
    2121    for my $key ( qw( name name_en ) ) { 
    22         if (!exists $r->{$key}) { 
    23             my $code = $from eq 'kddi' ? 'unicode_auto' : 'unicode'; 
    24             my $char = chr hex $r->{$code}; 
    25             eval { 
    26                 my $mapped = decode("x-utf8-$to", encode("x-utf8-$to", $char, Encode::FB_CROAK)); 
    27                 my $func   = $key eq 'name' ? \&unicode2name : \&unicode2name_en; 
    28                 my $name   = $func->(ord $mapped); 
    29                 $r->{$key} = $name if $name; 
    30             }; 
    31             warn $@ if $@; 
    32         } 
     22        next if exists $r->{$key} && !$force; 
     23        my $code = $from eq 'kddi' ? 'unicode_auto' : 'unicode'; 
     24        my $char = chr hex $r->{$code}; 
     25        eval { 
     26            my $mapped = decode("x-utf8-$to", encode("x-utf8-$to", $char, Encode::FB_CROAK)); 
     27            my $func   = $key eq 'name' ? \&unicode2name : \&unicode2name_en; 
     28            my $name   = $func->(ord $mapped); 
     29            $r->{$key} = encode_utf8($name) if $name; 
     30        }; 
     31        warn $@ if $@; 
    3332    } 
    3433} 
    3534 
    36 print Dump $dat; 
     35YAML::DumpFile($file, $dat);