Show
Ignore:
Timestamp:
01/22/08 10:01:31 (10 months ago)
Author:
tokuhirom
Message:

2コマ系絵文字の相互変換に対応。2コマ分の bytes を ucm に定義。以前は、最初の1コマをひろっていた。
see. http://gyazo.com/db2cc92d58aff62fb3e1783bd32b9b5e.png

Location:
lang/perl/Encode-JP-Mobile/trunk/tools
Files:
2 modified

Legend:

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

    r4874 r5243  
    4242        $file eq 'emoji_i2es.txt' && do { 
    4343            my ($docomo, undef, $kddi, $softbank) = split "\t", $line; 
    44             $kddi = $1 if $kddi =~ /(%.+?%)%/; 
    45             $softbank = $1 if $softbank =~ /(%.+?%)%/; 
    46             $map{docomo}{ $no2uni->{$docomo} }->{kddi}     = $no2uni->{$kddi}; 
    47             $map{docomo}{ $no2uni->{$docomo} }->{softbank} = $no2uni->{$softbank}; 
     44            $map{docomo}{ $no2uni->{$docomo} }->{kddi}     = get_unicode($kddi); 
     45            $map{docomo}{ $no2uni->{$docomo} }->{softbank} = get_unicode($softbank); 
    4846        }; 
    4947         
    5048        $file eq 'emoji_e2is.txt' && do { 
    5149            my ($kddi, undef, $docomo, $softbank) = split "\t", $line; 
    52             $docomo = $1 if $docomo =~ /(%.+?%)%/; 
    53             $softbank = $1 if $softbank =~ /(%.+?%)%/; 
    54             $map{kddi}{ $no2uni->{$kddi} }->{docomo}   = $no2uni->{$docomo}; 
    55             $map{kddi}{ $no2uni->{$kddi} }->{softbank} = $no2uni->{$softbank}; 
     50            $map{kddi}{ $no2uni->{$kddi} }->{docomo}   = get_unicode($docomo); 
     51            $map{kddi}{ $no2uni->{$kddi} }->{softbank} = get_unicode($softbank); 
    5652        }; 
    5753         
    5854        $file eq 'emoji_s2ie.txt' && do { 
    5955            my ($softbank, undef, $docomo, $kddi) = split "\t", $line; 
    60             $docomo = $1 if $docomo =~ /(%.+?%)%/; 
    61             $kddi = $1 if $kddi =~ /(%.+?%)%/; 
    62             $map{softbank}{ $no2uni->{$softbank} }->{docomo} = $no2uni->{$docomo}; 
    63             $map{softbank}{ $no2uni->{$softbank} }->{kddi}   = $no2uni->{$kddi}; 
     56            $map{softbank}{ $no2uni->{$softbank} }->{docomo} = get_unicode($docomo); 
     57            $map{softbank}{ $no2uni->{$softbank} }->{kddi}   = get_unicode($kddi); 
    6458        }; 
    6559    } 
    6660} 
    6761 
     62sub get_unicode($) { 
     63    my $key = shift; 
     64    if ($key =~ /^%/) { 
     65        $key =~ s/(%[^%]+%)/$no2uni->{$1}/ge; 
     66        return $key; 
     67    } else { 
     68        return; 
     69    } 
     70} 
     71 
    6872print YAML::Dump \%map; 
  • lang/perl/Encode-JP-Mobile/trunk/tools/make-utf8-ucm.pl

    r5118 r5243  
    9090sub unihex2utf8hex { 
    9191    my $uni = shift; 
    92     $uni = 'H*'->unpack($uni->hex->chr->encode('utf-8')); 
    93     $uni =~ s/(..)/\\x$1/g; 
     92    $uni =~ s{(....)}{ 
     93        my $x = 'H*'->unpack($1->hex->chr->encode('utf-8')); 
     94        $x =~ s/(..)/\\x$1/g; 
     95        $x; 
     96    }ge; 
    9497    $uni; 
    9598}