DoCoMo,AU,SoftBankの携帯電話向け絵文字を表示できるプラグインというのを作ってみました。
ダウンロード
pi.jp_pictographs_20080516.zip
使い方
pi.jp_pictographs_20080516.zipを解凍して、pi.jp_pictographs.phpとemoji.csvをExpresiionEngineのpluginディレクトリに置きます。普通だったら、ExpressionEngineのsystemディレクトリの直下にあるpluginsというディレクトリです。
テンプレート上で、
{exp:Jp_pictographs}
[33] < This is airplane icon.
{/exp:Jp_pictographs}
という具合に書くと、[33]の部分が飛行機の絵文字として出力されます。
携帯電話のキャリアの違いは、User-Agentを見て自動で出し分けてくれます。
ブログ記事に書いた場合でも、テンプレート上で
{{exp:weblog:entries weblog...}
{exp:Jp_pictographs}
{body}
{/exp:Jp_pictographs}
{/{exp:weblog:entries}
という具合にすれば、記事中の絵文字も置換することができます。
コードについては、ドコモさんの絵文字コードをベースにしているので、
作ろうiモードコンテンツ:基本絵文字一覧 | サービス・機能 | NTTドコモ
のNo(表の左端の数字)を利用します。AUとSoftBankについては、ドコモさんの絵文字をもとに、だいたい同じ意味を持つ絵文字に変換して出力します。
どうやって作ったのか
携帯絵文字変換スクリプトをPHPで作ってみた。 携帯ホームページを作ろう! -ちょっと詳しいモバイルサイトの作り方-
が元になっています。
プラグインの作り方は、ExpressionEngine Plugin APIに記載されているので、これを元に、Tag Pairsの中の文字列で[xx]となっている物を絵文字に置き換えています。
この先
現行だと、PCからアクセスした場合には、[33]という具合に、コードをそのまま表示してしまいます。また、たとえばペンのマーク(169)はソフトバンクにないので、ソフトバンクで表示したときは[ペン]という、絵文字の意味があるんだかないんだかの文字に変換してしまいます。
#emoji.csvを編集すれば、任意の記号に置き換えることも可能です。
Six Apart - シックス・アパートが、携帯電話向けコンテンツ表示モジュール「TypeCast」をフリーソフトウェア・ライセンスとして提供開始
というニュースで、再配布可能な絵文字モジュールを配布していただいているので、これをつかって画像として表示できるようにするといい感じになるのかな、と思っています。
あと、現行だと、exp:Jp_pictographsを呼び出すたびに機種判定していて、あまり効率がよろしくないので、この辺は引数で指定できるようになっているといいのかも。


もぎゃさん、ご苦労さまです!
フォーラムにもポストしてはいかがですか?機能の追加などのご希望の方とのやり取りも楽になるかもしれません。たとえば、タグをもう少し短くしてほしい方(JP_pictographs を exp:emoji 等に)