Changeset 3816
- Timestamp:
- 12/30/07 19:55:27 (11 months ago)
- Location:
- lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram-ucm
- Files:
-
- 3 added
- 4 removed
- 4 modified
-
Makefile.PL (modified) (1 diff)
-
lib/Encode/JP/Mobile.pm (modified) (3 diffs)
-
lib/Encode/JP/Mobile/UTF8.pm (deleted)
-
t/emoji_convert_utf8.t (modified) (2 diffs)
-
tools/make-pictogram-ucm.pl (modified) (5 diffs)
-
ucm/x-utf8-docomo-pictogram.ucm (deleted)
-
ucm/x-utf8-docomo.ucm (added)
-
ucm/x-utf8-kddi-pictogram.ucm (deleted)
-
ucm/x-utf8-kddi.ucm (added)
-
ucm/x-utf8-softbank-pictogram.ucm (deleted)
-
ucm/x-utf8-softbank.ucm (added)
Legend:
- Unmodified
- Added
- Removed
-
lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram-ucm/Makefile.PL
r3800 r3816 15 15 my @ucms = qw( 16 16 sjis-imode sjis-kddi sjis-kddi-auto sjis-softbank-auto 17 utf8-docomo -pictogram utf8-kddi-pictogram utf8-softbank-pictogram17 utf8-docomo utf8-kddi utf8-softbank 18 18 ); 19 19 my %tables = ( -
lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram-ucm/lib/Encode/JP/Mobile.pm
r3800 r3816 11 11 12 12 use Encode::Alias; 13 # sjis 13 14 define_alias('x-sjis-docomo' => 'x-sjis-imode'); 14 15 define_alias('x-sjis-ezweb' => 'x-sjis-kddi'); … … 17 18 define_alias('x-sjis-airh' => 'cp932'); 18 19 define_alias('x-sjis-vodafone-auto' => 'x-sjis-softbank-auto'); 20 21 # utf8 22 define_alias( 'x-utf8-imode' => 'x-utf8-docomo' ); 23 define_alias( 'x-utf8-ezweb' => 'x-utf8-kddi' ); 24 define_alias( 'x-utf8-vodafone' => 'x-utf8-softbank' ); 19 25 20 26 # backward compatiblity … … 31 37 use Encode::JP::Mobile::KDDIJIS; 32 38 33 use Encode::JP::Mobile::UTF8;39 # use Encode::JP::Mobile::UTF8; 34 40 35 41 sub InDoCoMoPictograms { -
lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram-ucm/t/emoji_convert_utf8.t
r1641 r3816 12 12 my ($docomo, $kddi, $softbank) = @_; 13 13 14 is encode('x-utf8-docomo', decode('utf-8', $docomo)), $docomo ;15 is encode('x-utf8-kddi', decode('utf-8', $docomo)), $kddi ;16 is encode('x-utf8-softbank', decode('utf-8', $docomo)), $softbank ;14 is encode('x-utf8-docomo', decode('utf-8', $docomo)), $docomo, 'I => I'; 15 is encode('x-utf8-kddi', decode('utf-8', $docomo)), $kddi, 'I => E'; 16 is encode('x-utf8-softbank', decode('utf-8', $docomo)), $softbank, 'I => V'; 17 17 18 18 is encode('x-utf8-docomo', decode('utf-8', $kddi)), $docomo; 19 is encode('x-utf8-kddi', decode('utf-8', $kddi)), $kddi ;19 is encode('x-utf8-kddi', decode('utf-8', $kddi)), $kddi, 'E => E'; 20 20 is encode('x-utf8-softbank', decode('utf-8', $kddi)), $softbank; 21 21 22 is encode('x-utf8-docomo', decode('utf-8', $softbank)), $docomo ;22 is encode('x-utf8-docomo', decode('utf-8', $softbank)), $docomo, 'V => I'; 23 23 is encode('x-utf8-kddi', decode('utf-8', $softbank)), $kddi; 24 24 is encode('x-utf8-softbank', decode('utf-8', $softbank)), $softbank; … … 35 35 36 36 is encode('x-utf8-docomo', decode('utf-8', $kddi)), $docomo; 37 is encode('x-utf8-kddi', decode('utf-8', $kddi)), $kddi ;37 is encode('x-utf8-kddi', decode('utf-8', $kddi)), $kddi, 'E => E'; 38 38 is encode('x-utf8-softbank', decode('utf-8', $kddi)), $softbank; 39 39 40 40 is encode('x-utf8-docomo', decode('utf-8', $softbank)), $docomo; 41 is encode('x-utf8-kddi', decode('utf-8', $softbank)), $kddi ;41 is encode('x-utf8-kddi', decode('utf-8', $softbank)), $kddi, 'V => E'; 42 42 is encode('x-utf8-softbank', decode('utf-8', $softbank)), $softbank; 43 43 } -
lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram-ucm/tools/make-pictogram-ucm.pl
r3801 r3816 3 3 use YAML; 4 4 use Encode; 5 use Encode::JP::Mobile; 5 6 6 7 my $map = YAML::LoadFile 'dat/convert-map-utf8.yaml'; … … 12 13 ); 13 14 15 my $uni_range_for = { 16 docomo => Encode::JP::Mobile::InDoCoMoPictograms(), 17 kddi => Encode::JP::Mobile::InKDDIPictograms(), 18 softbank => Encode::JP::Mobile::InSoftBankPictograms(), 19 }; 20 21 my $cp932_ucm = shift @ARGV or die "Usage: $0 cp932.ucm\n"; 22 14 23 for my $to (qw( docomo kddi softbank )) { 15 open my $fh, '>', "ucm/x-utf8-$to -pictogram.ucm";24 open my $fh, '>', "ucm/x-utf8-$to.ucm" or die $!; 16 25 print {$fh} <<HEAD 17 <code_set_name> "x-utf8-$to -pictogram"18 <code_set_alias> "x-utf8-$alias{$to} -pictogram"26 <code_set_name> "x-utf8-$to" 27 <code_set_alias> "x-utf8-$alias{$to}" 19 28 <mb_cur_min> 1 20 29 <mb_cur_max> 2 … … 24 33 ; 25 34 35 # basic map 36 print {$fh} unicode_ucm($cp932_ucm); 37 38 # convert map 26 39 for my $from (qw( docomo kddi softbank )) { 27 40 next if $from eq $to; 28 41 29 print {$fh} " # pictogram convert map ($from => $to)\n";42 print {$fh} "\n\n# pictogram convert map ($from => $to)\n"; 30 43 31 44 for my $srcuni (sort keys %{$map->{$from}}) { … … 33 46 printf {$fh} "<U%s> %s |1 # %s\n", $srcuni, unihex2utf8hex($dstuni), comment_for($from); 34 47 } 48 } 49 50 if ($to eq 'kddi') { 51 # ura-kddi 52 range_each($to, sub { 53 my $unicode = shift; 54 my $sjiscode = hex unpack "H*", encode('x-sjis-kddi', chr $unicode); 55 my $unihex = sprintf '%X', $sjiscode - 0x0700; 56 print {$fh} sprintf "<U%s> %s |1 # %s\n", $unihex, unihex2utf8hex($unihex), "UraKDDI pictogram"; 57 }); 58 } else { 59 range_each($to, sub { 60 my $unicode = shift; 61 my $unihex = sprintf '%X', $unicode; 62 print {$fh} sprintf "<U%s> %s |1 # %s\n", $unihex, unihex2utf8hex($unihex), "$to pictogram"; 63 }); 35 64 } 36 65 … … 55 84 } 56 85 86 sub unicode_ucm { 87 my $cp932_ucm = shift; 88 my $res = ''; 89 open my $fh, '<', $cp932_ucm or die "$!: $cp932_ucm"; 90 while (my $line = <$fh>) { 91 if ($line =~ /^<U(.{4})> \S+ \|0 # (.+)$/) { 92 my ($unihex, $comment) = ($1, $2); 93 94 # for FallBack. 95 next if $comment eq 'PRIVATE USE AREA'; 96 97 $res .= sprintf "<U%s> %s |1 # %s\n", $unihex, unihex2utf8hex($unihex), $comment; 98 } 99 } 100 $res; 101 } 102 103 sub range_each { 104 my ($carrier, $code) = @_; 105 106 my $map = $uni_range_for->{$carrier}; 107 for my $range (split /\n/, $map) { 108 my ($min, $max) = map { hex $_ } split /\t/, $range; 109 my $i = $min; 110 while ($i <= $max) { 111 $code->( $i ); 112 $i++; 113 } 114 } 115 } 116
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)