root/lang/perl/Encode-JP-Mobile/branches/feature-convert-pictogram/tools/make-pictogram-ucm.pl @ 1641

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 
1use strict;
2use YAML;
3
4my $map = YAML::LoadFile 'dat/convert-map-utf8.yaml';
5
6my %alias = qw(
7    docomo imode
8    kddi ezweb
9    softbank vodafone
10);
11
12for 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
20CHARMAP
21HEAD
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
43sub xxx {
44    my $uni = shift;
45    $uni = unpack "H*", eval '"\x{'.$uni.'}"';
46    $uni =~ s/(..)/\\x$1/g;
47    $uni;
48}
49
Note: See TracBrowser for help on using the browser.