国内で販売されている殆どの携帯端末には絵文字が実装されております。
iモードの絵文字 (平成21年 7月31日)
EZウェブの絵文字 (平成19年 7月 8日)
ソフトバンクの絵文字 (平成21年 7月31日)
ウィルコムの絵文字 (平成19年 8月 5日 更新)
端末で対応出来る絵文字と、コンテンツへの絵文字の記述方法はキャリアに依って異なります。
iモードでは、基本絵文字と拡張絵文字の二つの系統があります。
基本絵文字は日本国内及び海外のiモード端末全機種で利用出来る176種類の絵文字です。
拡張絵文字は日本国内の
で利用出来る、76種類の絵文字です。
つまり、国内の端末であれば、最大352種類の絵文字が利用出来る事となります。
iモードで絵文字を表示させるには、以下の三つの方法があります。
数値文字参照とは、「&#文字コード;」と言う書式の事です。
この場合、文字コードはシフトJISコードでの十進数で記述します。
但し、この方法は基本絵文字のみ対応しており、拡張絵文字はこの方法では記述出来ません。
また、iモードブラウザ 2.0 (平成21年 5月以降発売の一部機種), 海外端末及び非iモード端末では正しく表示出来ません。(平成21年 7月31日)
それでも、普通のテキストエディタで簡単に記述出来るため、多くのiモードサイトがこの方法を用いているようですが、PCなどで閲覧される場合もある事からこの方法は使わないようにすべきでしょう。
ユニコードでの文字コードを数値文字参照で記述する場合には、ユニコードでの十六進数の前に「x」をつけて記述します。
但し、この方法は基本絵文字しか表示出来ない国内端末では表示されません。
一方、この方法では拡張絵文字も記述出来、しかも基本絵文字なら海外端末でも表示可能になります。
また、PCでも対応するフォントを外字として登録しておけば文字化けせずに閲覧出来ます。
この方法も普通のテキストエディタで簡単に記述出来るのですが、旧型機種への配慮があるのか、国内のiモードサイトでの利用は殆ど無いようです。
普通のテキストエディタでは絵文字を記述出来ないためか、iモードサイトではこの方法は余り利用されていないようですが、iモード絵文字を文字コードに合わせた外字として登録しておく事で入力出来る場合もあります。
エヌ・ティ・ティ・ドコモでは絵文字は直接記述する事を推奨しており、シフトJISコードでの数値文字参照での記述は非推奨としております。
このため、絵文字の記述にはユニコードの数値文字参照で記述するか、直接記述する事が望ましいと考えられます。
iモードで使える絵文字をユニコード順に排列したiモード絵文字一覧表(GIF画像・25.4キロバイト)をご用意しましたのでご覧下さい。
EZウェブの絵文字は元々はオープンウェーヴ社が用意した175種の絵文字のみでしたが、KDDIに依る拡張が行われ、現在では最大647種類の絵文字が利用出来るようになりました。
絵文字は元々端末にアイコンとして組み込まれたものですが、表示出来ない絵文字であっても端末側のサーヴァから代用となる画像が送られる事で表示出来る場合があります。
EZウェブで絵文字を表示させるには、以下の二つの方法があります。
端末側のサーヴァでiモード絵文字を対応するEZウェブ向けの絵文字に変換してくれます。
但し、この方法では対応する絵文字が無い場合に完全な変換が出来ない場合もあります。
また、言うまでもありませんがEZウェブ固有の絵文字はこの方法では対応出来ません。
また、ユニコードの数値文字参照で記述された絵文字は取扱う事が出来ません。(平成19年 7月 8日)
XHTML モバイル・プロファイルとしては非公式の属性となりますが、localsrc属性で絵文字番号を指定すると、対応する絵文字が表示出来ます。
基本的にEZウェブ端末では、
と言うようにしております。
但し、正規の属性では無いため、WAP フォーラムの文書型宣言ではDTD違反となります。
絵文字を記述する場合には、文書型宣言として以下のオープンウェーヴ社が定めているものを使って下さい。
<!DOCTYPE html PUBLIC "-//OPENWAVE//DTD XHTML Mobile 1.0//EN" "http://www.openwave.com/dtd/xhtml-mobile10.dtd">
ソフトバンクの場合、
の合計482種類の絵文字が使えます。
これらの絵文字は通常の文字とは別に六つの絵文字コード表に割り当てられており、必要に応じて絵文字コード表を切り替えて呼び出す形となります。
ソフトバンクの場合、旧型機と現行機では方法が異なります。
ソフトバンク旧型機で絵文字を表示させるには、エスケープシークェンスを記述する必要があります。
エスケープシークェンスとは、文字コード表を切り替えるのに用いられる記述で、エスケープコード(文字コード0x1b)の後に幾つかの文字を記述した符号です。
エスケープシークェンスで文字コード表を利用したい絵文字コード表に切替え、その上で絵文字コードを記述し、最後にシフトイン・コード(文字コード0x0f)を記述して元の文字コードに戻します。
エスケープシークェンス及びシフトイン・コードはいずれも通常のテキストエディタでは入力する事が出来ません。
ソフトバンクの現行機で絵文字を表示させるには、ユニコードの数値文字参照で記述します。
方法は、十六進数の最上位の桁を E、上から二桁目を絵文字コード表の番号(1〜6)から1を引いた値(絵文字 1なら0)、下二桁は絵文字コードから十六進数で20を引いた値(絵文字コードが3Aなら1A)と言う十六進数で数値文字参照を記述します。
ウィルコムではH"リンク以来の163種類の絵文字を用意しております。
現行のPHS端末も、これらの絵文字が利用出来ます。
また、エアーエッジフォン以降のウィルコムPHS端末にはウィルコム向け絵文字とは別にiモード向け絵文字もWeb用絵文字として実装されております(ウィルコムとしては非公式ですが)。
iモード向け絵文字は基本・拡張ともiモードと全く同一の文字コードで実装されており、iモードと完全に互換性を保っております。
ウィルコム向け絵文字もiモード向け絵文字(Web用絵文字)も、文字コードが違うだけでiモード絵文字の記述方法と全く同じです。
すなわち、ウィルコム向け絵文字もiモード向け絵文字も
のいずれかで記述が出来ます。
尚、ウィルコム向けの絵文字のコードに関して、シフトJISコードのみが公開されておりますが、ウィンドウズでのシフトJISコード⇔ユニコード間の対応関係を用いる事で対応するユニコードを求める事が可能です。
すなわち、シフトJISコードでの0xf040がユニコードでの0xe000に対応し、以後 1ずつ双方のコードが上がります(シフトJISコードには0x7fや0xffなどオクテットとして使えない値があり、これらの値は飛ばされます)。
イー・モバイルの従来型携帯電話(型番がHで始まる機種)には、iモードの絵文字を拡張したものが搭載されております。
実際の記述にはユニコード十六進数の数値文字参照が使えます。
iモード絵文字は、現状ではiモード端末の他、KDDI端末, ウィルコム端末及びイー・モバイル端末でも表示が可能です。
ただ、記述方法に差異があり、一筋縄には行かないのも事実です。
現状では、以下のようになっているようです。
| 数値文字参照(シフトJISコード) | 数値文字参照(ユニコード) | バイナリ直接埋め込み | |
|---|---|---|---|
| ドコモ端末 | △ | ○ | ○ |
| KDDI端末 | ○ | × | ○ |
| ウィルコム端末 | ○ | △ | ○ |
| イー・モバイル端末 | × | ○ | × |
キャリアごとに絵文字の種類や記述方法が決まっており、完全に全キャリアで互換性を保つ事は不可能です。
また同一キャリアであっても、旧型機では表示出来ない絵文字もあります。
ソフトバンクでは商用サイトなどで絵文字を利用する場合にはソフトバンクモバイル社に届けなければいけないとの事です。