携帯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#L2971

SoftBank
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L3240

AU
http://trac.openpne.jp/browser/OpenPNE/branches/work/maruyama/prj_emoji/webapp/lib/OpenPNE/KtaiEmoji.php?rev=3740#L3751