HTML の構文解析とレンダリング(C++)
■ 機能 ・HTTP 1.0 の GET メソッドを実装 ・IE の「お気に入り」を利用可能 ・IE の Proxy 設定を利用可能 ・内部バッファはワイド文字(サロゲートペア未対応)で、 UTF-8/Shift_JIS/EUC-JP/JIS を自動判別してコード変換 ・JPEG/GIF/PNG 画像が表示可能 ・サポートしているプロトコル HTTP, FILE, HTTPS の場合、既存のデフォルトブラウザを起動 ・サポートしている HTML 要素 a, img, br, title, p, pre ・特殊文字の置換に一部対応( & < >) ・URL をコマンドライン引数として渡して起動することが可能 ・マウスのホイールボタン対応 ■ 今後の予定 ・ページ内の同一画像をキャッシュし、無駄な HTTP リクエストを削減する ・画像のダウンロードをバックグラウンドで実行する ・Form の実験的実装(Google の利用による Web 検索, 2ちゃんねるへの投稿を可能にする) ・ファイルをダウンロードし、保存できるようにする ・「戻る」「進む」ボタンの実装 ・構文木の生成と、構文木の解釈によるレンダリング(現在は各要素のトークン化のみ)
・SCRIPT 要素内で、コメントアウトされていない内容(JavaScript 等)を除去するように修正 ・a 要素等で行内に収まる場合、強制的に改行しないように修正 ・p 要素と pre 要素のサポートを追加 ・ステータス・バー上に描画内容がオーバラップしてしまう問題を修正 ・ローカルファイル表示の際に、アドレス・バーにアドレスが表示されない問題を修正 ・EUC-JP の、いわゆる半角カナの判定不具合を修正 ・「お気に入りの追加」を可能にした ・comctl32.dll のバージョンをチェックして、4.71 以降の場合に お気に入り関連のコードを移動した utils.dll を動的にロード するように修正
・IE の「お気に入り」を利用可能にした ・配布ファイルから ncb ファイルを削除して配布するようにした(今回は 333KB に縮小できた)
・テキストが欠ける現象の修正 ・スクロール量の見直し ・マウスのホイールボタンに対応