携帯でcaféのéを表示できるのか!?
ますます高性能化する携帯。Flashビデオ再生やファイルアップロード可能な端末など、PCと変わらないほどの性能を持ったブラウザも搭載されている。
最近の携帯ブラウザは、一体どのくらいPCのスペックに近くなって来たのか?今回は国際化という観点で携帯端末を見てみよう。
関連記事:
- Androidスマートフォンの壁紙サイズの法則が見えてきたぞ
- 入力フォームの操作性、機種による違いにご注意!
- 携帯電話のユーザー識別情報まとめ
- 携帯サイトで長過ぎるクエリ文字列をどうにか短くできないか、というときの対処法
- GPSに関わる要チェックワード「測地系」の意味とそれにまつわる変換式
- 絵文字をShift_JISからUnicodeに変換する SoftBank編
文字の国際化
まずはブラウザの表示性能調査から。
最近の携帯ブラウザは、XHTML mobile profileに対応している、ということになっている。が、各キャリアの仕様を見ると本当にそうなのか?「XHTML mobile profileを独自に拡張した仕様を使っています」だとか、「XHTML mobile profileの主な機能に対応しています」だとか、どうも歯切れが悪い。
果たして、携帯ブラウザは英語と日本語以外の言語に対応しているのか?
フランス語
フランス語のé(アキュートアクセント付き小文字のe)をブラウザに表示させるため、XHTMLページに3つ記述を書いてみた。
- そのまま é を記述
- XHTMLの文字実体参照 é で記述
- XHTMLの数値文字参照 é で記述
そのまま記述した é が表示可能なら、UTF-8エンコーディングのデコードに対応し、かつフォントが存在するといえる。UTF-8エンコーディングに対応していない場合を考え、文字実体参照と数値文字参照でも記述した。数値文字参照を記述したのは、携帯ブラウザのXHTMLパーサーが文字実体参照を解釈できない場合を考慮したため。フォントがあれば、少なくとも数値文字参照形式で表示できそうだからだ。
XHTMLのキャラクタエンコーディングをUTF-8として保存し、携帯ブラウザからアクセスすると次のような結果になった。
機種 | é | é | é |
---|---|---|---|
docomo N905i | × | ○ | ○ |
docomo N904i | × | ○ | ○ |
docomo D902i | × | × | × |
SoftBank 920P | × | △ | △ |
SoftBank 910SH | ○ | ○ | ○ |
au W61K | × | △ | △ |
au MEDIA SKIN | × | △ | △ |
au W41H | × | △ | △ |
- ○:「é」表示
- △:「e」表示
- ×:「?」表示もしくは文字化け、もしくは非表示
なんとdocomo N905iやSoftBank 910SHはフランス語が表示できた!おそらくISO-8859-1のフォントを携帯に内蔵しているのだろう。
さらにフォントを内臓していないと思われる機種でも、é の代わりに e を表示してくれる機種もある。これはなかなかの機能だと感じる。
é の直接表記にはほとんどの機種で対応していないので、UTF-8エンコーディングの対応は日本語のみのようだ。でも文字参照形式で書けば é も表示できるので、まずまず使えるといったところか?
韓国語
韓国好きだけにやっぱり韓国語は外せない。韓国語の한(ハン)をブラウザに表示できないか、同じ方法で試してみた。
- そのまま 한 を記述
- HTMLの数値文字参照 한 で記述
UTF-8エンコーディングはおそらくムリだろうけど、とりあえず試した。あと、ハングル文字の文字実体参照形式はないので、数値文字参照形式だけで実験。
結果はこちら。
機種 | 한 | 한 |
---|---|---|
docomo N905i | × | × |
docomo N904i | × | × |
docomo D902i | × | × |
SoftBank 920P | × | × |
SoftBank 910SH | × | × |
au W61K | × | × |
au MEDIA SKIN | × | × |
au W41H | × | × |
- ○:「한」表示
- ×:「?」表示もしくは文字化け、もしくは非表示
残念ながら韓国語は全滅!
でもサムスン携帯ならハングル文字も入力できるから、ハングルフォントを内蔵している。ひょっとするとブラウザでも表示できるのかも!?手元にサムスン携帯がないので、試せないのが残念でならない・・・。
キャラクタエンコーディングの国際化
ひと昔前までは、携帯のキャラクタエンコーディングと言えばShift_JISしか考えられなかった。けど、今やUTF-8・Shift_JISの両方に対応した端末が主流になった。
キャラクタエンコーディングの対応状況についてもみてみたい。
UTF-8エンコーディング
UTF-8エンコーディングは既に実機で実験済み。というのも、フランス語のページを作るとき、同じページ内に日本語も入れておいたからだ。
結果から言うと、エンコーディングがUTF-8でも全機種で日本語表示が可能だった。しかし、ラテン文字 é はデコードできない機種がほとんど。
ということで、3G端末は日本語のみUTF-8エンコーディングに対応しているといえる。なんか中途半端。
Latin1エンコーディング
あとISO-8859-1(Latin1)エンコーディングもテストしてみた。
フランス語はUTF-8でテストしたときと同じ書式で記述し、さらに日本語も含めたコンテンツを準備。
- そのまま é を記述
- XHTMLの文字実体参照 é で記述
- XHTMLの数値文字参照 é で記述
- 日本語「フ」を数値文字参照 フ で記述
ISO-8859-1なので日本語は数値文字参照形式でしか書けない。
で、結果は以下の通り。
機種 | é | é | é | フ (日本語) |
---|---|---|---|---|
docomo N905i | × | ○ | ○ | × |
docomo N904i | × | ○ | ○ | × |
docomo D902i | × | × | × | × |
SoftBank 920P | × | △ | △ | ○ |
SoftBank 910SH | × | ○ | ○ | ○ |
au W61K | × | △ | △ | ○ |
au MEDIA SKIN | × | △ | △ | ○ |
au W41H | × | △ | △ | × |
- ○:「é」もしくは「フ」表示
- △:「e」表示
- ×:「?」表示もしくは文字化け、もしくは非表示
フランス語の直接記述はどの機種もNG。ということでISO-8859-1エンコーディングには非対応だ。
ちなみに日本語の数値参照形式も解釈できない機種がある。UTF-8のほうが表現力が高そうだ。
まとめ
どの携帯も公称スペックではUTF-8対応を謳っているけど、実際には日本語しか対応していなかったというのが現状。ラテン文字は文字実体参照形式や数値参照形式であれば、そこそこ表示できた。
ラテン文字(ISO-8859-1のキャラセット)を使えば、イタリア語・フランス語など西ヨーロッパ圏の言語をカバーできる。ここ2・3年で発売された3G端末なら、フォントを内蔵していない機種でも代わりに近い文字を表示してくれる。
足りない部分はあるものの、国際化対応は徐々に進んでいるようだ。「café」くらいなら、そろそろ「café」と記述してもいいかも?
(参考サイト)
関連記事: