[Seasar-user:20050] Re: [mobylet] 絵文字について質問です

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2010年 8月 8日 (日) 21:53:12 JST


竹内様

お世話になります。
decoyです。

非常に丁寧にご回答頂き有難う御座います。
また、経緯までご説明頂き有難う御座います。

なぜ、auではE488の「晴れ」の絵文字が
mobyletではE92Cとされているのかが、よくわかりました。


あと、マッピング表についてですが、
MobyletAuCodeMapクラスからwebコード(SJIS)を基に追っていけば、
マッピング変更したくなった際に、どのコードを割り当てれば良いか
(どのコードをmobylet.emojistocker.*.xmlに記述すれば良いか)
という事がわからない事もない為、
取り急ぎ、ドキュメントとしての整備タスクを上げて頂く
という事は控えさせて頂きたく思います。

実際にマッピング変更を行なう中で、やっぱり必要という事になれば
その時に依頼させて頂きます。

この度は懇切丁寧にご回答頂き有難う御座います。
大変助かりました。

以上、宜しくお願い致します。

// decoy

Shin Takeuchi wrote :
> decoyさん
> 
> 竹内(stakeuchi)です。
> 
> 結構マニアックなところの質問に感激しております。
> #誰もそんなところ突っ込まないだろうと思っていたので。。。
> 
> ご存じの通り、Javaは一旦内部でUNICODEに変換する言語ですが
> イメージ的には
> 入力byte(パラメータ)⇒内部char⇒出力byte(レスポンス)
> という感じに変換処理が行われています(あくまでイメージです)
> 
> 「0xE488」というコードはSJISで言う「0xF660」をUNICODE(UTF-16)で表した形ですが
> 通常のUNICODE変換を利用すると
> 0xF660⇒0xE488⇒0xF660
> になるでしょ?というのがauの絵文字「晴れ」のイメージだと思います。
> 
> mobyletではこの矢印にあたる文字コード変換部分を
> 全て自作で作っているため
> 0xF660⇒0xE92C⇒0xF660
> という変換を行っています。
> このため、xmlにはE92Cと書かれています。
> 
> 
> では何故こうしたかという話になるかと思いますが
> ドコモの絵文字(UNICODE)表現領域が標準で
> 0xE63E〜0xE757
> ソフトバンクの絵文字(UNICODE)表現領域が標準で
> 0xE001〜0xE51F
> となっています。
> 
> auは標準で1バイト目が
> 0xE4 0xE5 0xEA 0xEBの帯域を使っていて
> ソフトバンクの帯域に被っているのが分かると思います。
> (表示系のコードポイントに絞ってます)
> 
> 
> UNICODEのコードポイントが被っているということは
> もし、そのままデータベースに絵文字入りの文字列を格納すると
> どのキャリアのどの絵文字かが分からなくなるため
> mobyletではコードポイントでキャリアが判別出来るように
> auの絵文字のみ、コードポイントを独自に変更しまして
> 実際、mobyletではauの絵文字の帯域を
> 0xE901〜0xEB87
> に持ち、3キャリアでコードポイントが被らないようにしています。
> 
> 
> なぜauのコードポイントを変更したかと言うと
> 以下のような観点から来ています。
> ・ドコモはi絵文字のツール利用も考えられるため、そのまま使えるようにしかたった
> ・ソフトバンクはmobyletの標準でUTF-8レスポンスのため、変えたくなかった
> ・auは標準で帯域が0xE4,E5系と0xEA,EB系に分断されていたため、気持ち悪かった
> 
> 
> というわけで独自のマッピングに切り替えた訳ですが
> 実際のマッピング表は公開していません。
> (申し訳ございません)
> 
> 内部ではエクセルシートによる絵文字画像とコードポイントの管理シート
> (XMLをマクロで吐き出すようなもの)があるのですが
> 会社の資産として保管させて頂いているという状況です。
> 
> 
> 実際のところはXMLを見て頂くことで
> ある程度のマッピングはご理解頂けると思っていまして
> (命名規則はキャリアの公式のものとほとんど同一にしているので)
> もしも無いと困るような用途が御座いましたら
> ご一報頂けますと幸いです。
> #ドキュメントとしての整備タスクを上げることは可能です。
> #MobyletAuCodeMapクラスを見て頂いても良いかもしれません。
> 
> 
> よろしくお願い致します。
> 
> 
> 2010年8月7日13:17<[E-MAIL ADDRESS DELETED]>:
>> お世話になります。
>> decoyです。
>>
>> 絵文字に関して2点ほど質問させて頂きたく思います。
>>
>>
>> ・auの絵文字コードについて
>> 例えば「晴れ」の絵文字の場合、UNICODEでdocomoならE63E、softbankならE04A、ということで
>> mobylet.emojistocker.*.xmlにも、そのように記述されており、理解は出来るのですが
>> auの場合、上記の絵文字であれば、UNICODEでE488となるはずですが、
>> なぜか、E92Cとしてxmlファイルに記述されております。
>> ですが、上記の絵文字が入ったページをFireMobileSimulatorで見るとE488として表示されております。
>>
>> 他にもauの絵文字コードについては下記のページに記載されているような絵文字コードとは
>> 異なる絵文字コードがxmlファイルに記述されていますが、これはどういった理由からなのか、
>> (なぜ、E92Cと記述する事でE488を出力しているのか)ご教授頂けますでしょうか。
>>
>>
>>
>> ・mobyletの絵文字マッピング表はありますか?
>>
>> mobyletの絵文字マッピング表のようなもの(docomoでこの絵文字の場合はauではこの絵文字を表示するというような事が記載された表)ってありますでしょうか。
>>
>> いろいろ検索して探してみたところ、下記のような表が見つかりましたが
>> 下記の表に基づいて作成されているという認識で宜しいでしょうか。
>> (xmlファイルと下記サイトの表を比較したところ、そのように見えましたがどうでしょうか?)
>>
>> mobylet.emojistocker.docomo.xml
>>>> http://trialgoods.com/emoji/?career=i&page=all
>>
>> mobylet.emojistocker.au.xml
>>>> http://trialgoods.com/emoji/?career=au&page=all
>>
>> mobylet.emojistocker.softbank.xml
>>>> http://trialgoods.com/emoji/?career=sb&page=all
>>
>>
>> もし、そうではなく、このマッピング表に基づいて作成している
>> というものがあれば、ご教授頂けますでしょうか。
>>
>>
>> 以上、お手数ですが、宜しくお願い致します。
>>
>> // decoy
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
> 
> 
> 


Seasar-user メーリングリストの案内