Changeset 6500 for lang/perl/Encode-JP-Mobile
- Timestamp:
- 02/10/08 18:28:06 (5 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Encode-JP-Mobile/trunk/lib/Encode/JP/Mobile/Charnames.pm
r6498 r6500 14 14 15 15 my $name2unicode; 16 my $unicode2name_en;17 16 18 17 sub import { … … 79 78 } 80 79 81 sub _unicode2name_en {82 return $unicode2name_en if $unicode2name_en;83 84 $unicode2name_en = {};85 for my $carrier (qw/docomo kddi softbank/) {86 my $fname = dist_file( 'Encode-JP-Mobile', "${carrier}-table.pl" );87 my $dat = do $fname;88 89 for my $row (@$dat) {90 next unless exists $row->{name_en};91 $unicode2name_en->{ hex $row->{unicode} } = decode_utf8($row->{name_en});92 if ($carrier eq 'kddi') {93 $unicode2name_en->{ hex $row->{unicode_auto} } = decode_utf8($row->{name_en});94 }95 }96 }97 return $unicode2name_en;98 }99 100 80 sub vianame { 101 81 my $name = shift; … … 110 90 } 111 91 92 # handling x-sjis-kddi-cp932-raw.see pod. 93 sub _kddi_cp932toauto { 94 my $code = shift; 95 96 my $c = pack('U', $code); 97 if ($c !~ /^\p{InKDDISoftBankConflicts}$/ && $c =~ /^\p{InKDDICP932Pictograms}$/) { 98 return unpack 'U*', decode('x-sjis-kddi-auto-raw', encode('x-sjis-kddi-cp932-raw', $c)); 99 } else { 100 return $code; 101 } 102 } 103 112 104 sub unicode2name { 113 105 my $code = shift; 114 106 croak "missing code" unless $code; 115 107 116 # handling x-sjis-kddi-cp932-raw.see pod. 117 my $c = pack('U', $code); 118 if ($c !~ /^\p{InKDDISoftBankConflicts}$/ && $c =~ /^\p{InKDDICP932Pictograms}$/) { 119 $code = unpack 'U*', decode('x-sjis-kddi-auto-raw', encode('x-sjis-kddi-cp932-raw', $c)); 120 } 121 122 return Encode::JP::Mobile::Character->from_unicode($code)->name; 108 return Encode::JP::Mobile::Character->from_unicode(_kddi_cp932toauto($code))->name; 123 109 } 124 110 … … 126 112 my $code = shift; 127 113 croak "missing code" unless $code; 128 return _unicode2name_en->{$code}; 114 115 return Encode::JP::Mobile::Character->from_unicode(_kddi_cp932toauto($code))->name_en; 129 116 } 130 117
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)