アシアルの中の人が技術と思いのたけをつづるブログ

絵文字データベースと相互変換マッピングデータベースのJSONファイルを公開します。

タグ [  Tech  携帯  JSON  ]
こんにちは、亀本です。

===
追記:みなさんいっぱいはてブしてくれたようなので、せっかくなのでちょっと宣伝です(^^;
この絵文字データベースは、携帯専用イベント支援サイト「あつまろ☆ねっと」というサイトの、メーリングリスト連動型の掲示板を構築していく過程で出来上がったものです。
「あつまろ☆ねっと」は現在ベータ版ですが、ぜひ利用してやってください<(。_。)>ペコリ
===

携帯サイト作成の際に頭を悩ます最初の関門が、絵文字の取り扱いだと思います。
各社とも絵文字のデータ形式や相互変換表などを公開してくれていますが、取り扱いやすいデータ形式で統一的にまとめてある情報がなかなか存在しなかったりして、車輪の再発明が非常に多い分野ではないかな、という気がしました。

そこで、どうせなら利用しやすいようにきっちり整理しようと思い、各種文字コードや表示形式を統括的に扱う絵文字データと、それらの絵文字を置き換えるための相互変換マッピングデータを作成しましたので、これらのJSONファイルを公開します。

データファイル:pictogram.tar.gz
pictogram-1.1.tar.gz
コメント欄にてezweb_emoji.jsonの4100行にエラーがあるとご指摘頂き、修正いたしました。ありがとうございます。

ちなみに形式がJSONなのは単にYAMLよりJSONの方がPHPで扱う時に手っ取り早かったからです。
まぁそこはYAML is JSONってことで勘弁してください。インデントはちゃんとしてあります。

これに含まれるファイルは
  1. docomo_emoji.json
  2. ezweb_emoji.json
  3. softbank_emoji.json
  4. docomo_convert.json
  5. ezweb_convert.json
  6. softbank_convert.json
の6つです。

それぞれのデータ形式について簡単に説明すると、
  1. {
  2. "<carrier_name>" : {
  3. "<number1>" : {
  4. // data1....
  5. },
  6. "<number2>" : {
  7. // data2....
  8. },
  9. }
という風に各キャリア名のオブジェクト内に絵文字番号をキーとする絵文字オブジェクトが格納されています。
それぞれのdataの中身は以下のようになっています。
  1. ・docomo_emoji.json
  2. number : 絵文字番号
  3. sjis : Shift_JISコード(hex)
  4. sjis-10 : Shift_JISコード(dec)
  5. unicode : Unicodeコード(hex)
  6. title : 絵文字の名称
  7. color : 絵文字の色
  8. utf-8 : UTF-8バイナリコード(hex)

  1. ・ezweb_emoji.json
  2. number : 絵文字番号
  3. name : 絵文字の英字名称
  4. title : 絵文字の名称
  5. sjis : Shift_JISコード(hex)
  6. unicode : Unicode(hex)
  7. jis-email : Eメール送出用JISコード(hex)
  8. sjis-email : 上記に対応したShift_JISコード(hex)
  9. utf-8 : UTF-8のバイナリコード(hex)

  1. ・softbank_emoji.json
  2. number : 絵文字番号
  3. unicode : Unicode(hex)
  4. webcode : Webコード中の制御部分を除いた、3~4バイト目のコード(hex)
  5. sjis: Shift_JISコード(hex)
  6. utf-8 : UTF-8バイナリコード(hex)

  1. ・<carrier_name>_convert.json
  2. docomo : 対応するdocomoの絵文字番号/代替文字
  3. ezweb : 対応するezwebの絵文字番号/代替文字
  4. softbank : 対応するsoftbankの絵文字番号/代替文字

利用する場合には、上記の各コードをpackしてバイナリにするなり、テキスト形式として記述するのに使うなり、適切な処理をかけて利用してください。

上記の仕様のうち、ezweb_emoji.jsonに格納してあるUTF-8のバイナリコードは、id:miyagawa氏の調査により発覚した機械的なマッピングによるものです。

絵文字データは各キャリアが発表しているものを元に、独自調査やグーグル先生の教え(笑)によって集めた情報を加えて、隠し絵文字などもできうる限り補完するようにしました。

<carrier_name>_convert.json内で、1つの絵文字を複数に対してマッピングしている場合(docomoの拡23など)には、それら複数の絵文字番号を;(セミコロン)をセパレータとして合わせて格納しています。
このマッピングデータを作成する上で、ウノウラボのharukさんが公開なさっている絵文字の相互変換リストをベースとして利用させていただきました。この場を借りて、感謝申し上げます。

絵文字番号の規則は、それぞれ公式ページの絵文字と照らし合わせる形で
  1. ・docomo
  2. 基本絵文字:1~176
  3. 拡張絵文字:1001~1076
  4. ・ezweb
  5. 絵文字番号:1~828
  6. ・softbank
  7. PAGE1:1~ 90
  8. PAGE2:101~190
  9. PAGE3:201~290
  10. PAGE4:301~377
  11. PAGE5:401~476
  12. PAGE6:501~562
となっています(隠し絵文字含む)。

もちろん、各データは演算により他のデータから算出可能な物同士であることが多いですが、それらの重複は利用時の容易さを優先してあえて重複させてあります。


このデータを作成するにあたり参考にさせて頂いたサイトやデータは以下の通りです。
# 無論学習の上ではその他様々なサイトを参考にさせていただきましたが、その中でもデータ作成に直結する情報を紹介させていただきました。

もし、このデータを利用なさる場合には、特に個人サイトなどであればブクマするとかはてスタつけるとかしてあげてくれると自分としても少し貢献できて報われます。

データの利用に関して特に制限事項はありませんので、ご自由にお使いください。
このデータが皆さんのお役に立てば幸いです。

※なお、このデータは自分が独自に作成したものであり、公式情報でもないし内容の正確性を保証するものでもありません。
利用なさる場合には、各個人の責任のもとでご利用ください。

======

個人サイト等非公式情報:

・ウノウラボ : 絵文字の相互変換リスト
http://labs.unoh.net/2007/02/post_65.html
相互変換のマッピングデータを作成する際のベースとして利用させていただきました。

・My First HDML : EZWebの絵文字
http://wap2.jp/images/icons/
Ezwebの隠し絵文字や英字名称などの情報は、こちらを参考にさせていただきました。

・Bulknews::Subtech : KDDI/AUでutf-8のHTMLフォームから送られてくる絵文字コード
http://subtech.g.hatena.ne.jp/miyagawa/20071112/1194865208
Ezwebの絵文字UTF-8マッピングの参考にさせていただきました。


公式情報:

・作ろうiモードコンテンツ:絵文字記述方法
http://www.nttdocomo.co.jp/service/imode/make/content/pictograph/howto/index.html
・絵文字変換機能
http://www.nttdocomo.co.jp/service/mail/imode_mail/emoji_convert/index.html

・KDDI au:技術情報 > 絵文字
http://www.au.kddi.com/ezfactory/tec/spec/3.html

・ソフトバンク:絵文字一覧
http://developers.softbankmobile.co.jp/dp/tool_dl/web/picword_top.php
・SoftBankから他社ケータイへの絵文字変換
http://mb.softbank.jp/mb/service/3G/mail/pictogram/

コメント

    • いろんなサイトからリストを拾って使ってたのでうれしいですー
      早速使わせてもらいますー
    • >らいあさん
      お役にたてれば幸いですー。
      もし、おかしいっぽい所とか不足部分とかあったら、ぜひ言ってください。
    • ezweb_emoji.jsonの4100行目
      "sjis-email" : "ES74",

      これ元データも間違ってますよね(笑
      僕も拾ってきたときエラーになった記憶があります。
    • >らいあさん
      うおー、本当だ。。。
      ありがとうございます。早速反映させていただきます。
    • 素晴らしいデータをありがとうございます!
      大変有り難く使わせてもらっています。

      先ほどデータの間違いを見つけたので、感謝ついでにご報告していきますね。

      softbank_emoji.json
      × [softbank][228][webcode] => "46"
      ○ [softbank][228][webcode] => "463c"
    • >ymknさん
      ありがとうございます。
      こういう細かいところの指摘、非常に助かります。

      もっと充実した利用しやすいものにできるよう、頑張りますね。
    • 大変有用なデータをありがとうございます。
      間違い(と思われる)箇所を見つけましたのでご報告させていただきます。

      ezweb_emoji.json
      455
      × "jis-email" : "7A2A",
      ○ "jis-email" : "7A24",

      ※461番も
      "jis-email" : "7A2A",
      なので気が付きました。
    • > yoshiさん
      ありがとうございます。とても助かります。

      近々、各種修正版をUPするようにします。
    • ymknさんの修正と合わせて,以下もお願いします.
      softbank_emoji.json
      128
      webcode 45 -> 453c

      238
      webcode 4f -> 4f3c

      428
      webcode 50 -> 503c

      528
      webcode 51 -> 513c
    • 素晴らしい!是非利用させていただきます。
      自分でもやろうやろうと思いつつ重い腰が上がらなかったことを考えると、ご苦労お察しします。

      利用中に気付いたことがあったらコメントさせていただきます。
    • これはとっても素晴らしいデータですね!
      ありがたく使わせていただきます。
      そこで、感謝の念も込めて、
      ・上記の皆様のコメント部分を修正
      ・データが空だった箇所のアップデート
       → docomo_emojiの1001以降のsjis-10
       → softbank_emojiの283~290のsjis
       → ezweb_convertの174、175のdokomo、softbank
       ※ ezweb_convertの175の1/4空白は半角空白にしてます。
      の2点をアップデートしたものを以下にアップしました。
      http://www.andand.net/emoji_json090606.zip

      どうぞご自由にダウンロードしてください。

      > かめもと様
      上記、もし問題がございましたら、すぐに削除致しますので、
      ご連絡ください。

コメントフォーム

認証
captcha_key
 

トラックバック

最近の記事