携帯UI大幅変更 & 携帯各キャリア間変更
2007/10/1 リリース予定の、
OpenPNE2.10は「携帯機能の強化」「速度チューニング」の2本の目玉を軸に、
開発を行っています。
「携帯機能の強化」について2点ほど大きい修正をtrunkに入れたので、
報告です。
■携帯UI大幅変更
chtml6.0以降対応のリッチな画面にした。
■携帯絵文字の各キャリア間変更
■0■設計
入力時は、
各端末の携帯キャリアをUserAgentで判断し、
「■1■」の形式でDBに格納する。出力時は、
出力端末の携帯キャリアをUserAgentで判断し、
「■2■」の変換テーブルにかけ「■3■」の出力方式で出力する。「■1■」のDBの保存形式だが、
「■4■」の「'」「'G!'」「」などをDBに格納し、
出力時に正規表現でひっかける計算コストと、
「■1■」の「%%i1%%」「%%e1%%」「%%s1%%」を正規表現でかけるコストを比較し、
「■1■」を選択した。基本既存の絵文字データは今までと同じく各キャリア変換はされずに、
今までどおり表示されても良いという設計方針である。
2.10導入後に書き込まれた絵文字のみ、各キャリア間で変換されれば良い。既存の絵文字データに関してはコンバータを用意するが、
膨大なデータのあるSNSもあるので、
速度面で使えないものもあるだろう。
■1■DBに格納する形式
# DoCoMo(i-mode)
基本絵文字:%%i(1〜176)%%
拡張絵文字:%%i(1001〜1076)%%# au(EZweb)
絵文字番号=%%e(1〜822)%%# SoftBank
PAGE1(G):%%s( 1〜 90)%%
PAGE1(E):%%s(101〜190)%%
PAGE1(F):%%s(201〜290)%%
PAGE1(O):%%s(301〜377)%%
PAGE1(P):%%s(401〜476)%%
PAGE1(Q):%%s(501〜562)%%の形で格納しています。
■2■各キャリアの絵文字の変換テーブル
http://labs.unoh.net/2007/02/post_65.html
を参考に、
//Docomo => SoftBank
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L20//Docomo => AU
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L275//SoftBank => Docomo
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L530//SoftBank => AU
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L1020//AU => Docomo
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L1508//AU => SoftBank
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L2152の変換テーブルを作りました。
■4■出力
DoCoMo
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L2971SoftBank
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L3240AU
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L3751