NAME

EmojiTrans -- Emoji Translator


DESCRIPTION

    use EmojiTrans;
    EmojiTrans::translate( \$str, $ENV{HTTP_USER_AGENT} );

第1引数で、変換対象文字列へのリファレンスを指定します。 絵文字は予め &#xHHHH; 表記にしておく必要があります。 EmojiTrans.pm モジュール単体ではバイナリ形式の絵文字は処理できませんので、 予め EscapeSJIS.pm モジュールの escape 関数などを利用して バイナリコードを &#xHHHH; 表記に変換しておく必要があります。 なおドコモ絵文字については、&#ddddd;(Shift_JISの10表記)も利用できます。 文字コードは EUC-JP、Shift_JIS、UTF-8 が利用可能です。(指定不要)

第2引数で、変換先のブラウザ名を指定します。 各キャリアごとに下記のような変換処理となります。

    ドコモ標準絵文字機種   - 拡張絵文字は似た標準絵文字に差し替えます
                             Vodafone絵文字・EZweb絵文字は利用できません

    ドコモ拡張絵文字機種   - 全てのドコモ絵文字(標準+拡張)を利用できます
                             Vodafone絵文字・EZweb絵文字は利用できません

    Vodafone非パケット機種 - Vodafone絵文字のページ1〜3を利用できます
                             ドコモ絵文字は似たVodafone絵文字に差し替えます

    Vodafoneパケット機種   - 全てのVodafone絵文字(ページ1〜6)を利用できます
                             ドコモ絵文字は似たVodafone絵文字に差し替えます

    EZweb HDML機種         - ドコモ標準絵文字を &#ddddd; 形式で出力します
                             ドコモ拡張絵文字は利用できません

    EZweb XHTML機種        - 全ての EZweb 絵文字を利用できます
                             ドコモ絵文字は似たVodafone絵文字に差し替えます


CONFIGURATION

    EmojiTransMap.txt

EmojiTransMap.txt は、ドコモ⇒他キャリアの絵文字変換マップです。 EmojiTrans.pm ファイルと同じディレクトリに設置してください。 絵文字コードは3キャリアとも全て Unicode で指定されています。 (ただし Vodafone 絵文字コードは F001〜F53A に移動しています) 絵文字変換を追加・変更する場合は、EmojiTransMap.txt を更新してください。


MEMO

その他の気づいたこと・雑多なメモを書いておきます。


EZweb XHTML機種の絵文字について

EZweb の UP.Browser/6.0.x の XHTML 機種では、 EZweb 絵文字の &#xHHHH; 表記や Shift_JIS バイナリコードは受け付けられません。 iモード絵文字の Shift_JIS バイナリコードは (恐らくEZweb GWセンタで変換されて)正常に表示できるので、 これらの機種では、ドコモ絵文字→EZwebネイティブ絵文字の 変換は実施しない方が安全です。

それ以降の UP.Browser/6.2.x の XHTML 機種では、 EZweb 絵文字の Shift_JIS バイナリコードも受け付けられます。 (相変わらず &#xHHHH; 表記は受け付けられません) より確実には、<img localsrc=``**''> のタグを利用すれば EZweb のどの XHTML 機種でも表示できますが、 ドコモ・ボーダフォンとの互換性が確保できませんね。


EZweb UP.Browserバージョン番号

    UP.Browser/3.04  … HDML機種
    UP.Browser/6.0.x … XHTML旧機種
    UP.Browser/6.1.0 … Google CHTML Proxy/1.0
    UP.Browser/6.2.0 … XHTML新機種


COPYRIGHT

    Copyright 2004-2005 Kawasaki Yusuke <u-suke [at] kawa.net>
    http://www.kawa.net/