gdi++ @ ウィキ

更新履歴(F)


※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。


更新履歴

注: このページの情報は古い可能性があります。最新版の情報などは2chスレを各自追いましょう。
  また、こちらも参照してみて下さい。

※特に明記してないのは693@3pxによる変更・修正

■gdi0392
gdi0387からの変更点
  • David Turner氏の指摘を受けたので、パス操作関数を自前の物に置き換えてみる。
 どう見ても手抜き関数です。本当に(ry
  • 配列クラスもまずそうなので素直にATL使うことにした。
  • gdi++.exeのエラーメッセージをリソース化してみる。
 多分英語版Windowsとか使ってるといい加減な英語メッセージが出るはず。
  • マニュアル見てたらFT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTHなるフラグハッケソ。
 DynafontやSH G30で幅が変だったのをgdi++側でどうにか出来た。



■gdi0387
gdi0369からの変更点
  • 2ヶ月記念でも何も無い。
  • Operaで描画できないので、MM_TEXT以外を弾くようにしていたのをやめた。
  • gdi++.exeの動作をよりExplorerに近づけた。
  • 標準AAより薄いという話題が続いてるので***Weightの上限・下限を倍にした。



■gdi0369
  • ExcludeModuleでもとりあえずgdi++.dllはロードしておくように。
  • Manager使ってるとなぜかExplorerでメモ帳が起動しないことがあったので修正。



■gdi0367
gdi0347からの変更点
  • 太字の描画を変えてみた。
  • ↑をするのにFreeTypeのソースを一部含んでるからライセンスをFTLにした。



■gdi0347
gdi0333からの変更点
  • HookChildProcessesのバグ修正。
 - 「メモリが "written" になることはできませんでした。」とか出るやつ。
 - ANSIアプリで適用されないみたいなのでCreateProcessAもフックした。
 - ついでにManager使ってると自動でHookChildProcesses=0にしてたのをやめた。
  • gdi++.exeの動作を改善。
 Wordとかコントロールパネルとかの特殊なショートカットが動くようになった。
  • 縦書きグリフ読めるかなあ? (gdi0344、555氏)
※FreeTypeに手を加える必要があるため、付属のgdi++.dllでは対応していない。
 対応させるには別ファイルの下のほうに書いてある手順でgdi++をビルドする。



■gdi0333
gdi0324からの変更点
  • NormalWeightに対応してみた。
  • Individualセクションとかの総文字数が256を超えていると読めなかったバグ修正。
  • Individualで指定した数値の範囲溢れチェックしていなかったバグ修正。
  • XPのメモ帳でメイリオとか指定すると異様に重いというメモ帳のバグを回避。
  • マニュアル分割。



■gdi0327
gdi0310からの変更点 (by 555)
  • ◆0x0D/0x20I氏のアイコンをちょいとexeにつけてみる。
  • どうもsetlocaleしてないといまいちかもしれないのでなんとなく。



■gdi0324
gdi0310からの変更点
  • 1ヶ月記念で全部入りセット
  • HookChildProcessesで2階層以降の子プロセスに適用されなくなっていたのを修正。
    ただし仕様上、間にCUIアプリなどが入るとうまくいかない可能性あり。
  • マッピングモードがMM_TEXT以外を弾くように。
  • ANSI版APIで、文字数が少ないときはバッファをスタックから確保するようにした。
    JaneDoeとかのANSIアプリでオーバーヘッドが小さくなった。
  • ボールドの描画をWindowsっぽくした。
  • 自前キャッシュに食わせる方が(FreeTypeのキャッシュより)速い事が分かったので
    FT_LOAD_RENDERでFTC_ImageCache_Lookupを呼び出さないようにした。
  • ついでに自前キャッシュもCacheMax~に対応してみた。
  • 初期設定でメモリを馬鹿食いしないようにした。
  • オプション設定を追加・復活+隠しオプションを明文化
  • gdippInfoツールを追加
  • その他細かいバグ潰し



■gdi0310
gdi0305からの変更点
  • グリフ番号の見つからなかった文字だけをWindowsの標準レンダラに投げるように。
    副作用で、Tahomaとかで多少見やすくなったりIEでのズレが無くなったり。
  • 文字幅計算で無駄な処理を減らした



■gdi0305
gdi0301からの変更点
  • BoldやItalic用のフォントを使用するようにした (gdi0270、555氏)



■gdi0301
gdi0298からの変更点
  • LcdFilterオプション追加
  • 補助キャッシュのバグ修正(2重delete+GC作動していなかった)



■gdi0298
gdi0289からの変更点
  • HookChildProcessesでBATを開けるようにした(エラー処理省いただけ)
  • Memory Mappingを復活させた
  • リソースのコメントにFreeTypeのcredit入れといた
  • Individualのパラメータ省略がバグっていたのを修正



■gdi0289
gdi0268からの変更点
  • 補助キャッシュの無駄を無くしてさらに高速化
  • GetFontData周りの無駄を減らして消費メモリ量減少
  • オプション設定追加
  • 堕落。(gdi0286、555氏)



■gdi0268
gdi0257からの変更点
  • ソース書き換えまくって安定性が落ちたので注意
  • HDBENCH升搭載
  • 補助キャッシュを搭載したので多少高速化が期待できるはず
  • GetFontDataに渡すバッファをMemory Mappingに変えた
  • Managerで使うとやたらと不安定なので一時的に使えなくした



■gdi0257
gdi0235からの変更点
  • 上下ズレに終止符をうった (555氏)
  • SetTextCharacterExtraを正しく扱うようにした
  • ForceChangeFontで多少見やすくなった
  • 灰色文字描画の処理方法を変えたのでメニューとかで文字が潰れなくなった
  • AntiAliasMode=-1でAAを無効化できるようにした



■gdi0235
gdi0228からの変更点
  • Individualで個別設定可。
  • readmeの統合(・∀・)カンリョウ!!



■gdi0228
gdi0224からの変更点
  • メイリオ on WinXPの化け直し
  • "EnableKerningの廃止"をgdi0206以降のreadmeに書いていなかった
  • JaneDoeの書き込みダイアログで選択文字列にAAが効かなかったバグ修正
  • Manifest削除ツール追加
  • 991@3px氏の要望に応えてみる
  • readmeの統合中



■gdi0224
gdi0216からの変更点
  • GetTextMetricsのフック関数でFreeTypeGetTextMetricsの呼び出しに
    失敗したときの処理を変更(FreeTypeGetTextMetricsで失敗してもFALSEを返さない)。
  • 化ける問題で、37@4px氏の発言に基づきXPでもTextOut系のフック関数で
    オリジナルを呼ばないようにしてみた。
    (ちなみに37@4px=693だったりする)



■gdi0216
gdi0209からの変更点
  • 豪速化オプション搭載(使用は要注意)
  • XPで全く動作しない致命的バグ修正
  • MS-IMEで欠けるバグが再発してたのを修正



■gdi0209
gdi0206からの変更点
  • AntiAliasMode=3が効いていなかったバグ修正
  • Gdipp~系のAPIを一時的に削除
  • GetCharWidthW、GetCharWidth32Wもフックした
  • FT_Bitmap::bufferがNULLの場合はとりあえずTextOutに投げといた
  • FreeType周りのソースを整理して弄りやすくした



■gdi0206
gdi0181からの変更点
  • "最初に読む.txt"のファイル名変更
  • iniファイルの[General]、ForceChangeFontにフォント名が書かれている場合、
    強制的にそのフォントを使うようになる。(gdi0186)
  • manifest入れた(>>891氏)
  • FT_Library_SetLcdFilterを呼ぶようにした
    CVSのFreeType 2.2.2で画質が向上する。(※)
  • MS-IMEで欠けるバグの修正(>>876氏)
  • 欧文フォントでずれるバグを多分潰した
※バイナリは上げるつもりないのでCVSから自分で取ってきてコンパイルする。



■gdi0181
gdi0177からの変更点
  • 下線と取消線の描画位置を修正
  • サブピクセルレンダリングを修正
  • FontListをsettings.cpp/hに移動したりいろいろ改造
  • DrawHorizontalLineをしょーもない最適化(バグってるかも)



■gdi0177
gdi0172からの変更点 (by 555)
  • カーニングを設定で切り替えられるように。
  • 文字サイズ指定部分を弄ったので変になってるかもしれない。



■gdi0172
gdi0170との違い&変更点
  • 取り消し線の描画位置を修正
  • MulDiv使ったりしてintキャスト時の丸め処理を四捨五入にした
  • 何となくKerningをオフに戻してみた
  • render_mode変数を初期化しとくようにした



■gdi0170
gdi0168からの変更点 (by 555)
  • 太字、斜体。



■gdi00168
gdi0164からの変更 (by 555)
  • Kerning。変になるかもしれないので消すかもしれない。
  • 下線、取消線を適当に(下線が出るかもしれない)。
  • ベースラインを上記サイトの更新に伴って修正(下欠けが減るかもしれない)
  • 文字サイズ指定を変更(負の高さとかがまともになるかもしれない)。



■gdi0164
gdi0156からの変更点
  • GetTextMetricsもフックして色々弄った
  • >>759@3pxを追加



■gdi0156
gdi0152からの変更点
  • ズレ欠け+色化け修正
  • ボールドやイタリックでもAAがかかるようにした
    でもボールドやイタリックにはならないww



■gdi0152
gdi0145との違い
  • gdi0143に神(555氏)が書いたfreetypeソース(gdi0145)をマージ
  • HintingModeとかのオプション設定を[General]に書いても動作する
  • UseFreeTypeの廃止
    →今までどおりExcludeに除外フォントを書く
  • ExcludeModuleが使える(未確認)
  • 一応Firefoxでも文字が出る



■gdi0145
gdi0143からの変更点
  • DllMainで参照カウンタ上げてなかったバグ修正
  • gdi++.exeでコマンドライン引数が正しく渡せなかったバグ修正



■gdi0143
gdi0133をコンパイルしたもの

更新履歴

取得中です。