国内の主要携帯(3キャリア)向けコンテンツ変換ミドルウェアをApache2.x用のモジュールとして作成します。CHTMLや通常のHTMLで作成したコンテンツを出力時にUserAgentを見てそれぞれの端末用に変換します(画像はJPG、GIF、PNGからJPG、GIF、PNG、BMPへ)。QRコード生成機能付。
使い方などについては
プロジェクトWiki
を参照ください。
機能拡張+BugFix
* PNGの場合、サイズが大きくなってしまう.
16色、8色を追加して、それでもだめならあきらめる。
* デバッグログを少々追加。
* html_spec_typeを変更。
#define --> enum
* 起動の高速化。パーサーの高速化。
パーサーのメモリ管理部分で時間をロスしていたので、修正。
* QS_EXPORT削除.
* ソースファイル中のSJISコードを削除。
* INSTALLに画像関連の設定を追加。
* 画像のキャッシュファイル名中の'('と')'も'_'に変換するように修正。
* EZGETモード追加。
<a href="/img/abc?Mode=EZGET">ダウンロード</a>
のように指定すると、
ダウンロード用HDMLが返され(NODISPLAY)、ダウンロードを開始する.
nameパラメータ、offsetパラメータ、countパラメータが存在すると、
EZGETのダウンロードシーケンスを実行する.
対象画像はMode=WPを指定したものと同一の画像サイズとなる.
* パーサーのNO_PARSE_MODEの追加。
<chxj:if>タグ内は、NO_PARSE_MODE.
* 壁紙モード時の画像サイズ変換ロジックを修正。
高さをあわせてから、横幅をトリミング。
* DOCTYPEが存在する場合、DOCTYPEの子ノードが出来ていたのを修正。
* 入力のHTMLがでたらめの場合、存在しないROOTノードの親ノードにアクセスしてしまう欠陥の修正。
* 著作権保護モードの追加。
画像を転送禁止にすることが可能。
Vodafoneについては、URLの最後に".pnz"か".jpz"をつけなければならない場合がある。
ディレクティブ名は ChxjImageCopyright。
ChxjImageCopyright "A.Konno"
のように指定する。
* 画像サイズをキャッシュサイズよりも大きくならない
ようにがんばるロジック追加。
詳細は下記のとおり。
1) 品質を落として、圧縮率を上げていく。
それでもだめなら、2)へ。
2) 色数を落とす。
それでもだめなら、あきらめる。
* 色数とdepthは比例するように修正。
* device_data.xmlに以下のタグを追加。
<wp_width>
<wp_heigh>
<cache>
<dpi_width>
<dpi_heigh>
意味は以下のとおり。
<wp_width> : 壁紙の幅
<wp_heigh> : 壁紙の高さ
<cache> : キャリアのキャッシュサイズ
<dpi_width> : DPI(横)
<dpi_heigh> : DPI (縦)
* qs_all_freeで2重解放して、Segmentation Falt していたものを修正。