- 関連ページ
-
- ページ案内
-
携帯端末の絵文字の扱い。
第2.000-版(平成18年12月 7日)から導入した絵文字対応機能に関する技術的な解説です。
携帯端末の絵文字の扱い・目次。
絵文字を扱う範囲は、投稿の本文のみとします。
- 投稿者名及び表題には絵文字は含めないものとし、絵文字を含めた場合は絵文字を削除したうえで取扱います。
絵文字のデータ化。
携帯端末がフォームから送信する絵文字は現在のところ以下のようになっております。
- iモード
-
絵文字に与えられた文字コードをそのまま送信します。
- 送信元のフォームがシフトJISコードでエンコードされている場合は、当然シフトJISコードに従います。
- EZウェブ
-
絵文字コードに対応した文字コードに変換して送信します。
- EZウェブの絵文字はかつてビルトインアイコンと呼ばれたもので、本来は画像の一種となります。しかしながら、画像ではフォームから送信出来ないため、固有の文字コードを与えて送信します。
- ソフトバンク
-
- 一部の次世代機
- 対応する文字コードに変換して送信します。
- 他の端末
- HTML文書での表現と全く同じエンコーディングとなります。
この規定に従い、絵文字コードを以下の形式のデータに変換します。
- 第 1バイト目
- エスケープコード(\x1b)
- 第 2バイト目
-
キャリアを表す英字
- iモード
- i
- EZウェブ
- E
- ソフトバンク
- S
- エアーエッジフォン
- W
- 第 3バイト目
- 斜線(/)
- 第 4バイト目以降
-
キャリアに合わせた絵文字コードを数値で
- iモード
- シフトJISコードの十六進数四桁
- EZウェブ
- 絵文字に与えられている番号を十進数で
- ソフトバンク
- 絵文字のブロックをG, E, F, O, Pまたは Qのいずれかから一文字、そのあとに文字に与えられているコードを十六進数二桁で
- エアーエッジフォン
- シフトJISコードの十六進数四桁
- 最終バイト
- ドルマーク($)
- この第 2バイトから最終バイトの一つ前までの文字列は、当該絵文字が表示出来ない場合に利用する画像データのURIの一部となります。
エスケープ文字を絵文字の目印とした理由は、エスケープ文字はプリンタブルな文字では無く、従って通常の投稿には紛れ込む可能性が無いからです。
内部処理で注意する事。
データの内部処理の際に、誤ってエスケープ文字を削除してしまうと、絵文字の表示が出来なくなります。
- エスケープ文字は通常のプリンタブルな文字ではありません。このため、不適切なデータとして削除する事も考えられます。
また、内部で一時的に目印としてプリンタブルでない文字を利用する事がありますが、その場合にも誤処理防止の見地からエスケープ文字だけは使わないようにしなければなりません。
実際に出力する場合。(平成18年12月 8日)
実際に出力するには、以下のようにします。
PCの場合。
PCでは絵文字は全て代用となる画像を埋め込む<img>要素に変換します。
携帯端末の場合。(平成18年12月 8日)
- まず、ネイティヴの絵文字はそのまま端末の規定する形式に変換します。
-
続いて、他のキャリアの絵文字について、変換が可能であれば変換し、変換出来ない文字については代用となる画像を埋め込む<img>要素に変換します。
- 用意している画像は全て透過GIF画像のため、GIF画像が表示出来ないソフトバンク在来機やWAP 1.0端末にはPNG画像またはビットマップに変換するCGIへのURIをsrc属性の値とします。
- 他の画像形式に変換する際に透過属性は破棄され、背景色は白となります。
- PNG画像への変換に際し、サーヴァにZlib用のライブラリが無い場合は、ファイルサイズを小さくするため白黒のPNG画像に変換します。
但し、H"リンクの場合は、絵文字タグに変換出来ない絵文字は全て「*」に置き換えられます。
これは画像を文章中に表示させる事が出来ないためです。
現時点の問題点。(平成18年12月 8日)
最新版・第2.000-2版(平成18年12月 8日)は暫定版のため、幾つかの不備が残されております。
- 旧型端末への配慮が無い
-
絵文字は端末の改良に併せて拡張される事があります。
このため、同じキャリアであっても、旧型端末では表示出来ない絵文字もあります。
しかしながら、現在のヴァージョンではそこまで踏み込んではおりません。
- また、代用画像をiモードの白黒専用端末に合わせて減色する事もしておりません。
これらの問題は、第2.000版の正式版までには解決させる予定です。