|
Revision 1641, 1.1 kB
(checked in by drry, 6 years ago)
|
|
lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram: s/(?<=Soft)b(?=ank)/B/g
|
| Line | |
|---|
| 1 | use strict; |
|---|
| 2 | use YAML; |
|---|
| 3 | |
|---|
| 4 | my $map = YAML::LoadFile 'dat/convert-map-utf8.yaml'; |
|---|
| 5 | |
|---|
| 6 | my %alias = qw( |
|---|
| 7 | docomo imode |
|---|
| 8 | kddi ezweb |
|---|
| 9 | softbank vodafone |
|---|
| 10 | ); |
|---|
| 11 | |
|---|
| 12 | for my $to (qw( docomo kddi softbank )) { |
|---|
| 13 | open my $fh, '>', "ucm/x-utf8-$to-pictogram.ucm"; |
|---|
| 14 | print {$fh} <<HEAD |
|---|
| 15 | <code_set_name> "x-utf8-$to-pictogram" |
|---|
| 16 | <code_set_alias> "x-utf8-$alias{$to}-pictogram" |
|---|
| 17 | <mb_cur_min> 1 |
|---|
| 18 | <mb_cur_max> 2 |
|---|
| 19 | <subchar> \\x3F |
|---|
| 20 | CHARMAP |
|---|
| 21 | HEAD |
|---|
| 22 | ; |
|---|
| 23 | |
|---|
| 24 | for my $from (qw( docomo kddi softbank )) { |
|---|
| 25 | next if $from eq $to; |
|---|
| 26 | |
|---|
| 27 | print {$fh} "# pictogram convert map ($from => $to)\n"; |
|---|
| 28 | my $what = $from eq 'docomo' ? 'DoCoMo Pictogram' |
|---|
| 29 | : $from eq 'kddi' ? 'KDDI/AU Pictogram' |
|---|
| 30 | : $from eq 'softbank' ? 'SoftBank Pictogram' |
|---|
| 31 | : "" ; |
|---|
| 32 | |
|---|
| 33 | for my $uni (sort keys %{$map->{$from}}) { |
|---|
| 34 | my $utf8 = $map->{$from}{$uni}{$to} or next; |
|---|
| 35 | printf {$fh} "<U%s> %s |1 # $what\n", $uni, xxx($utf8); |
|---|
| 36 | } |
|---|
| 37 | |
|---|
| 38 | } |
|---|
| 39 | |
|---|
| 40 | print {$fh} "END CHARMAP\n"; |
|---|
| 41 | } |
|---|
| 42 | |
|---|
| 43 | sub xxx { |
|---|
| 44 | my $uni = shift; |
|---|
| 45 | $uni = unpack "H*", eval '"\x{'.$uni.'}"'; |
|---|
| 46 | $uni =~ s/(..)/\\x$1/g; |
|---|
| 47 | $uni; |
|---|
| 48 | } |
|---|
| 49 | |
|---|