「gdi++.dll」の編集履歴(バックアップ)一覧はこちら

gdi++.dll」(2008/06/12 (木) 21:42:36) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

#contents ---- *本家版(最新のみ) **stable version (gdi++20060927) [[本家>http://drwatson.nobody.jp/gdi++/index.html]]の[[ダウンロード>http://drwatson.nobody.jp/gdi++/download.html]]ページにて。 >784 名前: ◆0x0D/0x20I 2006/09/27(水) 12:00:00 ID:kdcoJI+4 >・GetTextExtentPoint32()が除外フォントでも処理していたのを修正 >・IsValidDC()関数を新たに作って、画面用のDCかどうかをチェックするようになった >・印刷時に崩れる問題が解決しているかもしれない) >・>>501氏によるソースの整理 >・狩野氏によるエッジ強調フィルタの搭載(Enhanceオプションが追加されています) >・gdi++.dllがGetMsgProc()をエクスポートする仕様に(>>654氏=>>168氏) >・デフォルトでFixedSysとMarlettを除外するようにしておく >ここらへんで、とりあえずまとめておきました。サイトにうpしてるのは、ある程度stableなnightly>build(今日はお昼だけど)って感じです。 >大勢の人が関わってもらえるようになってきて、現状の流れで漏れのサイトにうpし続けるっていうのもちょっとアレだと思うし、そろそろライセンスとか権利の問題を明確にしておかなきゃいけないんだろうと思う。 >>>779 >>779 名前:名無し~3.EXE 2006/09/27(水) 11:24:52 ID:o91aaQSC >>gVimで表示がおかしくなります。 >> >>[[http://www.uploda.org/uporg529423.png]] >>右は0924版で表示が崩れ、左は0926版(0925版も一緒)でAA効いてません。 >>フォントはMSゴシック10ポイント、設定はデフォルトのini、SSはVista RC1ですがXP SP2でも状況は同じでした。 >>他のアプリでは問題ないんですが・・・ >うーん、スムージングが効いてないですかぁ。0924でズレってるってことはExtTextOutA周りの問題ってことだけど、うーん、XP以降のバージョンではオリジナルのExtTextOutAがExtTextOutWを呼ぶ計算になってるんだけど・・・ちょっとチェックしてみます。 >>>780 >>780 名前:名無し~3.EXE 2006/09/27(水) 11:25:00 ID:hvd1nGGx >>Sn でつくってみた。なにか設定が必要なら言ってください。 >>アクセス制限に引っかかることはないと思いたい。 >> >>ttp://free.flop.jp/gdi++/ >うわ、ロダができてる。乙。 >800 名前:名無し~3.EXE 2006/09/27(水) 14:39:27 ID:a1jtWTIq >>>784 >Firefoxで選択範囲がずれてる件(>>758)は治りました。乙! > >ただ、textareaに入力してるとだんだんおかしくなる >[[http://free.flop.jp/gdi++/src/gdi0003.png]] >888 名前:名無し~3.EXE 2006/09/27(水) 20:16:57 ID:amHmqYMt >>>784 >のバージョンだとEnhance=1以上にすると >シャープネスノイズが出るようになってます。 >20pt程度のフォントサイズで適用するとよくわかるかも。 >個人的には1を基準とするなら0.2くらいの効果が好みです。 > >あと、Quality=4にすると対応していないマシンのせいか >適用したアプリが全て強制終了するように。。。 >AllGdiで実行したのでOSを巻き込んで死亡(;´д⊂ > >スペッコ:WinXP SP2、AthlonXP、1024M ---- *以下改良版(上に行くほど最新) 容量規制の為FreeType版は【[[gdi++.dll FreeType]]】のページへ移しました。 ---- **gdi0261 (常駐GUI) -&s(){&nolink(http://free.flop.jp/gdi++/src/gdi0261.zip)} >gdippManager ver.1105 >ver.1029 ベース > >機能の変更点 > ・GUIつけてみた > ・DLL側の関数で代用できるケースはまずそちらを使うようにした > ・細かい修正とか > ・VS2005EEのプロジェクトつけた *.sln / *.vcproj > > ※GUI注意 >  ・セクションがない、キーがない、値がない(一部除く)項目は編集できず出力もしません >    無条件に出力するとDLLが対応してないINI項目がふえちゃうから >  ・数値を自由に指定できる項目は-1~99で指定できます >    「基本的には」DLL側で最小値/最大値に丸めてるので >    実際にどの項目がどの値まで有効値とするのかあまり見てないです >  ・Individualセクションにダミーでもデータ入れておかないと、 >    新旧どっちの書式かわからないので警告出てうざいです > > ※FreeType版 >  ・そのうちに explorer.exe がハングするので事実上利用不能 >   右クリックメニューとかでハングする ---- **gdi0147 (常駐 gdippManager) -[[http://free.flop.jp/gdi++/src/gdi0147.zip]] >692 名前:名無し~3.EXE 2006/10/28(土) 02:21:10 ID:SN2pkdqO >常駐 >システムディレクトリとexeサブディレクトリ内にある複数のDLLを管理できるようにした >でもGUIは実装してない > >※Studentがイチから書き直しているので利用は警戒しる ---- **gdi0118 (gdi0116のバグ修正+おまけ改) -[[http://free.flop.jp/gdi++/src/gdi0118.zip]] >883 名前:168 2006/10/06(金) 10:09:12 ID:iQtt8ZFA >>>868(gdi0116)で落ちるバグ取れたかも。__assume入れてたの忘れてた >ついでにおまけに少し手を加えますた。 >多重起動とかバージョン情報のハイパーリンクとかww ---- **gdi0116 (gdi0093のバグ修正+Pico氏(gdi0112)の縮小アルゴリズムを組み込み) -[[http://free.flop.jp/gdi++/src/gdi0116.zip]] >868 名前:名無し~3.EXE 2006/10/06(金) 01:47:44 ID:iQtt8ZFA >漸くデバッグ完了したのでとりあえず暫定版ビルドしてみますた > >多分>>644,>>655,>>659,>>712あたりの修正とPico氏の>>834ぐらい >ってか日が経ちすぎて忘れたorz >>644 名前:名無し~3.EXE 2006/10/01(日) 19:19:42 ID:2rzB94Gp >>とりあえずDrawStateもフックして強引に灰色テキストを描画できるようにしてみたけど、なんかイマイチ >>http://free.flop.jp/gdi++/src/gdi0098.png >> >>>>639 >>漏れの環境だとそのアドレスには既にINDICDLL.DLLとかいうのが読み込まれててバッティングするけど > >>655 名前:名無し~3.EXE 2006/10/01(日) 22:05:23 ID:2rzB94Gp >>うpろだ100記念w >> >>>>644のやつはアイコンとかが灰色で描画されてなかったので他の方法を模索してみた。 >> >>とりあえずDST_TEXTとDST_PREFIXTEXTは何とかなったけど、DST_COMPLEXはもうこれ以上無理のような気がしてきた >>http://free.flop.jp/gdi++/src/gdi0100.png >> >>>>654 >>んーotfか・・・とりあえずDrawStateの問題が片付いたら調べてみます。 >>片付きそうにないけどorz > >>659 名前:名無し~3.EXE 2006/10/01(日) 23:01:51 ID:2rzB94Gp >>DrawStateとは関係ないけどこれ直してみますた。 >>http://free.flop.jp/gdi++/src/gdi0101.png >> >>これで1行下にズレてる系のバグは全部直ってるはず。 > >>712 名前:名無し~3.EXE 2006/10/02(月) 22:44:45 ID:dtRB8HD5 >>スタート→プログラムにあるIEのショートカットをgdi++.exeで開けない気がする > >あと理由は知らんけどダイアログがズレるバグとwin2kでメモリがreadに・・・のバグはなぜか出てない模様(環境によっては出てるかも) >おまけフォルダにサービス化セットあり ---- **gdi0112 (MMX対応など) -[[http://free.flop.jp/gdi++/src/gdi0112.zip]] >834 名前:Pico ◆PicoKHZGNI 2006/10/05(木) 07:47:55 ID:3uBaMu8k >意外とMMX版に需要が有るようなので作成してみました。 > >・Qualityをちゃんと読むようになりました。 > Quality=7 の時のみSSE2やMMXを使用します。 > それ以外(0~6,11,15)の場合は、Cのコードで動きます。割と遅いですorz > >・MMXに対応しました。いやぁ命令の名前が共通ってのは便利だな。 > デフォルトではSSE2以上向けのgdi++.dllが入っているので、 > MMX対応CPUならmmxフォルダ、そうでないならgenericフォルダの物と置き換えてください。 > >・ズレとかはまだ全然直っていないはず。 ---- **gdi0110 (gdi0102 + 735Image) -[[http://free.flop.jp/gdi++/src/gdi0110.zip]] >832 名前:名無し~3.EXE 2006/10/05(木) 02:36:25 ID:qwK8X3LA >常駐Manager とりあえずプレビュー機能と適用ボタンまでINI処理を結構書き換えてしまったのでINIに保存されてねーぞゴルァ! みたいなのがあったらごめん > >>>735に触発されて作ってたんだけど今の今まで要旨が "プレビュー" のほうだと思ってたせいで "Managerだけに適用" をすっ飛ばしてました('A`) >>735 名前:名無し~3.EXE 2006/10/03(火) 16:36:33 ID:U1YlA+Z8 >>gdippMangager.exeに適用ボタン、またはgdippManager.exeだけに変更を加えてプレビューできる機能とか出来ないかな? >> >>こんな感じに >>http://free.flop.jp/gdi++/src/gdi0103.png >>まだ全体をころころ変えてるとエラー出る場合があるのであったらいいなというだけです ---- **gdi0109 (up105のSSE無し版) -[[http://free.flop.jp/gdi++/src/gdi0109.zip]] >825 名前:369 2006/10/05(木) 00:32:32 ID:KJEE4Gl9 >>>778 >SSE使わないようにしてみたが動くか? >縮小が3倍、全体で見ると1割ぐらい遅くなってるけど。 ---- **gdi0107 (gdi0104-エンハンスフィルタの改良版-のバグ修正) -[[http://free.flop.jp/gdi++/src/gdi0107.zip]](gdi0104のバグ修正版) -[[http://free.flop.jp/gdi++/src/gdi0104.zip]](エンハンスフィルタの改良版) >766 名前:67 2006/10/04(水) 02:49:30 ID:vnJAecEO >エッジ強調フィルタの改良版をアップローダに上げました。今回は、文字のいちばん外側のピクセルにはフィルタを掛けず、内側にはきっちり今まで通りの処理を施すようにしてあります。 >ベースバージョンは公式の20060927です。 > >>>754 >>754 名前:名無し~3.EXE 2006/10/03(火) 22:26:21 ID:ylMzz5mE >>すまん、アイデアだけ。 >> >>①現状の単純平均から重みつき平均を使う。 >>111 >>141 >>111 これでもやっと感を減らしつつ、出すところは出す。どんなフィルタがいいんだろ? >> >>②現在の平均を取る部分の変わりに、ルックアップテーブルを作る。 >>LUT[0-256*16] >>データサイズはせいぜい >>もしガンマ補正が必要ならば、LUT上にかける。 >>これで除算が無くなるから、そこそこ二次キャッシュがあればスピードも上がる? >縮小時に重みつき平均を取ると、同じ太さの線が(縮小後の)ピクセルのまん中にある時と橋にある時で濃さが変わってしまうのが難点です。2つのピクセルの境界に沿って線が引かれているような時は、片方のピクセルにかかっている分を無視して、隣のピクセルに足し込んでやると文字全体の濃さが変わらずにコントラストが改善できるんですが、とても重い処理になりそうです。 >>>755 >>755 名前:名無し~3.EXE 2006/10/03(火) 22:43:03 ID:EozvE0/P >>ラプラシアンフィルタを使ったシャープネスフィルタがいいかも >> >>laplacian: >>0 1 0 >>1 -4 1 >>0 1 0 >> >>double rate = /* 0.0 - 1.0 */; >>double result = cm->i() - rate*(ct->i() + lm->i() + rm->i() + cb->i() - 4*cm->i()); >今までのフィルタがまさにラプラシアンをめんどくさいやり方で実装したものです。-1 2 -1 のフィルタを縦横にかけて中間結果を別々に持ち、最後に総和を取っています。 >>>758 >>758 名前:名無し~3.EXE 2006/10/03(火) 23:53:17 ID:PbXGshjl >>>>754 >>ルックアップテーブルは考えた。 >>描画エリアの背景を拡大してフォントレンダラに送り込んで描画後に縮小だ。 >>白地に黒とかなら問題ないんだが、ガンマ補正入りルックアップテーブルなぞ使ったら背景の影響を受けるし、文字の背景画像にも影響を与えるんだなコレが。 >常に白黒で書いて好きにガンマ補正をかけてから、背景との合成は自前で計算したほうがいいかも。8倍に拡大描画すれば、1の立ったビットの個数を表引きで求められるので、それなりに速く実装できそう ---- **gdi0105 (1bit+アルファブレンド(注:要SSE2、きわめて未完成)) -[[http://free.flop.jp/gdi++/src/gdi0105.zip]] >770 名前:Pico ◆PicoKHZGNI 2006/10/04(水) 07:11:53 ID:hsbLqC/N >0079版をベースにして、1bitで8x8倍で描画して、アルファブレンドさせてみました。 >SSE2を使った縮小アルゴリズムを書いてみたら、かなり軽くなった気がするので、まだアルファ版以下の完成度ですが、良かったら試してみてください。 > >注意: >△とても未完成です。 >△Quality、Enhanceの値は無視しています。 >△8*8なので64階調です。 >△SSE2専用です。 >△かなり大量にコードが変更されています。新しいバグが入っているかも。 ---- **gdi0102 (gdi0097の環境設定拡張版) -[[http://free.flop.jp/gdi++/src/gdi0102.zip]] >708 名前:名無し~3.EXE 2006/10/02(月) 22:00:24 ID:WNYntwRQ >guiで環境設定のExcludeModuleとIndividualにも対応してみました。 >機能の変更点 > ・環境設定のExcludeModuleとIndividualにも対応 > ・Weightの最大値をとりあえず32に変更 > >ソースの注釈 > ・個人的にリソースいじるのにVC6を使うので、それ用のプロジェクトファイルも追加。 > ・INIパラメータ用の変数を動的に取得して、設定後解放するようにした。 > ・他いくつか細かい修正。 ---- **gdi0097 (トレイ格納タイプのgdi.exe gdi0060+gdi0061) -[[http://free.flop.jp/gdi++/src/gdi0097.zip]] >630 名前:名無し~3.EXE 2006/10/01(日) 16:49:31 ID:h1TSe0i6 >常駐gdi 60(gdi0060)ベース+61(gdi0061)のGUI > >基本的にはくっつけただけだけど変更点は/***/で検索してたどってね >あとVSEEならプリコンパイル済みヘッダ機能使えるファイル構成にした ---- **gdi0093 (ソースをシェイプアップ?20060923版相当に戻してみた) -[[http://free.flop.jp/gdi++/src/gdi0093.zip]] >508 名前:名無し~3.EXE 2006/10/01(日) 02:47:10 ID:2rzB94Gp >>>501 >>501 名前:名無し~3.EXE 2006/10/01(日) 01:37:31 ID:9nVDSxVX >>0922改造版レベルまでソースをシェイプアップしたまへ >ソースをシェイプアップ、の意味が判らんが > >とりあえず20060923版相当に戻してみた >ここ最近の追加機能が全く使えんけどソースは見やすくなったと思うw >20060923版と比べて >・20060927版までのバグ修正 >・Jane Doeなどでズレるバグ修正 >・UseSubPixel=1のときは常にサブピクセルレンダリング >・ビットマップフォントは常にExclude >・キャッシュ、TLS > >使えるもの >・Quality >・Weight >・UseSubpixel >・SubpixelDirection >・Exclude > >使えないもの >・Enhance >・MaxHeight >・ForceAntialiasedQuality >・ExcludeModule >・SSE2、SSE3用縮小ソース >・allgdi++、gdiなど常駐機能全て **gdi0088 (サー(ry ) -[[http://free.flop.jp/gdi++/src/gdi0088.zip]] >412 名前:名無し~3.EXE 2006/09/30(土) 17:39:32 ID:4i2JaSpG >[[http://free.flop.jp/gdi++/src/gdi0081.png]] >むしゃくしゃしたのでやった。今も反省していない。 >確認環境:win2k on VMware Playerのみ > >・gdisetup.exeを実行すると登録できる >・削除する時もgdisetup.exeを使用する >・これとallgdi++.exe、gdi.exe等を併用したときの動作は無保証 >・付属のgdi++.dll以外での動作も無保証 >・何が起こっても一切無保証 ---- **gdi0079 (20060927+allgdi+ExcludeModule+TLS その2) -[[http://free.flop.jp/gdi++/src/gdi0079.zip]] >中身は多分20060927+allgdi+ExcludeModule+TLSぐらい > >・ズレるバグ修正(OpenJaneDoe、part2>>82で確認、それ以外は不明) >・ビットマップフォントはExcludeの設定に関わらず強制的にExcludeする >・gdi++、allgdi++相当の機能をdllに内包 >・gdi++.exe経由で起動したらExcludeModuleは読み飛ばすようにした >・IMPL_ExtTextOutWをいろいろ整理 >・UseSubPixel=1のときQualityの設定を無視(Quality=2とみなす) >・TLS周りでメモリリークしてたのを修正 >・StringHashのignoreCaseの動作が逆だったのを修正 > >・gdi++ > gdi++.exe又はgdi++.vbsを使うと従来通りの動作 > 以下のコマンドも利用できる > rundll32.exe "gdi++.dll",GDIPlusPlus_RunDLL <file> argument ... > >・allgdi > allgdi++.vbsを実行すると起動中の全プロセスにgdi++.dllが読み込まれる > allgdi+p.vbsで常駐モード(もう一度実行すると常駐解除) > > それぞれ以下のコマンドを実行しても同じ事が得られる > rundll32.exe "gdi++.dll",AllGDIPlusPlus_RunDLL > rundll32.exe "gdi++.dll",AllGDIPlusPlus_RunDLL -p > >・ExcludeModule > allgdi++使用時のみ有効。特定のプロセスにgdi++.dllを読み込ませなくする > Exclude"Process"ではないので↓とかも可能 > > [ExcludeModule] > hogehoge.dll ---- **gdi0076 (gdi0075のズレるバグ修正) -[[http://free.flop.jp/gdi++/src/gdi0076.zip]] >384 名前:名無し~3.EXE 2006/09/30(土) 12:26:57 ID:4i2JaSpG >・>>350(gdi0075)でズレるバグ修正 >・UseSubPixel=1のときQualityを無視 > ><チラシの裏> >ズレるバグって浮動小数点の丸め誤差かよorz ></チラシの裏> ---- **gdi0075 (20060927+allgdi+ExcludeModule+TLS) -[[http://free.flop.jp/gdi++/src/gdi0075.zip]] >350 名前:名無し~3.EXE 2006/09/30(土) 01:01:43 ID:4i2JaSpG >今日のGDI++w >中身は多分20060927+allgdi+ExcludeModule+TLSぐらい > >・ズレるバグ修正(OpenJaneDoe、GreenPad、>>82で確認、それ以外は不明) >>82 名前:名無し~3.EXE 2006/09/28(木) 08:56:41 ID:75MYieLo >>OpenJaneDoeのソースを元にして描画がズレるのを再現してみました。 >>時間のある人はこれ使ってgdi++.dllをデバッグしてください。 >>[[http://free.flop.jp/gdi++/src/gdi0032.zip]] >・ビットマップフォントはExcludeの設定に関わらず強制的にExcludeする >・gdi++、allgdi++相当の機能をdllに内包 >・gdi++.exe経由で起動したらExcludeModuleは読み飛ばすようにした >・IMPL_ExtTextOutWをいろいろ整理 > >ソースは付けていません(弄りすぎたし派生バージョン多すぎてpatch作っても意味無さそう) >が、漏れにソースくれればpatchをマージして送り返しますw ---- **gdi0061 (gdi0029+GUI) -[[http://free.flop.jp/gdi++/src/gdi0061.zip]] >296 名前:名無し~3.EXE 2006/09/29(金) 18:26:49 ID:Thxs4ylL >Win32SDK でGUI作ってみた。 >ベースはgdi0029 > >こういうのへの参加が初体験でドキドキ・・・ >gdi0029.zip をベースにINIファイル用GUIを追加。 >名前もgdipp.exeに変更しました。 > >・メニューの「INIファイルを開く」を「環境設定...」に変更 > > ダイアログが開いて、各設定値を変更できます。 > 対応しているのは基本的にstable版のもの。 > > *[Exclude]セクションは一度クリアしてから追加しているため、途中にコメント行があっても消えてしまいます。 > > OKボタンでダイアログを閉じると、新しい設定値でINIファイルを更新します。 > 更新内容を反映するために gdi++のフックをやり直しています。 > *このやり直し方がこれで問題無いかは、今いち自信無かったり・・・ ---- **gdi0060 (トレイ格納タイプのgdi.exe) -[[http://free.flop.jp/gdi++/src/gdi0060.zip]] >267 名前:名無し~3.EXE 2006/09/29(金) 15:47:40 ID:uT1dBezs >>>264 >お疲れさんです > >gdi.exe(ちなみに常駐ソース起こしたのは前スレ742:◆0x0D/0x20I氏 > >とりあえずDLLのバージョンが表示できたり >DLL読んでないときに操作できるようにしてみた ---- **gdi0052 (gdi0049 修正版) -[[http://free.flop.jp/gdi++/src/gdi0052.zip]] >215 名前:555 2006/09/29(金) 03:46:30 ID:l/FxUuFO >>>207,>>209 >>207 名前:名無し~3.EXE 2006/09/29(金) 02:00:58 ID:S45t8QPf >>ExcludeModule効かないです。ウィルスソフトの数個のプロセスがunlockerでもロック解除出来なくて、再起動するまでロックしたままなので死活問題なんです。 > >>209 名前:名無し~3.EXE 2006/09/29(金) 02:15:53 ID:ad2vtG2/ >>>>206のはgdi0025ベース(ExcludeModule効かない)だからかな。 >>Enhanceはいい感じになりますた。メニュー部分がおかしくなるけど…。 >> >>>>207 >>普通にD&Dとかで、指定アプリのみ++適用で我慢するしか。 >>一度allgdiやっちゃったら病み付きになるのは仕方ないけどw >ExcludeModule修正しました。 >Excludeも148のを取り込んでみた。 >>148 名前:名無し~3.EXE 2006/09/28(木) 18:06:00 ID:+FMMBxuw >>ほかにもビットマップって結構あるんだね >> >>[Exclude] >>メイリオ >>Meiryo >>Marlett >>System >>FixedSys >>Modern >>MS Sans Serif >>MS Serif >>Roman >>Small Fonts >>Script >>Courier >218 名前:名無し~3.EXE 2006/09/29(金) 10:56:30 ID:2RRtMqFQ >>>215 >Quality=1 のとき Enhance= を1以上にすると落ちる。 >あと、void Cache::ProcessTerm() で >voidなのにreturnがあると怒られる。 ---- **gdi0049 (gdi0025+194+ソース分割) -[[http://free.flop.jp/gdi++/src/gdi0049.zip]] >206 名前:555:2006/09/29(金) 01:51:55 ID:l/FxUuFO >gdi0025.lzh をベースに [[194(gdi++20060929-enhance)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_3aef0309]] を取り入れてソースを分割したもの >一応、SSE, SSE2 版付き。PGO 下のは無いです。 > >後の修正は builderscomment.txt 参照のこと >余計なお節介だったらごめん。これにてたぶん名無しに戻ります。 ---- **gdi++20060929-enhance (>>104-106の修正) -[[http://khdd.net/kanou/kangae/2006/gdi++20060929-enhance.zip]] >194 名前:67 2006/09/29(金) 00:45:24 ID:b1ozCFz3 >>>104-106 >>104 名前:名無し~3.EXE 2006/09/28(木) 12:49:39 ID:czObJZg9 >>[[http://free.flop.jp/gdi++/src/gdi0035.png]] >>別なバグが発生したようです >> >>105 名前:名無し~3.EXE 2006/09/28(木) 12:49:48 ID:4Y3odhPr >>>>103 >>選択文字列がおかしくなってます。 >> >>106 名前:名無し~3.EXE 2006/09/28(木) 12:50:54 ID:Ojx0uxHz >>>>104 >>ファミコンゲームの画面かと思った。 >修正しました。 > >背景が透明な場合をちゃんと区別するようにしたので、これで直ったはずです。Enhance 有効のときだけ出るバグはもうないという希望的観測を持っております。 > >あとは画質の改善 (今は o が八角形ぽく見える) や高速化を考えていきたいと思っております。では。 >199 名前:名無し~3.EXE 2006/09/29(金) 01:04:15 ID:F1gcbA5c >>>194 >Live2ch でぐりぐりスクロースしてもレインボーカラーがでなくなった.GJ! > >Enhance = 0 と Enhance が1以上のときでメニューバーの表示がグレーアウトしているときの品位が結構違うので今後の課題として取り組んでほすい ---- **gdi0038 (エンハンサの修正 SSE2 & Normal) -[[http://free.flop.jp/gdi++/src/gdi0038.lzh]] >164 名前:名無し~3.EXE 2006/09/28(木) 22:16:08 ID:rkTHKpkV >amd系のcpu使ってる人はnormalだとふつーにうごくかも > >(buiderscommentより) >今回は2つ作ってみました。 >エンハンサの修正をとりこんでます。 > >sse2ディレクトリにはいってるのはicc9.1でsse2持ってるプロセッサに対して最適化してます。 >normalディレクトリに入ってるのはvc8.0でふつうに最適化かけたやつです。 >(付属gdi++.iniより) >generalセクション >基本機能の設定をします > >excludeセクション >適用しないフォントを列挙してください。たぶん32フォントまで > >individual(仮)セクション >列挙されるときのフォント名を正確に書かないとだめっぽい >スペース入ってるのはめんどいね。 >ウェイトを指定するフォントを列挙してください。たぶん32フォントまで > >excludemoduleセクション >allgdi+p.exeを使用する際にインジェクションしないプロセスを列挙してください。たぶん32プロセスまで。 ---- **gdi++20060928-enhance (バグ修正) -[[http://khdd.net/kanou/kangae/2006/gdi++20060928-enhance.zip]] >67 名前:前スレ672 2006/09/28(木) 07:18:19 ID:SkKHpb6+ >修正版できました。 > >バグが出ないことを最優先にして修正しました。 >・バグ「レインボーエフェクト」を修正 (ビットの並びが BGR なのを RGB と勘違いしていた) >・static な配列を書き換えるのをやめ、比較演算を行うようにした (そのぶん遅い) >・色情報が正しく取れていない (前景色と背景色が同じ) 場合、出力色空間の制限をオフ。 >・Enhance の設定できる値を 0~9 に増やし、全体に弱くした。 >・サイズによってエッジ強調の強さを変える小細工をとりあえず停止した。 ---- **gdi0031 (gdi++ GUI) -[[http://free.flop.jp/gdi++/src/gdi0031.lzh]] >58 名前:名無し~3.EXE 2006/09/28(木) 04:21:05 ID:drc9K0aW >即席GUI ---- **gdi0029 (トレイ格納タイプのgdi.exe) -[[http://free.flop.jp/gdi++/src/gdi0029.zip]] >45 名前:名無し~3.EXE 2006/09/28(木) 02:43:34 ID:SlyLH6Ox >>>17 >>17 名前:名無し~3.EXE 2006/09/28(木) 01:07:38 ID:NR4yXAMz >>常駐のgdi.exeからiniの設定が出来たら素敵。 >>アイコンがいい感じなので、もうちょっと発展して欲しいなぁ… >DLLディレクトリを開く・INIを開く・ダブルクリックで有効/無効を切り替え >を追加 > >新規に加工したところは /***/ >555氏みたいにバージョン情報埋め込もうかとおもったけどVSEEだとリソース生成できないのよね ---- **gdi0027 (944 をベースにソースを整理してみた。) -[[http://free.flop.jp/gdi++/src/gdi0027.zip]] >43 名前:555 2006/09/28(木) 02:31:14 ID:VpFSBTN6 >前スレ[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]] を元にソースを分割したりいろいろしてみた。 >もしよければ取り入れてください。arch:SSE, arch:SSE2 指定のビルドも添付しました。 > >・[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]のソースを元にソースファイルを分割整理。 >・Cache, Settings をクラス化。グローバル変数 →クラスの static 変数 ってだけです。 >・Quality の上限、下限チェックを修正。 >・リソースファイルの取り込み >・malloc/free → new/delete[]、memcpy → ZeroMemory >・Makefile にリソースファイルのコンパイル、リンクを追加 >・Makefile に VisualC++ 8 による SSE / SSE2 最適化を追加 >・Intel C++ Compiler 用のソース、Makefile を分離(ICC 持ってないので未確認) >・make 用のバッチファイルを添付 >111 名前:名無し~3.EXE 2006/09/28(木) 13:38:13 ID:yQRtr3PG >gdi0027のGDI++.DLL(2006/09/28 02:27)をLive2chでうごかしてみた > >[[http://free.flop.jp/gdi++/src/gdi0036.png]] > >設定は以下のとおり。 >[General] >Quality=3 >Weight=8 >Enhance=2 >MaxHeight=0 >UseSubpixel=1 >SubpixelDirection=0 >ForceAntialiasedQuality=1 >[Exclude] >FixedSys >Marlett >メイリオ >Meiryo >[Individual] >[ExcludeModule] > >環境 >PenM + Xp SP2 + RADEON X300 + 2048x1536モード ---- **gdi0025 (gdi0021+953+951+最適化) -[[http://free.flop.jp/gdi++/src/gdi0025.lzh]] >40 名前:前スレ801 2006/09/28(木) 02:13:32 ID:rkTHKpkV >>>>33 >もうやっちゃった・・・ >>33 名前: ◆0x0D/0x20I 2006/09/28(木) 01:58:20 ID:fkDxjKfA >>Osakaフォントスレで、へた字を移植する予定だったけど、だいたい道筋がついて、BDFエディタを作りかけて放置してあることに気づいた。最近、そっちの方がむしろ気になってる漏れがいる。 >> >>ま、そっちは置いといて、今のgdi++.dllの当面の目標は、 >> ・ズレ修正(結構厄介そうな悪寒) >> ・allgdiを仕上げて同梱 >> ・縦書き対応 >>だいたい、これくらいかな?最適化の問題は付いて回ると思う。エッジ強調やガンマ補正である程度の品質向上は望めるだろうけど、劇的な変化はちょっと難しいだろうから、今のgdi++.dllが一段落ついたら、FreeType2を使ってレンダリングする方向で逝くべきかもしれない。あくまでこれは妄想だけど('A`) >> >>後で前スレ>>[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]と>>[[951(gdi0023)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_1ab57a62]]をマージさせて頂いて、サイトにうpしておきます。 >>>>28 >>むしろ、たいした設定項目もないから、GUIを用意してもいいんじゃないかな。 >>VBで良ければパパッと作れるけど、SDKはマンドクセ('A`) > >前スレ[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]に前スレ953の再修正を加えました。 >また、前スレ[[951(gdi0023)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_1ab57a62]]のスレッドローカルストレージパッチを取り込みました。 >P4+SSE2, later or compatible processor向け最適化(w/PGO) > >お休みなさい __o_ >SSE2に最適化されてるかわからないビルド >今回もPGOしました。 >スレの>[[881(gdi0018)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_f1f88559]]さんのパッチ見てこちらのビルドにもGetMsgProc()を追加しました。 >ExcludeModuleセクションパッチを取り込みました。 > >プロファイル取ったときの設定はこんな感じです。 >[General] >Quality=3 >Weight=1 >Enhance=0 >MaxHeight=0 >UseSubpixel=0 >SubpixelDirection=0 >ForceAntialiasedQuality=1 > >// old >流し読みしかしてないんだけど、enhancerで unsigned char を signed char にキャストしてる箇所があった。 >いいんだろうか。 > >あと、勝手にソース分割しちゃいました。 >分割したソースについては /src 以下をご覧ください。 >不都合があればどんどん戻しちゃってください。>関係各位 ---- **gdi0023 (キャッシュ周りをマルチスレッド化) -[[http://free.flop.jp/gdi++/src/gdi0023.zip]] >951 名前:名無し~3.EXE 2006/09/27(水) 23:46:43 ID:A4syXu0J >キャッシュ周りにTls~系を使用して複数スレッドからの非同期アクセスを可能にしました。 >デュアルコア環境とかでallgdi++使ってると軽くなってるかも。 >[[20060927版>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_57d7c717]]がベースなのでExcludeModuleとかはありません。 ---- **gdi0021 (最適化ビルド+いろいろ) -[[http://free.flop.jp/gdi++/src/gdi0021.lzh]] >944 名前:801 2006/09/27(水) 23:30:01 ID:UQWYzagB >疲れた・・ > >Pentium4(SSE2もち)以降用に最適化(w/PGO)しました。 >>[[784>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_57d7c717]]の本家ベースに、>[[790(gdi++20060927-enhance)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_9fb60577]]さん、>[[833(gdi0012)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_e8f9fdc9]]さん、>[[881(gdi0018)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_f1f88559]]さんのallgdi++.exe向けGetMsgProc()実装、>[[891(gdi0019)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_113a8c78]]さんの[ExcludeModule]セクションパッチを取り込みました。 > >さらっと動作確認しただけなので、完動するかは保証しません・・・ ---- **gdi0019 (20060927版+バージョンリソース付きdll+>>730のallgdi++) -[[http://free.flop.jp/gdi++/src/gdi0019.zip]] >891 名前:名無し~3.EXE 2006/09/27(水) 20:37:08 ID:A4syXu0J >一応20060927版にバージョンリソース付きdllと>>730のallgdi++をセットにした >パッケージを作ってみますた。 > >>>746 >>746 名前:名無し~3.EXE 2006/09/27(水) 02:34:00 ID:kdcoJI+4 >>>>743-744 >>[[http://drwatson.nobody.jp/gdi++/tray_allgdi2.zip]] >>とりあえずそこだけ直したけど、基本的に書き殴りっぱなしのとりあえず動くってゆーコードなので、人様には見せられないクオリティですし、なんだかallgdiの作者さんにも申し訳ないですが・・・ >㌧でもないです。漏れがタスクトレイ常駐にしなかった理由は、単にpcがXGAにもかかわらず既にトレイにアイコンが15個ぐらい並んでるからです。 >というかこちらこそ最近出しゃばり過ぎてスマソ ---- **gdi0018 (0017+version+allgdi) -[[http://free.flop.jp/gdi++/src/gdi0018.zip]] >881 名前:名無し~3.EXE 2006/09/27(水) 19:26:38 ID:C9KiwGRj >とりあえずallgdi適用可能になった(と思う)>>[[869>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_855eefb6]] > >実態は>>[[869(gdi0017)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_855eefb6]]に>>654の差分を追加しただけなんで整合性が非常に妖しいです >できれば理解してる方に修正してもらいたい >>654 名前:名無し~3.EXE 2006/09/26(火) 22:02:26 ID:BnjtjUIR >>[[http://www.uploda.org/uporg528876.zip.html]] >>pass: gdi >> >>allgdi.exeを実行すると起動中の全プロセスにgdi++.dllが読み込まれる。 >>allgdi.exe -pで常駐モード。(終了はタスクマネージャで) >>結構定期的に出てそうな要望なので試しに作ってみた。 ---- **gdi0017 (gdi0004lzh+individualセクション有効化) -[[http://free.flop.jp/gdi++/src/gdi0017.lzh]] >869 名前:801 2006/09/27(水) 18:48:09 ID:UQWYzagB >>[[833(gdi0012)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_e8f9fdc9]]さんのIndividualセクション設定の部分をポーティングしてみました。 >今回もSSE2+Pentium4向けに最適化してます。 > >とりあえずポーティングしてみたものの見やすくなってるんだろうか。。。 >失敗してるかも? ---- **gdi0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) -[[http://free.flop.jp/gdi++/src/gdi0016.lzh]] >698 名前:名無し~3.EXE 2006/09/26(火) 23:37:27 ID:RFsWnBd0 >今回は、SSE2+PGOでビルドしてみました。SSE2を持っているプロセッサで動くと思います。 >エンハンスフィルタも取り込んでおきました > > >[General] > >Quality=3 > >Weight=0 > >Enhance=1 > >MaxHeight=0 > >UseSubpixel=0 > >SubpixelDirection=0 > >ForceAntialiasedQuality=1 > >iniはこんな感じの設定で、firefoxで多少ブラウジングしてみただけですが >どれくらい速くなったのかわかりません > >最適化ビルド好きなあなたへ。 > >buildlog.htmは好き者用です ---- **gdi0012 (フォントごとにウェイト指定) -[[http://free.flop.jp/gdi++/src/gdi0012.zip]] >833 名前:名無し~3.EXE 2006/09/27(水) 16:44:08 ID:HJorFkvP >MSゴシックに比べてMS明朝が薄くて困ってたので、 >フォントごとにウェイト指定できるようにしてみました。 > >しょぼくてすまん。 >最近、話題が高度でついて行けません('A`) ---- **gdi0011 (デバッグビルド) -[[http://free.flop.jp/gdi++/src/gdi0011.lzh]] >829 名前:801 2006/09/27(水) 16:36:02 ID:UQWYzagB >>>819 >すでに何かのアプリがgdi++.dll使ってて上書きできないとか言う話でもないよね? > >とりあえず、デバッグビルドつくってみました。最適化なんぞ一切かかっていません。 >すごい遅くても、これ無事に起動する? >リネームしてないんで自力でgdi++.dllにしてからよろり ---- **gdi0009 (PentiumM(Banias or later)) -[[http://free.flop.jp/gdi++/src/gdi0009.lzh]] >816 名前:801 2006/09/27(水) 16:21:34 ID:UQWYzagB >>>[[814>http://gdipp.higoyomi.com/log_01.html#R814]] >ファイル壊れてるなら他の人も使えないだろうし・・・なんでだろう。 > >とりあえずPentiumM(baniasかそれ以降用)向けにビルドし直してみた。 >PGOはプロセッサ持ってないからかけれなかったけども。 >819 名前:名無し~3.EXE 2006/09/27(水) 16:24:06 ID:NdJgLUsq >>>816 >やっぱダメでごんす・・・ ---- **gdi0004 (sse2/pentium4用に最適化したもの) -[[http://free.flop.jp/gdi++/src/gdi0004.lzh]] >801 名前:名無し~3.EXE 2006/09/27(水) 15:17:51 ID:UQWYzagB >最適化ビルドです。784のソースに新エンハンサーをポーティングしてみました。 >なんか、新エンハンサーって一定の幅以下の文字の描画の時におかしくなります? > ><ちらしのうら> >const staticじゃなくてstatic constだとおもうんd ></ちらしのうら> >805 名前:名無し~3.EXE 2006/09/27(水) 15:59:25 ID:6BLvjhDr >>>801 >Xp SP2 + IE7RC1では発生しないね >[[http://free.flop.jp/gdi++/src/gdi0008.png]] IE7RC > >Enhance の設定をしても落ちないので助かったよ >808 名前:名無し~3.EXE 2006/09/27(水) 16:10:01 ID:NdJgLUsq >>>801 >PentiumMマシンでだとGDI++.DLLがロードできないと言われるんだけど >814 名前:名無し~3.EXE 2006/09/27(水) 16:19:50 ID:NdJgLUsq >PenitumM745(Dothan)でMMX,SSE,SSE2対応でした。 >なんでだめなんだろう・・・ ---- **gdi++20060927-enhance (フィルタ修正版) -[[http://khdd.net/kanou/kangae/2006/gdi++20060927-enhance.zip]] >790 名前:672 2006/09/27(水) 12:42:30 ID:hbbR6JaG >フィルタ修正版を作ったよ。 >変更点 >・リンギング防止 >・Enhance の設定できる値を0~8に増やした。 >・16ピクセル超で一段階弱く、32ピクセル超でエフェクトオフ。 >グレーアウトのテキストも許容範囲内になったようです。 >ソースは >>698 さんのバージョンを元にしました。 >>698 名前:名無し~3.EXE 2006/09/26(火) 23:37:27 ID:RFsWnBd0 >>http://www.uploda.org/uporg529021.lzh.html >>pass:gdi >> >>今回は、SSE2+PGOでビルドしてみました。SSE2を持っているプロセッサで動くと思います。 >>エンハンスフィルタも取り込んでおきました。 >795 名前:名無し~3.EXE 2006/09/27(水) 12:54:21 ID:YoS2OVs9 >790 >Enhance有効だと、こんな風に色が変わります…。 >[[http://free.flop.jp/gdi++/src/gdi0002.png]] ---- *アイコン **icon -[[http://free.flop.jp/gdi++/src/gdi0089.zip]]
1.[[使い方]] 2.[[バイナリ]] 3.[[readme]] 4.[[SS]] 5.[[履歴>gdi++.dll]] ---- #contents ---- *本家版(最新のみ) **stable version (gdi++20060927) [[本家>http://drwatson.nobody.jp/gdi++/index.html]]の[[ダウンロード>http://drwatson.nobody.jp/gdi++/download.html]]ページにて。 >784 名前: ◆0x0D/0x20I 2006/09/27(水) 12:00:00 ID:kdcoJI+4 >・GetTextExtentPoint32()が除外フォントでも処理していたのを修正 >・IsValidDC()関数を新たに作って、画面用のDCかどうかをチェックするようになった >・印刷時に崩れる問題が解決しているかもしれない) >・>>501氏によるソースの整理 >・狩野氏によるエッジ強調フィルタの搭載(Enhanceオプションが追加されています) >・gdi++.dllがGetMsgProc()をエクスポートする仕様に(>>654氏=>>168氏) >・デフォルトでFixedSysとMarlettを除外するようにしておく >ここらへんで、とりあえずまとめておきました。サイトにうpしてるのは、ある程度stableなnightly>build(今日はお昼だけど)って感じです。 >大勢の人が関わってもらえるようになってきて、現状の流れで漏れのサイトにうpし続けるっていうのもちょっとアレだと思うし、そろそろライセンスとか権利の問題を明確にしておかなきゃいけないんだろうと思う。 >>>779 >>779 名前:名無し~3.EXE 2006/09/27(水) 11:24:52 ID:o91aaQSC >>gVimで表示がおかしくなります。 >> >>[[http://www.uploda.org/uporg529423.png]] >>右は0924版で表示が崩れ、左は0926版(0925版も一緒)でAA効いてません。 >>フォントはMSゴシック10ポイント、設定はデフォルトのini、SSはVista RC1ですがXP SP2でも状況は同じでした。 >>他のアプリでは問題ないんですが・・・ >うーん、スムージングが効いてないですかぁ。0924でズレってるってことはExtTextOutA周りの問題ってことだけど、うーん、XP以降のバージョンではオリジナルのExtTextOutAがExtTextOutWを呼ぶ計算になってるんだけど・・・ちょっとチェックしてみます。 >>>780 >>780 名前:名無し~3.EXE 2006/09/27(水) 11:25:00 ID:hvd1nGGx >>Sn でつくってみた。なにか設定が必要なら言ってください。 >>アクセス制限に引っかかることはないと思いたい。 >> >>ttp://free.flop.jp/gdi++/ >うわ、ロダができてる。乙。 >800 名前:名無し~3.EXE 2006/09/27(水) 14:39:27 ID:a1jtWTIq >>>784 >Firefoxで選択範囲がずれてる件(>>758)は治りました。乙! > >ただ、textareaに入力してるとだんだんおかしくなる >[[http://free.flop.jp/gdi++/src/gdi0003.png]] >888 名前:名無し~3.EXE 2006/09/27(水) 20:16:57 ID:amHmqYMt >>>784 >のバージョンだとEnhance=1以上にすると >シャープネスノイズが出るようになってます。 >20pt程度のフォントサイズで適用するとよくわかるかも。 >個人的には1を基準とするなら0.2くらいの効果が好みです。 > >あと、Quality=4にすると対応していないマシンのせいか >適用したアプリが全て強制終了するように。。。 >AllGdiで実行したのでOSを巻き込んで死亡(;´д⊂ > >スペッコ:WinXP SP2、AthlonXP、1024M ---- *以下改良版(上に行くほど最新) 容量規制の為FreeType版は【[[gdi++.dll FreeType]]】のページへ移しました。 ---- **gdi0261 (常駐GUI) -&s(){&nolink(http://free.flop.jp/gdi++/src/gdi0261.zip)} >gdippManager ver.1105 >ver.1029 ベース > >機能の変更点 > ・GUIつけてみた > ・DLL側の関数で代用できるケースはまずそちらを使うようにした > ・細かい修正とか > ・VS2005EEのプロジェクトつけた *.sln / *.vcproj > > ※GUI注意 >  ・セクションがない、キーがない、値がない(一部除く)項目は編集できず出力もしません >    無条件に出力するとDLLが対応してないINI項目がふえちゃうから >  ・数値を自由に指定できる項目は-1~99で指定できます >    「基本的には」DLL側で最小値/最大値に丸めてるので >    実際にどの項目がどの値まで有効値とするのかあまり見てないです >  ・Individualセクションにダミーでもデータ入れておかないと、 >    新旧どっちの書式かわからないので警告出てうざいです > > ※FreeType版 >  ・そのうちに explorer.exe がハングするので事実上利用不能 >   右クリックメニューとかでハングする ---- **gdi0147 (常駐 gdippManager) -[[http://free.flop.jp/gdi++/src/gdi0147.zip]] >692 名前:名無し~3.EXE 2006/10/28(土) 02:21:10 ID:SN2pkdqO >常駐 >システムディレクトリとexeサブディレクトリ内にある複数のDLLを管理できるようにした >でもGUIは実装してない > >※Studentがイチから書き直しているので利用は警戒しる ---- **gdi0118 (gdi0116のバグ修正+おまけ改) -[[http://free.flop.jp/gdi++/src/gdi0118.zip]] >883 名前:168 2006/10/06(金) 10:09:12 ID:iQtt8ZFA >>>868(gdi0116)で落ちるバグ取れたかも。__assume入れてたの忘れてた >ついでにおまけに少し手を加えますた。 >多重起動とかバージョン情報のハイパーリンクとかww ---- **gdi0116 (gdi0093のバグ修正+Pico氏(gdi0112)の縮小アルゴリズムを組み込み) -[[http://free.flop.jp/gdi++/src/gdi0116.zip]] >868 名前:名無し~3.EXE 2006/10/06(金) 01:47:44 ID:iQtt8ZFA >漸くデバッグ完了したのでとりあえず暫定版ビルドしてみますた > >多分>>644,>>655,>>659,>>712あたりの修正とPico氏の>>834ぐらい >ってか日が経ちすぎて忘れたorz >>644 名前:名無し~3.EXE 2006/10/01(日) 19:19:42 ID:2rzB94Gp >>とりあえずDrawStateもフックして強引に灰色テキストを描画できるようにしてみたけど、なんかイマイチ >>http://free.flop.jp/gdi++/src/gdi0098.png >> >>>>639 >>漏れの環境だとそのアドレスには既にINDICDLL.DLLとかいうのが読み込まれててバッティングするけど > >>655 名前:名無し~3.EXE 2006/10/01(日) 22:05:23 ID:2rzB94Gp >>うpろだ100記念w >> >>>>644のやつはアイコンとかが灰色で描画されてなかったので他の方法を模索してみた。 >> >>とりあえずDST_TEXTとDST_PREFIXTEXTは何とかなったけど、DST_COMPLEXはもうこれ以上無理のような気がしてきた >>http://free.flop.jp/gdi++/src/gdi0100.png >> >>>>654 >>んーotfか・・・とりあえずDrawStateの問題が片付いたら調べてみます。 >>片付きそうにないけどorz > >>659 名前:名無し~3.EXE 2006/10/01(日) 23:01:51 ID:2rzB94Gp >>DrawStateとは関係ないけどこれ直してみますた。 >>http://free.flop.jp/gdi++/src/gdi0101.png >> >>これで1行下にズレてる系のバグは全部直ってるはず。 > >>712 名前:名無し~3.EXE 2006/10/02(月) 22:44:45 ID:dtRB8HD5 >>スタート→プログラムにあるIEのショートカットをgdi++.exeで開けない気がする > >あと理由は知らんけどダイアログがズレるバグとwin2kでメモリがreadに・・・のバグはなぜか出てない模様(環境によっては出てるかも) >おまけフォルダにサービス化セットあり ---- **gdi0112 (MMX対応など) -[[http://free.flop.jp/gdi++/src/gdi0112.zip]] >834 名前:Pico ◆PicoKHZGNI 2006/10/05(木) 07:47:55 ID:3uBaMu8k >意外とMMX版に需要が有るようなので作成してみました。 > >・Qualityをちゃんと読むようになりました。 > Quality=7 の時のみSSE2やMMXを使用します。 > それ以外(0~6,11,15)の場合は、Cのコードで動きます。割と遅いですorz > >・MMXに対応しました。いやぁ命令の名前が共通ってのは便利だな。 > デフォルトではSSE2以上向けのgdi++.dllが入っているので、 > MMX対応CPUならmmxフォルダ、そうでないならgenericフォルダの物と置き換えてください。 > >・ズレとかはまだ全然直っていないはず。 ---- **gdi0110 (gdi0102 + 735Image) -[[http://free.flop.jp/gdi++/src/gdi0110.zip]] >832 名前:名無し~3.EXE 2006/10/05(木) 02:36:25 ID:qwK8X3LA >常駐Manager とりあえずプレビュー機能と適用ボタンまでINI処理を結構書き換えてしまったのでINIに保存されてねーぞゴルァ! みたいなのがあったらごめん > >>>735に触発されて作ってたんだけど今の今まで要旨が "プレビュー" のほうだと思ってたせいで "Managerだけに適用" をすっ飛ばしてました('A`) >>735 名前:名無し~3.EXE 2006/10/03(火) 16:36:33 ID:U1YlA+Z8 >>gdippMangager.exeに適用ボタン、またはgdippManager.exeだけに変更を加えてプレビューできる機能とか出来ないかな? >> >>こんな感じに >>http://free.flop.jp/gdi++/src/gdi0103.png >>まだ全体をころころ変えてるとエラー出る場合があるのであったらいいなというだけです ---- **gdi0109 (up105のSSE無し版) -[[http://free.flop.jp/gdi++/src/gdi0109.zip]] >825 名前:369 2006/10/05(木) 00:32:32 ID:KJEE4Gl9 >>>778 >SSE使わないようにしてみたが動くか? >縮小が3倍、全体で見ると1割ぐらい遅くなってるけど。 ---- **gdi0107 (gdi0104-エンハンスフィルタの改良版-のバグ修正) -[[http://free.flop.jp/gdi++/src/gdi0107.zip]](gdi0104のバグ修正版) -[[http://free.flop.jp/gdi++/src/gdi0104.zip]](エンハンスフィルタの改良版) >766 名前:67 2006/10/04(水) 02:49:30 ID:vnJAecEO >エッジ強調フィルタの改良版をアップローダに上げました。今回は、文字のいちばん外側のピクセルにはフィルタを掛けず、内側にはきっちり今まで通りの処理を施すようにしてあります。 >ベースバージョンは公式の20060927です。 > >>>754 >>754 名前:名無し~3.EXE 2006/10/03(火) 22:26:21 ID:ylMzz5mE >>すまん、アイデアだけ。 >> >>①現状の単純平均から重みつき平均を使う。 >>111 >>141 >>111 これでもやっと感を減らしつつ、出すところは出す。どんなフィルタがいいんだろ? >> >>②現在の平均を取る部分の変わりに、ルックアップテーブルを作る。 >>LUT[0-256*16] >>データサイズはせいぜい >>もしガンマ補正が必要ならば、LUT上にかける。 >>これで除算が無くなるから、そこそこ二次キャッシュがあればスピードも上がる? >縮小時に重みつき平均を取ると、同じ太さの線が(縮小後の)ピクセルのまん中にある時と橋にある時で濃さが変わってしまうのが難点です。2つのピクセルの境界に沿って線が引かれているような時は、片方のピクセルにかかっている分を無視して、隣のピクセルに足し込んでやると文字全体の濃さが変わらずにコントラストが改善できるんですが、とても重い処理になりそうです。 >>>755 >>755 名前:名無し~3.EXE 2006/10/03(火) 22:43:03 ID:EozvE0/P >>ラプラシアンフィルタを使ったシャープネスフィルタがいいかも >> >>laplacian: >>0 1 0 >>1 -4 1 >>0 1 0 >> >>double rate = /* 0.0 - 1.0 */; >>double result = cm->i() - rate*(ct->i() + lm->i() + rm->i() + cb->i() - 4*cm->i()); >今までのフィルタがまさにラプラシアンをめんどくさいやり方で実装したものです。-1 2 -1 のフィルタを縦横にかけて中間結果を別々に持ち、最後に総和を取っています。 >>>758 >>758 名前:名無し~3.EXE 2006/10/03(火) 23:53:17 ID:PbXGshjl >>>>754 >>ルックアップテーブルは考えた。 >>描画エリアの背景を拡大してフォントレンダラに送り込んで描画後に縮小だ。 >>白地に黒とかなら問題ないんだが、ガンマ補正入りルックアップテーブルなぞ使ったら背景の影響を受けるし、文字の背景画像にも影響を与えるんだなコレが。 >常に白黒で書いて好きにガンマ補正をかけてから、背景との合成は自前で計算したほうがいいかも。8倍に拡大描画すれば、1の立ったビットの個数を表引きで求められるので、それなりに速く実装できそう ---- **gdi0105 (1bit+アルファブレンド(注:要SSE2、きわめて未完成)) -[[http://free.flop.jp/gdi++/src/gdi0105.zip]] >770 名前:Pico ◆PicoKHZGNI 2006/10/04(水) 07:11:53 ID:hsbLqC/N >0079版をベースにして、1bitで8x8倍で描画して、アルファブレンドさせてみました。 >SSE2を使った縮小アルゴリズムを書いてみたら、かなり軽くなった気がするので、まだアルファ版以下の完成度ですが、良かったら試してみてください。 > >注意: >△とても未完成です。 >△Quality、Enhanceの値は無視しています。 >△8*8なので64階調です。 >△SSE2専用です。 >△かなり大量にコードが変更されています。新しいバグが入っているかも。 ---- **gdi0102 (gdi0097の環境設定拡張版) -[[http://free.flop.jp/gdi++/src/gdi0102.zip]] >708 名前:名無し~3.EXE 2006/10/02(月) 22:00:24 ID:WNYntwRQ >guiで環境設定のExcludeModuleとIndividualにも対応してみました。 >機能の変更点 > ・環境設定のExcludeModuleとIndividualにも対応 > ・Weightの最大値をとりあえず32に変更 > >ソースの注釈 > ・個人的にリソースいじるのにVC6を使うので、それ用のプロジェクトファイルも追加。 > ・INIパラメータ用の変数を動的に取得して、設定後解放するようにした。 > ・他いくつか細かい修正。 ---- **gdi0097 (トレイ格納タイプのgdi.exe gdi0060+gdi0061) -[[http://free.flop.jp/gdi++/src/gdi0097.zip]] >630 名前:名無し~3.EXE 2006/10/01(日) 16:49:31 ID:h1TSe0i6 >常駐gdi 60(gdi0060)ベース+61(gdi0061)のGUI > >基本的にはくっつけただけだけど変更点は/***/で検索してたどってね >あとVSEEならプリコンパイル済みヘッダ機能使えるファイル構成にした ---- **gdi0093 (ソースをシェイプアップ?20060923版相当に戻してみた) -[[http://free.flop.jp/gdi++/src/gdi0093.zip]] >508 名前:名無し~3.EXE 2006/10/01(日) 02:47:10 ID:2rzB94Gp >>>501 >>501 名前:名無し~3.EXE 2006/10/01(日) 01:37:31 ID:9nVDSxVX >>0922改造版レベルまでソースをシェイプアップしたまへ >ソースをシェイプアップ、の意味が判らんが > >とりあえず20060923版相当に戻してみた >ここ最近の追加機能が全く使えんけどソースは見やすくなったと思うw >20060923版と比べて >・20060927版までのバグ修正 >・Jane Doeなどでズレるバグ修正 >・UseSubPixel=1のときは常にサブピクセルレンダリング >・ビットマップフォントは常にExclude >・キャッシュ、TLS > >使えるもの >・Quality >・Weight >・UseSubpixel >・SubpixelDirection >・Exclude > >使えないもの >・Enhance >・MaxHeight >・ForceAntialiasedQuality >・ExcludeModule >・SSE2、SSE3用縮小ソース >・allgdi++、gdiなど常駐機能全て **gdi0088 (サー(ry ) -[[http://free.flop.jp/gdi++/src/gdi0088.zip]] >412 名前:名無し~3.EXE 2006/09/30(土) 17:39:32 ID:4i2JaSpG >[[http://free.flop.jp/gdi++/src/gdi0081.png]] >むしゃくしゃしたのでやった。今も反省していない。 >確認環境:win2k on VMware Playerのみ > >・gdisetup.exeを実行すると登録できる >・削除する時もgdisetup.exeを使用する >・これとallgdi++.exe、gdi.exe等を併用したときの動作は無保証 >・付属のgdi++.dll以外での動作も無保証 >・何が起こっても一切無保証 ---- **gdi0079 (20060927+allgdi+ExcludeModule+TLS その2) -[[http://free.flop.jp/gdi++/src/gdi0079.zip]] >中身は多分20060927+allgdi+ExcludeModule+TLSぐらい > >・ズレるバグ修正(OpenJaneDoe、part2>>82で確認、それ以外は不明) >・ビットマップフォントはExcludeの設定に関わらず強制的にExcludeする >・gdi++、allgdi++相当の機能をdllに内包 >・gdi++.exe経由で起動したらExcludeModuleは読み飛ばすようにした >・IMPL_ExtTextOutWをいろいろ整理 >・UseSubPixel=1のときQualityの設定を無視(Quality=2とみなす) >・TLS周りでメモリリークしてたのを修正 >・StringHashのignoreCaseの動作が逆だったのを修正 > >・gdi++ > gdi++.exe又はgdi++.vbsを使うと従来通りの動作 > 以下のコマンドも利用できる > rundll32.exe "gdi++.dll",GDIPlusPlus_RunDLL <file> argument ... > >・allgdi > allgdi++.vbsを実行すると起動中の全プロセスにgdi++.dllが読み込まれる > allgdi+p.vbsで常駐モード(もう一度実行すると常駐解除) > > それぞれ以下のコマンドを実行しても同じ事が得られる > rundll32.exe "gdi++.dll",AllGDIPlusPlus_RunDLL > rundll32.exe "gdi++.dll",AllGDIPlusPlus_RunDLL -p > >・ExcludeModule > allgdi++使用時のみ有効。特定のプロセスにgdi++.dllを読み込ませなくする > Exclude"Process"ではないので↓とかも可能 > > [ExcludeModule] > hogehoge.dll ---- **gdi0076 (gdi0075のズレるバグ修正) -[[http://free.flop.jp/gdi++/src/gdi0076.zip]] >384 名前:名無し~3.EXE 2006/09/30(土) 12:26:57 ID:4i2JaSpG >・>>350(gdi0075)でズレるバグ修正 >・UseSubPixel=1のときQualityを無視 > ><チラシの裏> >ズレるバグって浮動小数点の丸め誤差かよorz ></チラシの裏> ---- **gdi0075 (20060927+allgdi+ExcludeModule+TLS) -[[http://free.flop.jp/gdi++/src/gdi0075.zip]] >350 名前:名無し~3.EXE 2006/09/30(土) 01:01:43 ID:4i2JaSpG >今日のGDI++w >中身は多分20060927+allgdi+ExcludeModule+TLSぐらい > >・ズレるバグ修正(OpenJaneDoe、GreenPad、>>82で確認、それ以外は不明) >>82 名前:名無し~3.EXE 2006/09/28(木) 08:56:41 ID:75MYieLo >>OpenJaneDoeのソースを元にして描画がズレるのを再現してみました。 >>時間のある人はこれ使ってgdi++.dllをデバッグしてください。 >>[[http://free.flop.jp/gdi++/src/gdi0032.zip]] >・ビットマップフォントはExcludeの設定に関わらず強制的にExcludeする >・gdi++、allgdi++相当の機能をdllに内包 >・gdi++.exe経由で起動したらExcludeModuleは読み飛ばすようにした >・IMPL_ExtTextOutWをいろいろ整理 > >ソースは付けていません(弄りすぎたし派生バージョン多すぎてpatch作っても意味無さそう) >が、漏れにソースくれればpatchをマージして送り返しますw ---- **gdi0061 (gdi0029+GUI) -[[http://free.flop.jp/gdi++/src/gdi0061.zip]] >296 名前:名無し~3.EXE 2006/09/29(金) 18:26:49 ID:Thxs4ylL >Win32SDK でGUI作ってみた。 >ベースはgdi0029 > >こういうのへの参加が初体験でドキドキ・・・ >gdi0029.zip をベースにINIファイル用GUIを追加。 >名前もgdipp.exeに変更しました。 > >・メニューの「INIファイルを開く」を「環境設定...」に変更 > > ダイアログが開いて、各設定値を変更できます。 > 対応しているのは基本的にstable版のもの。 > > *[Exclude]セクションは一度クリアしてから追加しているため、途中にコメント行があっても消えてしまいます。 > > OKボタンでダイアログを閉じると、新しい設定値でINIファイルを更新します。 > 更新内容を反映するために gdi++のフックをやり直しています。 > *このやり直し方がこれで問題無いかは、今いち自信無かったり・・・ ---- **gdi0060 (トレイ格納タイプのgdi.exe) -[[http://free.flop.jp/gdi++/src/gdi0060.zip]] >267 名前:名無し~3.EXE 2006/09/29(金) 15:47:40 ID:uT1dBezs >>>264 >お疲れさんです > >gdi.exe(ちなみに常駐ソース起こしたのは前スレ742:◆0x0D/0x20I氏 > >とりあえずDLLのバージョンが表示できたり >DLL読んでないときに操作できるようにしてみた ---- **gdi0052 (gdi0049 修正版) -[[http://free.flop.jp/gdi++/src/gdi0052.zip]] >215 名前:555 2006/09/29(金) 03:46:30 ID:l/FxUuFO >>>207,>>209 >>207 名前:名無し~3.EXE 2006/09/29(金) 02:00:58 ID:S45t8QPf >>ExcludeModule効かないです。ウィルスソフトの数個のプロセスがunlockerでもロック解除出来なくて、再起動するまでロックしたままなので死活問題なんです。 > >>209 名前:名無し~3.EXE 2006/09/29(金) 02:15:53 ID:ad2vtG2/ >>>>206のはgdi0025ベース(ExcludeModule効かない)だからかな。 >>Enhanceはいい感じになりますた。メニュー部分がおかしくなるけど…。 >> >>>>207 >>普通にD&Dとかで、指定アプリのみ++適用で我慢するしか。 >>一度allgdiやっちゃったら病み付きになるのは仕方ないけどw >ExcludeModule修正しました。 >Excludeも148のを取り込んでみた。 >>148 名前:名無し~3.EXE 2006/09/28(木) 18:06:00 ID:+FMMBxuw >>ほかにもビットマップって結構あるんだね >> >>[Exclude] >>メイリオ >>Meiryo >>Marlett >>System >>FixedSys >>Modern >>MS Sans Serif >>MS Serif >>Roman >>Small Fonts >>Script >>Courier >218 名前:名無し~3.EXE 2006/09/29(金) 10:56:30 ID:2RRtMqFQ >>>215 >Quality=1 のとき Enhance= を1以上にすると落ちる。 >あと、void Cache::ProcessTerm() で >voidなのにreturnがあると怒られる。 ---- **gdi0049 (gdi0025+194+ソース分割) -[[http://free.flop.jp/gdi++/src/gdi0049.zip]] >206 名前:555:2006/09/29(金) 01:51:55 ID:l/FxUuFO >gdi0025.lzh をベースに [[194(gdi++20060929-enhance)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_3aef0309]] を取り入れてソースを分割したもの >一応、SSE, SSE2 版付き。PGO 下のは無いです。 > >後の修正は builderscomment.txt 参照のこと >余計なお節介だったらごめん。これにてたぶん名無しに戻ります。 ---- **gdi++20060929-enhance (>>104-106の修正) -[[http://khdd.net/kanou/kangae/2006/gdi++20060929-enhance.zip]] >194 名前:67 2006/09/29(金) 00:45:24 ID:b1ozCFz3 >>>104-106 >>104 名前:名無し~3.EXE 2006/09/28(木) 12:49:39 ID:czObJZg9 >>[[http://free.flop.jp/gdi++/src/gdi0035.png]] >>別なバグが発生したようです >> >>105 名前:名無し~3.EXE 2006/09/28(木) 12:49:48 ID:4Y3odhPr >>>>103 >>選択文字列がおかしくなってます。 >> >>106 名前:名無し~3.EXE 2006/09/28(木) 12:50:54 ID:Ojx0uxHz >>>>104 >>ファミコンゲームの画面かと思った。 >修正しました。 > >背景が透明な場合をちゃんと区別するようにしたので、これで直ったはずです。Enhance 有効のときだけ出るバグはもうないという希望的観測を持っております。 > >あとは画質の改善 (今は o が八角形ぽく見える) や高速化を考えていきたいと思っております。では。 >199 名前:名無し~3.EXE 2006/09/29(金) 01:04:15 ID:F1gcbA5c >>>194 >Live2ch でぐりぐりスクロースしてもレインボーカラーがでなくなった.GJ! > >Enhance = 0 と Enhance が1以上のときでメニューバーの表示がグレーアウトしているときの品位が結構違うので今後の課題として取り組んでほすい ---- **gdi0038 (エンハンサの修正 SSE2 & Normal) -[[http://free.flop.jp/gdi++/src/gdi0038.lzh]] >164 名前:名無し~3.EXE 2006/09/28(木) 22:16:08 ID:rkTHKpkV >amd系のcpu使ってる人はnormalだとふつーにうごくかも > >(buiderscommentより) >今回は2つ作ってみました。 >エンハンサの修正をとりこんでます。 > >sse2ディレクトリにはいってるのはicc9.1でsse2持ってるプロセッサに対して最適化してます。 >normalディレクトリに入ってるのはvc8.0でふつうに最適化かけたやつです。 >(付属gdi++.iniより) >generalセクション >基本機能の設定をします > >excludeセクション >適用しないフォントを列挙してください。たぶん32フォントまで > >individual(仮)セクション >列挙されるときのフォント名を正確に書かないとだめっぽい >スペース入ってるのはめんどいね。 >ウェイトを指定するフォントを列挙してください。たぶん32フォントまで > >excludemoduleセクション >allgdi+p.exeを使用する際にインジェクションしないプロセスを列挙してください。たぶん32プロセスまで。 ---- **gdi++20060928-enhance (バグ修正) -[[http://khdd.net/kanou/kangae/2006/gdi++20060928-enhance.zip]] >67 名前:前スレ672 2006/09/28(木) 07:18:19 ID:SkKHpb6+ >修正版できました。 > >バグが出ないことを最優先にして修正しました。 >・バグ「レインボーエフェクト」を修正 (ビットの並びが BGR なのを RGB と勘違いしていた) >・static な配列を書き換えるのをやめ、比較演算を行うようにした (そのぶん遅い) >・色情報が正しく取れていない (前景色と背景色が同じ) 場合、出力色空間の制限をオフ。 >・Enhance の設定できる値を 0~9 に増やし、全体に弱くした。 >・サイズによってエッジ強調の強さを変える小細工をとりあえず停止した。 ---- **gdi0031 (gdi++ GUI) -[[http://free.flop.jp/gdi++/src/gdi0031.lzh]] >58 名前:名無し~3.EXE 2006/09/28(木) 04:21:05 ID:drc9K0aW >即席GUI ---- **gdi0029 (トレイ格納タイプのgdi.exe) -[[http://free.flop.jp/gdi++/src/gdi0029.zip]] >45 名前:名無し~3.EXE 2006/09/28(木) 02:43:34 ID:SlyLH6Ox >>>17 >>17 名前:名無し~3.EXE 2006/09/28(木) 01:07:38 ID:NR4yXAMz >>常駐のgdi.exeからiniの設定が出来たら素敵。 >>アイコンがいい感じなので、もうちょっと発展して欲しいなぁ… >DLLディレクトリを開く・INIを開く・ダブルクリックで有効/無効を切り替え >を追加 > >新規に加工したところは /***/ >555氏みたいにバージョン情報埋め込もうかとおもったけどVSEEだとリソース生成できないのよね ---- **gdi0027 (944 をベースにソースを整理してみた。) -[[http://free.flop.jp/gdi++/src/gdi0027.zip]] >43 名前:555 2006/09/28(木) 02:31:14 ID:VpFSBTN6 >前スレ[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]] を元にソースを分割したりいろいろしてみた。 >もしよければ取り入れてください。arch:SSE, arch:SSE2 指定のビルドも添付しました。 > >・[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]のソースを元にソースファイルを分割整理。 >・Cache, Settings をクラス化。グローバル変数 →クラスの static 変数 ってだけです。 >・Quality の上限、下限チェックを修正。 >・リソースファイルの取り込み >・malloc/free → new/delete[]、memcpy → ZeroMemory >・Makefile にリソースファイルのコンパイル、リンクを追加 >・Makefile に VisualC++ 8 による SSE / SSE2 最適化を追加 >・Intel C++ Compiler 用のソース、Makefile を分離(ICC 持ってないので未確認) >・make 用のバッチファイルを添付 >111 名前:名無し~3.EXE 2006/09/28(木) 13:38:13 ID:yQRtr3PG >gdi0027のGDI++.DLL(2006/09/28 02:27)をLive2chでうごかしてみた > >[[http://free.flop.jp/gdi++/src/gdi0036.png]] > >設定は以下のとおり。 >[General] >Quality=3 >Weight=8 >Enhance=2 >MaxHeight=0 >UseSubpixel=1 >SubpixelDirection=0 >ForceAntialiasedQuality=1 >[Exclude] >FixedSys >Marlett >メイリオ >Meiryo >[Individual] >[ExcludeModule] > >環境 >PenM + Xp SP2 + RADEON X300 + 2048x1536モード ---- **gdi0025 (gdi0021+953+951+最適化) -[[http://free.flop.jp/gdi++/src/gdi0025.lzh]] >40 名前:前スレ801 2006/09/28(木) 02:13:32 ID:rkTHKpkV >>>>33 >もうやっちゃった・・・ >>33 名前: ◆0x0D/0x20I 2006/09/28(木) 01:58:20 ID:fkDxjKfA >>Osakaフォントスレで、へた字を移植する予定だったけど、だいたい道筋がついて、BDFエディタを作りかけて放置してあることに気づいた。最近、そっちの方がむしろ気になってる漏れがいる。 >> >>ま、そっちは置いといて、今のgdi++.dllの当面の目標は、 >> ・ズレ修正(結構厄介そうな悪寒) >> ・allgdiを仕上げて同梱 >> ・縦書き対応 >>だいたい、これくらいかな?最適化の問題は付いて回ると思う。エッジ強調やガンマ補正である程度の品質向上は望めるだろうけど、劇的な変化はちょっと難しいだろうから、今のgdi++.dllが一段落ついたら、FreeType2を使ってレンダリングする方向で逝くべきかもしれない。あくまでこれは妄想だけど('A`) >> >>後で前スレ>>[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]と>>[[951(gdi0023)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_1ab57a62]]をマージさせて頂いて、サイトにうpしておきます。 >>>>28 >>むしろ、たいした設定項目もないから、GUIを用意してもいいんじゃないかな。 >>VBで良ければパパッと作れるけど、SDKはマンドクセ('A`) > >前スレ[[944(gdi0021)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_52376fed]]に前スレ953の再修正を加えました。 >また、前スレ[[951(gdi0023)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_1ab57a62]]のスレッドローカルストレージパッチを取り込みました。 >P4+SSE2, later or compatible processor向け最適化(w/PGO) > >お休みなさい __o_ >SSE2に最適化されてるかわからないビルド >今回もPGOしました。 >スレの>[[881(gdi0018)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_f1f88559]]さんのパッチ見てこちらのビルドにもGetMsgProc()を追加しました。 >ExcludeModuleセクションパッチを取り込みました。 > >プロファイル取ったときの設定はこんな感じです。 >[General] >Quality=3 >Weight=1 >Enhance=0 >MaxHeight=0 >UseSubpixel=0 >SubpixelDirection=0 >ForceAntialiasedQuality=1 > >// old >流し読みしかしてないんだけど、enhancerで unsigned char を signed char にキャストしてる箇所があった。 >いいんだろうか。 > >あと、勝手にソース分割しちゃいました。 >分割したソースについては /src 以下をご覧ください。 >不都合があればどんどん戻しちゃってください。>関係各位 ---- **gdi0023 (キャッシュ周りをマルチスレッド化) -[[http://free.flop.jp/gdi++/src/gdi0023.zip]] >951 名前:名無し~3.EXE 2006/09/27(水) 23:46:43 ID:A4syXu0J >キャッシュ周りにTls~系を使用して複数スレッドからの非同期アクセスを可能にしました。 >デュアルコア環境とかでallgdi++使ってると軽くなってるかも。 >[[20060927版>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_57d7c717]]がベースなのでExcludeModuleとかはありません。 ---- **gdi0021 (最適化ビルド+いろいろ) -[[http://free.flop.jp/gdi++/src/gdi0021.lzh]] >944 名前:801 2006/09/27(水) 23:30:01 ID:UQWYzagB >疲れた・・ > >Pentium4(SSE2もち)以降用に最適化(w/PGO)しました。 >>[[784>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_57d7c717]]の本家ベースに、>[[790(gdi++20060927-enhance)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_9fb60577]]さん、>[[833(gdi0012)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_e8f9fdc9]]さん、>[[881(gdi0018)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_f1f88559]]さんのallgdi++.exe向けGetMsgProc()実装、>[[891(gdi0019)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_113a8c78]]さんの[ExcludeModule]セクションパッチを取り込みました。 > >さらっと動作確認しただけなので、完動するかは保証しません・・・ ---- **gdi0019 (20060927版+バージョンリソース付きdll+>>730のallgdi++) -[[http://free.flop.jp/gdi++/src/gdi0019.zip]] >891 名前:名無し~3.EXE 2006/09/27(水) 20:37:08 ID:A4syXu0J >一応20060927版にバージョンリソース付きdllと>>730のallgdi++をセットにした >パッケージを作ってみますた。 > >>>746 >>746 名前:名無し~3.EXE 2006/09/27(水) 02:34:00 ID:kdcoJI+4 >>>>743-744 >>[[http://drwatson.nobody.jp/gdi++/tray_allgdi2.zip]] >>とりあえずそこだけ直したけど、基本的に書き殴りっぱなしのとりあえず動くってゆーコードなので、人様には見せられないクオリティですし、なんだかallgdiの作者さんにも申し訳ないですが・・・ >㌧でもないです。漏れがタスクトレイ常駐にしなかった理由は、単にpcがXGAにもかかわらず既にトレイにアイコンが15個ぐらい並んでるからです。 >というかこちらこそ最近出しゃばり過ぎてスマソ ---- **gdi0018 (0017+version+allgdi) -[[http://free.flop.jp/gdi++/src/gdi0018.zip]] >881 名前:名無し~3.EXE 2006/09/27(水) 19:26:38 ID:C9KiwGRj >とりあえずallgdi適用可能になった(と思う)>>[[869>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_855eefb6]] > >実態は>>[[869(gdi0017)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_855eefb6]]に>>654の差分を追加しただけなんで整合性が非常に妖しいです >できれば理解してる方に修正してもらいたい >>654 名前:名無し~3.EXE 2006/09/26(火) 22:02:26 ID:BnjtjUIR >>[[http://www.uploda.org/uporg528876.zip.html]] >>pass: gdi >> >>allgdi.exeを実行すると起動中の全プロセスにgdi++.dllが読み込まれる。 >>allgdi.exe -pで常駐モード。(終了はタスクマネージャで) >>結構定期的に出てそうな要望なので試しに作ってみた。 ---- **gdi0017 (gdi0004lzh+individualセクション有効化) -[[http://free.flop.jp/gdi++/src/gdi0017.lzh]] >869 名前:801 2006/09/27(水) 18:48:09 ID:UQWYzagB >>[[833(gdi0012)>http://www18.atwiki.jp/gdiplus2/pages/4.html#id_e8f9fdc9]]さんのIndividualセクション設定の部分をポーティングしてみました。 >今回もSSE2+Pentium4向けに最適化してます。 > >とりあえずポーティングしてみたものの見やすくなってるんだろうか。。。 >失敗してるかも? ---- **gdi0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) -[[http://free.flop.jp/gdi++/src/gdi0016.lzh]] >698 名前:名無し~3.EXE 2006/09/26(火) 23:37:27 ID:RFsWnBd0 >今回は、SSE2+PGOでビルドしてみました。SSE2を持っているプロセッサで動くと思います。 >エンハンスフィルタも取り込んでおきました > > >[General] > >Quality=3 > >Weight=0 > >Enhance=1 > >MaxHeight=0 > >UseSubpixel=0 > >SubpixelDirection=0 > >ForceAntialiasedQuality=1 > >iniはこんな感じの設定で、firefoxで多少ブラウジングしてみただけですが >どれくらい速くなったのかわかりません > >最適化ビルド好きなあなたへ。 > >buildlog.htmは好き者用です ---- **gdi0012 (フォントごとにウェイト指定) -[[http://free.flop.jp/gdi++/src/gdi0012.zip]] >833 名前:名無し~3.EXE 2006/09/27(水) 16:44:08 ID:HJorFkvP >MSゴシックに比べてMS明朝が薄くて困ってたので、 >フォントごとにウェイト指定できるようにしてみました。 > >しょぼくてすまん。 >最近、話題が高度でついて行けません('A`) ---- **gdi0011 (デバッグビルド) -[[http://free.flop.jp/gdi++/src/gdi0011.lzh]] >829 名前:801 2006/09/27(水) 16:36:02 ID:UQWYzagB >>>819 >すでに何かのアプリがgdi++.dll使ってて上書きできないとか言う話でもないよね? > >とりあえず、デバッグビルドつくってみました。最適化なんぞ一切かかっていません。 >すごい遅くても、これ無事に起動する? >リネームしてないんで自力でgdi++.dllにしてからよろり ---- **gdi0009 (PentiumM(Banias or later)) -[[http://free.flop.jp/gdi++/src/gdi0009.lzh]] >816 名前:801 2006/09/27(水) 16:21:34 ID:UQWYzagB >>>[[814>http://gdipp.higoyomi.com/log_01.html#R814]] >ファイル壊れてるなら他の人も使えないだろうし・・・なんでだろう。 > >とりあえずPentiumM(baniasかそれ以降用)向けにビルドし直してみた。 >PGOはプロセッサ持ってないからかけれなかったけども。 >819 名前:名無し~3.EXE 2006/09/27(水) 16:24:06 ID:NdJgLUsq >>>816 >やっぱダメでごんす・・・ ---- **gdi0004 (sse2/pentium4用に最適化したもの) -[[http://free.flop.jp/gdi++/src/gdi0004.lzh]] >801 名前:名無し~3.EXE 2006/09/27(水) 15:17:51 ID:UQWYzagB >最適化ビルドです。784のソースに新エンハンサーをポーティングしてみました。 >なんか、新エンハンサーって一定の幅以下の文字の描画の時におかしくなります? > ><ちらしのうら> >const staticじゃなくてstatic constだとおもうんd ></ちらしのうら> >805 名前:名無し~3.EXE 2006/09/27(水) 15:59:25 ID:6BLvjhDr >>>801 >Xp SP2 + IE7RC1では発生しないね >[[http://free.flop.jp/gdi++/src/gdi0008.png]] IE7RC > >Enhance の設定をしても落ちないので助かったよ >808 名前:名無し~3.EXE 2006/09/27(水) 16:10:01 ID:NdJgLUsq >>>801 >PentiumMマシンでだとGDI++.DLLがロードできないと言われるんだけど >814 名前:名無し~3.EXE 2006/09/27(水) 16:19:50 ID:NdJgLUsq >PenitumM745(Dothan)でMMX,SSE,SSE2対応でした。 >なんでだめなんだろう・・・ ---- **gdi++20060927-enhance (フィルタ修正版) -[[http://khdd.net/kanou/kangae/2006/gdi++20060927-enhance.zip]] >790 名前:672 2006/09/27(水) 12:42:30 ID:hbbR6JaG >フィルタ修正版を作ったよ。 >変更点 >・リンギング防止 >・Enhance の設定できる値を0~8に増やした。 >・16ピクセル超で一段階弱く、32ピクセル超でエフェクトオフ。 >グレーアウトのテキストも許容範囲内になったようです。 >ソースは >>698 さんのバージョンを元にしました。 >>698 名前:名無し~3.EXE 2006/09/26(火) 23:37:27 ID:RFsWnBd0 >>http://www.uploda.org/uporg529021.lzh.html >>pass:gdi >> >>今回は、SSE2+PGOでビルドしてみました。SSE2を持っているプロセッサで動くと思います。 >>エンハンスフィルタも取り込んでおきました。 >795 名前:名無し~3.EXE 2006/09/27(水) 12:54:21 ID:YoS2OVs9 >790 >Enhance有効だと、こんな風に色が変わります…。 >[[http://free.flop.jp/gdi++/src/gdi0002.png]] ---- *アイコン **icon -[[http://free.flop.jp/gdi++/src/gdi0089.zip]]

表示オプション

横に並べて表示:
変化行の前後のみ表示:
目安箱バナー