携帯電話機などの絵文字変換

試しに、実際の処理について検討を開始しました。

問題点


まず、Unicodeを介しての変換でそれなりに上手く行くかを考えてみたのですが、とてもでは無いですが無理そうです。
絵文字は一対一で対応せず、かつ非対称な変換が必要なものもあるため、変換元ごとに、変換先の情報をテーブルとして持つ必要がありそうです。

往復変換は想定しない(単方向変換のみ想定)としても、まだ色々と面倒な事があるようです。
例えば、ある一つのドコモの絵文字は、auでは二つの絵文字の合成になったりするようです。
また、いま良くある変換機能では、変換先に該当の絵文字が無い場合に文字列で表わすことがなされていますが、この実装はあくまで文字コード変換ソフトなので、そのような処理(絵文字→文字列)をすることが適切なのかどうか、なども考えております。

また、Unicodeへの出力についても問題があり、0ボタンから9ボタンまでの絵文字は、Unicodeでは専用に用意されず「U+0023 U+20E3」といったような表現が想定されているようです。


機種


現在は、次のようなものがあるようです。
  • ドコモ
  • au
  • ソフトバンク(2G)
  • ソフトバンク(3G、iPhone 3G含む)
  • ディズニー・モバイル
  • イーモバイル
  • ウィルコム
  • VERTU Club
  • Yahoo!メール
  • Gmail
  • au oneメール


文書ファイルとして必要なことが実装の条件なので、Yahoo!メール、Gmail、au oneメールの実装が必要なのかは良く分かりませんが、公式に絵文字の送受信に対応しているようで、ケータイ各社はその宛送信時に変換処理をするようです。

gmailで試しに一般メール宛に絵文字を送信したところ、utf-8でもiso-2022-jpでもtext/plainは [?] となり、text/html は画像での表示(絵文字画像がメールに添付される)となりました。ちょっと期待はずれでした。


ウィルコムは基本的にドコモと同じ仕様ですが、さすがにiモードマークなどは実装されていないようなので、文字集合としては非互換となり、やはり専用の変換表を持つ必要がありそうです。



想定仕様


大まかな仕様として、構造体として次のようなものを定義することになりそうです。

例えばドコモの場合、
1 SJISの文字コード
2 Unicodeの外字の文字コード
3 Unicode 6.0での文字コード
4 変換先(au、SB-2G、SB-3G、イーモバイル、ウィルコム、ディズニー、VERTU Club、Y!、Gmail、au oneメール)

変換先は10箇所。念のため各変換先は2文字分を確保する。
Unicode 6.0の文字コードは、U+20E3が必要なものはMSBを立てるなどして工夫してDWORDに収める。
1/2/4は各WORD単位、3はDWORDなので、一文字あたり48バイトが必要になるようだ。
サイズよりも、10種類の文字集合それぞれの10箇所の変換先を調べるのが大変そうです。

2009/10/28(水)18:01 |Comments(0) |Trackback(0)

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

▲ページトップ

コメント

コメントの投稿

FC2 BLOGのクロスサイトスクリプティング(XSS)問題 ホーム テンプレートを作ってみました
トラックバック

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

カレンダー

10 | 2017/11 | 12
- - - 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 - -

プロフィール

miraicorp

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

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

twitterツイッター

管理用

検索フォーム

お知らせ

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

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

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

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

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

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

RSSリンクの表示

QRコード

QR