携帯電話機の文字

漢字文字集合


機種により、次の三種類があるようです。

・JIS X 0208のみ
・JIS X 0208 + NEC特殊文字
・JIS X 0208 + NEC特殊文字 + IBM拡張文字

NEC選定IBM拡張文字については定かではありません。

キャリア問わず、絵文字変換処理では、とりあえず絵文字以外の部分は「JIS X 0208のみ」を前提にすることにした方がよいのかも知れません。互換性的に。

集合の扱い


究極的には、携帯端末各種の全機種名と、その対応する文字を管理するべきなのでしょう。

しかし現実には、ケータイ用のWebサイトのHTMLを作る等の場面で変換作業が生じると考えられます。ということは、あまり機種依存な文字は使用されないのではないかと考えられます。

もし本当に機種ごとの文字集合管理が必要になった場合には、CCS名はキャリア名+機種名にすればよいとして、当面はキャリア名+α、という感じで文字集合を大雑把に区別する方向で、実装をしていこうかと考えております。


ドコモ


ドコモの場合、絵文字番号と、SJIS/Unicodeは、式で簡単に相互変換できるようです。

表現方法は、基本的にはシフトJISで、外字領域(0xF8xx、0xF9xx)として表現される。
Unicodeでは、U+E6xx、U+E7xxにマッピングされる模様。

想定実装符号の名前案
SHIFT_JIS/DOCOMOOLD
SHIFT_JIS/DOCOMOEX
UTF-8/DOCOMOEX

/DOCOMO を、/DOCOMOEX の別名とする。

なお、ドコモの絵文字はTRONコードで専用の番号があるが、内部処理では使わない。
入出力にはいずれ、Unicodeなどを介してドコモの絵文字structと対応づける処理を作る計画。


ソフトバンク


歴史的に
・J-PHONE
・Vodafone
・SBM
とあり、「J-PHONE」を表わす絵文字、「Vodafone」を表わす絵文字などもあった。

調べた範囲内では
・J-PHONEの絵文字は、SBM 3G端末では表示不可能
・Vodafoneの絵文字は、ユーザーエージェント名がSoftBankで始まる端末では表示不可能
とのこと。


想定実装符号の名前案
SHIFT_JIS/J-PHONE/3.0
SHIFT_JIS/J-PHONE/4.0
SHIFT_JIS/VODAFONE
SHIFT_JIS/SBM
UTF-8/VODAFONE
UTF-8/SBM
4.0と、VODAFONE、SBMがパケット端末として拡張絵文字対応のCCS

ブランド系ロゴについては、
・/J-PHONEではJ-PHONEロゴに対応
・/VODAFONEではJ-PHONEロゴとVodafoneロゴに対応
・/SBMでは、J-PHONEロゴとVodafoneロゴに未対応
という実装にする予定。


絵文字の表現方法は、基本的にはシフトJISだが、[\x1b][\x24][1バイト目][2バイト目][\x0f] という、意味の良く分からない方法で符号化されます。
3G端末は原則としてUTF-8らしい。
文字番号、SJIS、Unicodeは、それぞれで対応変換表が必要になりそう。



au


仕様が複雑怪奇で、どうしようもないのがau

文字番号とSJISコードが単純計算で結びつかない。
また、&#xXXXX; として書いた場合と、実際のUnicodeの符号位置が違うというのも意味が良く分からない。

符号変換の実装としては、実際のUnicodeの符号位置を入出力すれば良いのでしょうから、そのように作ることにします。&#xXXXX; という記述を書き換えたりする処理は、需要は定かではありませんが危険なのでしない。

SJISと実際のUnicodeは、単純計算で結びつくようだ。

文字番号、SJIS/Unicodeは、それぞれで対応変換表が必要になりそう。


また文字集合も多様にあるようで、

調べた範囲では、次のような6種類の文字集合実装があるらしい。

1 1-334
2 1-334,500-518
3 1-334,500-518,335-499,700-822
4 1-334,500-518,335-499,700-822,823-828
5 1-334,500-518,335-499,700-822,823-828,519-567
6 1-334,500-518,335-499,700-822,823-828,519-567,568-589


Ezwebの最も基本的な絵文字集合は2相当となる。
但し、A3015SAだけ500~518の文字が335~353で実装されているらしく、そのため、この機種は1相当として扱うか、この機種のみ335~353を特殊に扱う必要がある。


A1101Sと、A1300以降は、3相当
A14xxシリーズ以降(一部機種除く)は、4相当
WシリーズでW3x以降では5相当になるらしい。W56Tは6とのこと。

これらを、どういう名前を付けて指定させれば良いのか。皆目見当が付かない。

SHIFT_JIS/AU/1、SHIFT_JIS/AU/2、みたいな名前では使いにくいだろうし意味も良く分からないし、どうしたものだろうか。まさか機種名を全て網羅するわけにもいかないし。

何か、よい案があればよろしくお願いします。

2009/11/01(日)15:49 |Comments(0) |Trackback(0)

製造開発 | ソフトウェア開発 | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

ISO/IEC 10646:2003/Amd.6:2009 ホーム gTef 0.13 beta 公開のお知らせ
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

04 | 2017/05 | 06
- 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 - - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR