スタッフブログ

  • 最新配信
  • RSS

openpearの旅 第9回:Text_Pictogram_Mobile

 : 技術全般 2009/5/14 23:34

Blogger's Avatar

ようやく連休の休みぼけから復帰しつつあるgusagiです
今日は、いつもhaltが書いている「openpearの旅」を自分も書いてみようと思います。
紹介するのは、yudoufu氏が開発しているText_Pictogram_Mobile( http://openpear.org/package/Text_Pictogram_Mobile )です。

日本では、モバイルサイトにとって絵文字はもはや欠かすことが出来ません。
サイトに色々な表現を与えることが出来ますし、データ量も画像より遙かに少なくてすみます。
しかし、この絵文字を独自で実装しようとすると、いくつもの面倒な問題に直面してしまいます。
例えば、キャリア間の相互変換や、絵文字を表現するための方法、更に携帯電話から投稿された絵文字の取り扱いなど、あれこれ調べつつ実装していくことになると思います。
Text_Pictogram_Mobileは、これらの面倒な処理を自分で実装しなくても良いライブラリです。

主な機能としては、
  • 入力された絵文字を内部コード(文字列)に変換
  • 内部コードをバイナリ形式の絵文字に変換
  • 絵文字番号を元にして、絵文字を取得
となります。
絵文字を取得する場合の使い方は、
$picObject = Text_Pictogram_Mobile::factory('docomo', 'sjis');
としてライブラリのインスタンスを取得し、
$emoji = $picObject->getFormattedPictogramsArray('docomo');
のようにして絵文字の配列を取得します。後は、
echo $emoji[1];
といった感じで使うことが出来ます。
※上記サンプルでは、DoCoMo用の絵文字を取得して、絵文字番号1である太陽の絵文字をechoしています。
なお、このライブラリ内ではキャリア判定は行っていないので、キャリア判定用のプログラム(Net_UserAgentMobileなど)と合わせて利用する必要があります。

また、このライブラリの大きな特徴として、絵文字の変換表となるデータはjson形式の外部ファイルとして用意されています。
これにより、動作環境はPHP5.2以上となってしまいますが、プログラムが判らなくても変換表の簡単な変更が出来ます。
将来的にキャリア側の仕様変更で絵文字コードが変わってしまった場合や、独自の変換表で変換を行いたいといった場合にも対応が可能で、ライブラリ利用者の事を考慮した作りとなっています。

このライブラリは、一年以上前にyudoufu氏が公開されていたのですが、その後openpearを利用してリポジトリも公開されるようになっています。
現在、trunkでは大幅なリファクタリングを行っているそうで、trunkが安定動作するまでには暫く時間が掛かるかも知れませんが、拙作のWizMobileでも利用出来る旧バージョンがつい先日branchとしてコミットされました。
合わせて、ライセンスもMITライセンスに変更されておりますので、近いうちにWizMobileにも同梱する予定です。
第8回でhaltが紹介したHTML_CSS_Mobileと合わせ、モバイル関係の開発の際には、試してみることをお勧めします

トラックバック

スタッフブログ最新
カテゴリ一覧

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.