tomi-ruのモバイル日記

profile
記事とカテゴリ一覧はこちら
 | 

2008-01-17

変換マップの確認

22:07 | はてなブックマーク - 変換マップの確認 - tomi-ruのモバイル日記

http://blog.asial.co.jp/330 というのが出てて、Encode::JP::Mobile と同じものを基にしているらしいので大丈夫だと思ったのですが念のため dat/convert-map-utf8.yaml と比較。

#    ED8D:
#      docomo: E724
#      softbank: E416
# +  ED8E:
# +    docomo: ~
# +    softbank: ~
# +  ED8F:
# +    docomo: ~
# +    softbank: ~
# +  ED90:
# +    docomo: ~
# +    softbank: ~
# +  ED91:
# +    docomo: ~
# +    softbank: ~
# +  ED92:
# +    docomo: ~
# +    softbank: ~
# +  ED93:
# +    docomo: ~
# +    softbank: ~
#    EF40:
#      docomo: ~
#      softbank: ~

6文字ほど(dat/convert-map-utf8.yaml)にないものがありますが、これは以下のような typeD.pdf にないものなので気にしなくていいかと。

  1. EZアプリ(Java
  2. EZアプリ(BREW
  3. EZ着うた
  4. EZナビMS
  5. WIN
  6. プレミアム

逆に、これらをやるとすると id:tokuhirom さんにきくまで知らなかったドコモの隠し絵文字(ぴあの「ぴ」とか)も入れる?ということになるけど、

  • 普通ユーザーがフォームから入力してこないよね
  • あえて3キャリ対応しずらい文字をわざわざ使うことないだろう

ということで現状スルーということでいいですかね

比較用のスクリプト

use strict;
use FindBin;
use Encode;
use YAML::Syck;
use Text::Diff;
use Test::More;

plan tests => 1;

# compare convert-map-utf8.yaml to http://blog.asial.co.jp/330
#
# download pictogram.tar.gz to t/asial/*.json
# perl t/compare-dat-to-asial.pl

my $num2uni;
for my $carr (qw( docomo ezweb softbank )) {
    my $_map = YAML::Syck::LoadFile("t/asial/${carr}_emoji.json")->{$carr};

    my $carr = $carr eq 'ezweb' ? 'kddi' : $carr;

    for (values %$_map) {
        $num2uni->{$carr}{ $_->{number} } = do {
            $carr eq 'kddi'
                ? sprintf('%04X', ord decode 'utf-8', pack 'H*', $_->{'utf-8'})
                : $_->{unicode};
        };
    }
}

my $test_map;
for my $carr (qw( docomo ezweb softbank )) {
    my $_map = YAML::Syck::LoadFile("t/asial/${carr}_convert.json")->{$carr};

    my $carr = $carr eq 'ezweb' ? 'kddi' : $carr;

    for my $v (values %$_map) {
        $v->{docomo}   = $num2uni->{docomo}{ $v->{docomo} };
        $v->{kddi}     = $num2uni->{kddi}{ $v->{ezweb} };
        $v->{softbank} = $num2uni->{softbank}{ $v->{softbank} };
        delete $v->{ezweb};
        delete $v->{$carr};
    }

    for my $k (keys %$_map) {
        $test_map->{$carr}{ $num2uni->{$carr}{$k} } = $_map->{$k};
    }
}

my $dist_map = YAML::Syck::LoadFile('dat/convert-map-utf8.yaml');

is diff(\ YAML::Syck::Dump($dist_map), \ YAML::Syck::Dump($test_map)), "";

絵文字脳

16:12 | はてなブックマーク - 絵文字脳 - tomi-ruのモバイル日記

仕事で違うことしてると脳内の切り替えが大変

いえい

11:00 | はてなブックマーク - いえい - tomi-ruのモバイル日記

http://search.cpan.org/perldoc?Encode::JP::Mobile#AUTHORS

利用者も多いだろうし、名前が入るのはうれしいですね

Encode::JP::Mobileをモデルケースにオープンソース開発やそのまわりのツール(irc/coderepos/svkとか)を社内勉強会でとりあげようかな

YudoufuYudoufu2008/01/18 11:00http://blog.asial.co.jp/330 のJSONのやつ作った本人です(・ω・`)
参照いただいて、ありがとうございます。

>> 逆に、これらをやるとすると id:tokuhirom さんにきくまで知らなかったドコモの隠し絵文字(ぴあの「ぴ」とか)も入れる?ということになるけど、
いかんせんぺーぺーでして、この辺の話全然知らなかったので、参考になりました。

tomi-rutomi-ru2008/01/19 00:11こちらこそ、共有できる情報は共有していければうれしいです。PerlのEncode::JP::Mobileの開発まわりは freenode の#mobilejp で討議しています。

トラックバック - http://mobilehacker.g.hatena.ne.jp/tomi-ru/20080117
 |