約 914,698 件
https://w.atwiki.jp/gdiplusplus/pages/33.html
1.使い方 2.バイナリ 3.readme 4.SS 5.履歴 本家版(最新のみ)stable version (gdi++20060927) 以下改良版(上に行くほど最新)gdi0261 (常駐GUI) gdi0147 (常駐 gdippManager) gdi0118 (gdi0116のバグ修正+おまけ改) gdi0116 (gdi0093のバグ修正+Pico氏(gdi0112)の縮小アルゴリズムを組み込み) gdi0112 (MMX対応など) gdi0110 (gdi0102 + 735Image) gdi0109 (up105のSSE無し版) gdi0107 (gdi0104-エンハンスフィルタの改良版-のバグ修正) gdi0105 (1bit+アルファブレンド(注 要SSE2、きわめて未完成)) gdi0102 (gdi0097の環境設定拡張版) gdi0097 (トレイ格納タイプのgdi.exe gdi0060+gdi0061) gdi0093 (ソースをシェイプアップ?20060923版相当に戻してみた) gdi0088 (サー(ry ) gdi0079 (20060927+allgdi+ExcludeModule+TLS その2) gdi0076 (gdi0075のズレるバグ修正) gdi0075 (20060927+allgdi+ExcludeModule+TLS) gdi0061 (gdi0029+GUI) gdi0060 (トレイ格納タイプのgdi.exe) gdi0052 (gdi0049 修正版) gdi0049 (gdi0025+194+ソース分割) gdi++20060929-enhance ( 104-106の修正) gdi0038 (エンハンサの修正 SSE2 Normal) gdi++20060928-enhance (バグ修正) gdi0031 (gdi++ GUI) gdi0029 (トレイ格納タイプのgdi.exe) gdi0027 (944 をベースにソースを整理してみた。) gdi0025 (gdi0021+953+951+最適化) gdi0023 (キャッシュ周りをマルチスレッド化) gdi0021 (最適化ビルド+いろいろ) gdi0019 (20060927版+バージョンリソース付きdll+ 730のallgdi++) gdi0018 (0017+version+allgdi) gdi0017 (gdi0004lzh+individualセクション有効化) gdi0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) gdi0012 (フォントごとにウェイト指定) gdi0011 (デバッグビルド) gdi0009 (PentiumM(Banias or later)) gdi0004 (sse2/pentium4用に最適化したもの) gdi++20060927-enhance (フィルタ修正版) アイコンicon 本家版(最新のみ) stable version (gdi++20060927) 本家のダウンロードページにて。 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) 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) を取り入れてソースを分割したもの 一応、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) を元にソースを分割したりいろいろしてみた。 もしよければ取り入れてください。arch SSE, arch SSE2 指定のビルドも添付しました。 944(gdi0021)のソースを元にソースファイルを分割整理。 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)と 951(gdi0023)をマージさせて頂いて、サイトにうpしておきます。 28 むしろ、たいした設定項目もないから、GUIを用意してもいいんじゃないかな。 VBで良ければパパッと作れるけど、SDKはマンドクセ( A`) 前スレ944(gdi0021)に前スレ953の再修正を加えました。 また、前スレ951(gdi0023)のスレッドローカルストレージパッチを取り込みました。 P4+SSE2, later or compatible processor向け最適化(w/PGO) お休みなさい __o_ SSE2に最適化されてるかわからないビルド 今回もPGOしました。 スレの 881(gdi0018)さんのパッチ見てこちらのビルドにもGetMsgProc()を追加しました。 ExcludeModuleセクションパッチを取り込みました。 プロファイル取ったときの設定はこんな感じです。 [General] Quality=3 Weight=1 Enhance=0 MaxHeight=0 UseSubpixel=0 SubpixelDirection=0 ForceAntialiasedQuality=1 流し読みしかしてないんだけど、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版がベースなので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の本家ベースに、 790(gdi++20060927-enhance)さん、 833(gdi0012)さん、 881(gdi0018)さんのallgdi++.exe向けGetMsgProc()実装、 891(gdi0019)さんの[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 実態は 869(gdi0017)に 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)さんの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 ファイル壊れてるなら他の人も使えないだろうし・・・なんでだろう。 とりあえず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
https://w.atwiki.jp/gdiplusplus/pages/18.html
gdi++.dll 使い方 バイナリ readme SS 履歴
https://w.atwiki.jp/gdiplus2/pages/27.html
gdi++.dll 使い方 バイナリ readme SS 履歴
https://w.atwiki.jp/gdiplus2/pages/4.html
1.使い方 2.バイナリ 3.readme 4.SS 5.履歴 本家版(最新のみ)stable version (gdi++20060927) 以下改良版(上に行くほど最新)gdi0261 (常駐GUI) gdi0147 (常駐 gdippManager) gdi0118 (gdi0116のバグ修正+おまけ改) gdi0116 (gdi0093のバグ修正+Pico氏(gdi0112)の縮小アルゴリズムを組み込み) gdi0112 (MMX対応など) gdi0110 (gdi0102 + 735Image) gdi0109 (up105のSSE無し版) gdi0107 (gdi0104-エンハンスフィルタの改良版-のバグ修正) gdi0105 (1bit+アルファブレンド(注 要SSE2、きわめて未完成)) gdi0102 (gdi0097の環境設定拡張版) gdi0097 (トレイ格納タイプのgdi.exe gdi0060+gdi0061) gdi0093 (ソースをシェイプアップ?20060923版相当に戻してみた) gdi0088 (サー(ry ) gdi0079 (20060927+allgdi+ExcludeModule+TLS その2) gdi0076 (gdi0075のズレるバグ修正) gdi0075 (20060927+allgdi+ExcludeModule+TLS) gdi0061 (gdi0029+GUI) gdi0060 (トレイ格納タイプのgdi.exe) gdi0052 (gdi0049 修正版) gdi0049 (gdi0025+194+ソース分割) gdi++20060929-enhance ( 104-106の修正) gdi0038 (エンハンサの修正 SSE2 Normal) gdi++20060928-enhance (バグ修正) gdi0031 (gdi++ GUI) gdi0029 (トレイ格納タイプのgdi.exe) gdi0027 (944 をベースにソースを整理してみた。) gdi0025 (gdi0021+953+951+最適化) gdi0023 (キャッシュ周りをマルチスレッド化) gdi0021 (最適化ビルド+いろいろ) gdi0019 (20060927版+バージョンリソース付きdll+ 730のallgdi++) gdi0018 (0017+version+allgdi) gdi0017 (gdi0004lzh+individualセクション有効化) gdi0016 (ICC9.1にてPGO付きビルドSSE2/Pentium4向け) gdi0012 (フォントごとにウェイト指定) gdi0011 (デバッグビルド) gdi0009 (PentiumM(Banias or later)) gdi0004 (sse2/pentium4用に最適化したもの) gdi++20060927-enhance (フィルタ修正版) アイコンicon 本家版(最新のみ) stable version (gdi++20060927) 本家のダウンロードページにて。 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) 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) を取り入れてソースを分割したもの 一応、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) を元にソースを分割したりいろいろしてみた。 もしよければ取り入れてください。arch SSE, arch SSE2 指定のビルドも添付しました。 944(gdi0021)のソースを元にソースファイルを分割整理。 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)と 951(gdi0023)をマージさせて頂いて、サイトにうpしておきます。 28 むしろ、たいした設定項目もないから、GUIを用意してもいいんじゃないかな。 VBで良ければパパッと作れるけど、SDKはマンドクセ( A`) 前スレ944(gdi0021)に前スレ953の再修正を加えました。 また、前スレ951(gdi0023)のスレッドローカルストレージパッチを取り込みました。 P4+SSE2, later or compatible processor向け最適化(w/PGO) お休みなさい __o_ SSE2に最適化されてるかわからないビルド 今回もPGOしました。 スレの 881(gdi0018)さんのパッチ見てこちらのビルドにもGetMsgProc()を追加しました。 ExcludeModuleセクションパッチを取り込みました。 プロファイル取ったときの設定はこんな感じです。 [General] Quality=3 Weight=1 Enhance=0 MaxHeight=0 UseSubpixel=0 SubpixelDirection=0 ForceAntialiasedQuality=1 流し読みしかしてないんだけど、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版がベースなので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の本家ベースに、 790(gdi++20060927-enhance)さん、 833(gdi0012)さん、 881(gdi0018)さんのallgdi++.exe向けGetMsgProc()実装、 891(gdi0019)さんの[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 実態は 869(gdi0017)に 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)さんの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 ファイル壊れてるなら他の人も使えないだろうし・・・なんでだろう。 とりあえず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
https://w.atwiki.jp/gdiplusplus/pages/12.html
注意! このページの情報は古い可能性があります。最新版の情報などは2chスレを各自追いましょう。 FreeTypeを使ったgdi++.dllで更なるフォントの可能性を。 gdi++.dll(FreeType版)について 概要 表示例 利用上の注意 推奨動作環境 使い方、オプション、その他設定 Tips、FAQ gdi++.dll(FreeType版)について 作者 555 ◆qtNrpBmX2. 他多数の小人さんたち 最新安定版 gdi0787バイナリもチェックしてみて下さい。 ソフトウェアの基本的コンセプト 2ちゃんねる Windows板 gdi++.dll quality=5 (199)より オリジナルのGDI++は力強い描画。まさにキュアブラック。 FreeType版はスタイリッシュな描画。まさにキュアウィンディ で、本当に最初期はFreeTypeで描画しない(できないかった)部分をオリジナルの描画コードで 描画することは視野にあった事は告白しておきますが 今のところ私は見送ろうと思っています。 概要 gdi++.dllをベースにさらなる拡張。 元祖gdi++.dllでの方式ではある程度以上の描画品質を得られなかったため、フォントレンダリングをFreeTypeを用いて行うようにしたもの。 表示例 →表示サンプル 利用上の注意 このソフトウェアはまだ開発段階のため、思わぬ不具合が起きる可能性がある。自己責任で使うこと。 バグ報告は2chのスレッドにて行う。その際は発生状況と環境の詳細(使用バージョン、OS、アプリ、使用フォント等)を記入すること。 推奨動作環境 Windows 2000またはXP以降(Vistaやx64版は未確認) 動作クロック周波数が1GHz以上のCPU 512MB以上のメモリ 使い方、オプション、その他設定 →使い方 →オプション →その他 Tips、FAQ →Tips →FAQ
https://w.atwiki.jp/gdiplus2/pages/14.html
動作に必要なファイルは、以下のリンクを辿って入手してください。 gdi++.dll(FreeType版)本体 freetype.dll ※以下の内容は、バイナリ(F)とほぼ重複し、かつ情報量が多いです。過去の経緯を詳細に調べる場合などに有効です。 gdi++ FreeType版(上に行くほど最新) ※ gdi++ FreeType版 の動作には、別途freetype.dllが必要です。 gdi0850 (IdeographicVariationSequences(異体字)対応テスト版) http //free.flop.jp/gdi++/src/gdi0850.zip (中略) (Helium派生~現在公開停止) gdi0789 (実験版(ソース整理・機能削減。再up・転載は控えて)) http //free.flop.jp/gdi++/oldsrc/gdi0789.lzh gdi0787 (メモリーリーク・バッファオーバーラン修正) http //free.flop.jp/gdi++/oldsrc/gdi0787.lzh (中略) gdi0577 http //free.flop.jp/gdi++/oldsrc/gdi0577.zip (中略) gdi0260 (gdi0257を3倍近く高速化) gdi0257 ([DLL] gdi0238で修正) http //free.flop.jp/gdi++/src/gdi0260.zip (3倍近く高速化) http //free.flop.jp/gdi++/src/gdi0257.zip 255 名前:名無し~3.EXE 2006/11/05(日) 03 10 23 ID gDmtJ1sE 251 251 名前:名無し~3.EXE 2006/11/05(日) 02 30 44 ID jqpBSdu7 AntiAliasMode=1だと諸々のダイアログが寸詰りになります。 gdi0257.zip XP SP2 上:0 下:1 http //free.flop.jp/gdi++/src/gdi0259.png 確かにAntiAliasMode=1、HintingMode≠1の時に詰まってるなぁ FreeTypeのバグなのか、LightはMacOSX風らしいから文字幅計算もMacに合わせてたりして。 252 252 名前:名無し~3.EXE 2006/11/05(日) 02 40 06 ID yP5zBn6r めちゃくちゃおもくなった やあアンチ君。君の要望に応えて3倍近く高速化してみたよ。 HDBENCHのText 前 2745 後 7966 250 名前:名無し~3.EXE 2006/11/05(日) 02 04 02 ID gDmtJ1sE 結局 231の問題は解決したかどうか分からんが正式age 231 名前:名無し~3.EXE 2006/11/04(土) 21 31 50 ID ByU7etch それよりも http //free.flop.jp/gdi++/src/gdi0248.png 選択範囲がズレる問題。 非FreeTypeの時は浮動小数点の丸め誤差が原因らしかったけど、 こっちでは如何なの? それと、このInformationってやつ、 本来はCSSのletter-spacingで文字間が0.5em空く筈なんだが、 Operaでgdi++使うと見ての通りそれが無くなっちゃう。(FirefoxやIEでは無くならない 非FreeTypeでも、試してみたら発生した。その頃からの問題みたい。 OSはWinXP SP2。 おまけ 付属ツールの転載条件がよー分からんのでマズかったら削除するかも http //free.flop.jp/gdi++/src/gdi0258.zip gdi0238 (ズレが何さ。) http //free.flop.jp/gdi++/src/gdi0237.7z http //free.flop.jp/gdi++/src/gdi0238.zip 153 名前:555 ◆T5FLAkjak. [sage] 投稿日:2006/11/03(金) 20 05 07 ID NerZQo4F 流れをぶった切って投下 gdi0235ベース ずっとくすぶってる上下ズレに終止符をうつべく焼きいもを食いながらビルド。 Helveticaの人とかヒラギノMYCOMの人とかどんなもんでしょう。 ちょいと微妙なのでうまくいかないときは破棄で。 gdi0235 ([DLL] gdi0228に機能追加) http //free.flop.jp/gdi++/src/gdi0235.zip 146 名前:693[sage] 投稿日:2006/11/03(金) 18 47 40 ID x3TcwljQ 555氏のreadmeをマージして正式age 横幅80文字派だから勝手に改行しちゃった。テヘ ついでに[HintingMode]が[Individual]という懐かしい名前に変わりますた。 gdi0230 ([DLL] Hinting暫定age) http //free.flop.jp/gdi++/src/gdi0230.zip 126 名前:名無し~3.EXE[sage] 投稿日:2006/11/03(金) 12 16 36 ID x3TcwljQ Hintingの話が出てるのでここらで暫定age [HintingMode] メイリオ=0 MS Pゴシック=2 とかできる。 123 って555氏? readme統合中なので追記する部分とかあったら修正してホスィ gdi0228 ([DLL] gdi0224ベースで色々修正) http //free.flop.jp/gdi++/src/gdi0228.zip 101 名前:名無し~3.EXE[sage] 投稿日:2006/11/03(金) 01 13 27 ID x3TcwljQ マジでM$頃してぇ・・・ http //free.flop.jp/gdi++/src/gdi0229.png (冥霊から明瞭へ) gdi0224 (gdi0216mod3) http //free.flop.jp/gdi++/src/gdi0224.lzh 86 名前:名無し~3.EXE 2006/11/02(木) 20 10 40 ID 350fdeQH 標準のアンチエイリアスみたいだね。 直ったと思う。多分。 #大ポカしてた。orz gdi0222 (gdi0216mod2) http //free.flop.jp/gdi++/src/gdi0222.lzh 71 名前:555 2006/11/02(木) 16 47 39 ID YW+1VgIQ 53 の修正とか。 53 名前:名無し~3.EXE 2006/11/02(木) 12 58 14 ID /VM5C/mp IEだと LI タグの表示がおかしくなるね 50 のgの下欠けはどう? 50 名前:名無し~3.EXE 2006/11/02(木) 11 25 02 ID OnVg6K6s 46 OpenTypeでもまともに表示されるようになったっぽい。 "g"みたいに下に出っ張る文字は底が欠けるけど、これはしょうがないのかな。 パッケージから2ch.gdi++.freetype.manifestがなくなってるので、 またfreetype.dllの場所問題が出そう。 旧アーカイブからもってくればいいんだけど。 55 37にお礼 55 名前:名無し~3.EXE 2006/11/02(木) 13 55 15 ID mcy3bCvh modの0.54で化けなくなったね。 Opentypeのヒラギノでも化けなくなったね。 乙 56 56 名前:名無し~3.EXE[sage] 投稿日:2006/11/02(木) 14 07 22 ID OnVg6K6s 52 特定フォントの位置ズレ。SHG30Pも半角文字がずれるんだが、 ASCIIArtを表示させるために時幅?を調整するパッチを当てたものだと ズレが出ないで普通に表示できることに気づいた。 インターセプトのところは普通にフックでいいと思う。 昔のとおり「横取り」でもいい。何で変えたんだろう。 TTFでは文字幅に限らずいろんなところに同じ意味の値が格納されていて MacとWindowsで描画が異なったりする。で、FreeTypeがみてるのがWindowsと違うというオチ。 これはフォント側の責任な気がしてならない。ちゃんと同じ値を指定して欲しい。 fontforgeあたりで編集したりするとまともになったりするのはそのせい。 67 67 名前:名無し~3.EXE 2006/11/02(木) 16 15 31 ID dQFx1awV gdi0217+gdi0155でなんか少しずれる 使ったとき┐|┘とかの描写も少し変になってる 同上。だけど違う問題かもしれない。要調査。 64 64 名前:名無し~3.EXE 2006/11/02(木) 15 54 06 ID cW6PiSjM XPですがfreetype版だと大半のアプリケーションでメニュー、コンテキストメニュー等に効かなくなっています。 http //free.flop.jp/gdi++/src/gdi0219.png それと、本家のバージョンでは正常に動きます。 これは多分CreateFontしないでフォントを使ったりしてるときにでてくるはず。 GetObjectでLOGFONTを取得してもフォント名が空っぽなんで弾いてる。 なんとかならんかね? gdi0217 ([DLL] gdi0216+XPで化ける対策) http //free.flop.jp/gdi++/src/gdi0217.zip 46 :名無し~3.EXE:2006/11/02(木) 10 01 00 ID F3TiC1I8 はい。皆さんおはよう御座います。7-zipがうpろだでうまく扱えないのに気づきまして御座います。 さて、ズレに関してGetTextMetrics内でAscendをFTのものに書き換え、 かつTextOut内でAscenderをベースラインに使えばいいのではないかと気づきましたところ 手元ではずれがなくなったように思えますので報告させていただきます。 #どうもOpenType系だとOUTLINETEXTMETRICのMacAscend(FTもこれ)と一致しないがTrueTypeだと大体一致するっぽい。 #GetTextExtentPointは変えてない。 #freetype_face- heightはLineGapをアセンダ+ディセンダに足してあるのでLineGapが100%の書体で面白いことになる。 化ける報告がXPばかりということもうすうす気づいておりましたが 37 氏の報告を読みまして とりあえずXPでORIG_*TextOutAを呼び出す部分を殺してみました。お試しください。 #これって何か深い意味あるのかね? (履歴は更新してない) #readme統一したほうがよくね? むしろマージしてくれ。 gdi0216 ([DLL] gdi0209修正+機能追加) http //free.flop.jp/gdi++/src/gdi0216.zip 993 名前:名無し~3.EXE 2006/11/01(水) 23 17 06 ID GIgSb3ky 終わりかけの3pxにあえて書いてみる 豪速化オプション搭載。マジで目ん玉飛び出るぐらい速くなるが使用は要注意 メイリオ改造版 は悪いけどgdi++側でどうする事もできんと思われ。 上でageてくれた170MBのダンプtxtと睨めっこしても何も分からんかったしなぁ。 gdi0206 (gdi0181+...) http //free.flop.jp/gdi++/src/gdi0206.zip 914 名前:名無し~3.EXE 2006/11/01(水) 01 32 00 ID +pKdjOuP とりあえずこの辺で投下 メイリオ 本家メイリオで試してみたら特に化けてないなぁ 何となく改造版のヘッダが壊れてそうな気がするけど誰かttfdumpで調べてホスィ 912 BoldなM+2VM+IPAG circleが、0だけ妙に細くなる CVSのやつでは問題ないのでFreeType2.2.1のバグと思われ。 つか我ながらデバッグにCVS版使ってるのマズいか。いやLCDの画質が良くて病みつきになってしm(ry batファイルを実行しようとすると、EXEファイルではないと怒られる。 いや、まぁbatだし・・・ あと現時点でFreeType版gdi++とManagerの併用は動作保証外。 非FreeType版gdi++とは内部的に結構違ってるので。 gdi0202 (gdi0181+gdi0195+gdi0198) http //free.flop.jp/gdi++/src/gdi0202.zip 902 名前:名無し~3.EXE 2006/10/31(火) 23 12 32 ID Gx/SI8LD 900 900 名前:名無し~3.EXE[] 投稿日:2006/10/31(火) 23 01 32 ID Ay/lTox0 884 修正お疲れ様です。 gdi195で、こちらで確認した 829のズレは直ってるようです。 その影響でしょうか、今までずれていなかったフォント全般(?)が 1dotだけ下にシフトしてるようです。 環境は Win2k + Fx1.5 + gdi195 です。 FreeTypeの影響で沈んでるようにみえるのかと確認してみましたが gdi++無しと比較し、gdi193(またはそれ以前)で 1dotのズレは確認できませんでした。 あ、マジだ 直し方分からんからとりあえず描画位置を1px引き算しておくww メイリオ FreeType使ってほしくないというM$の最後の抵抗 (冗談なので間に受けないように) gdi0193 (gdi0181修正版) http //free.flop.jp/gdi++/src/gdi0193.lzh 876 名前:名無し~3.EXE 2006/10/31(火) 19 08 25 ID N65EMYrT とりあえず0181に 874のIMEと位置ズレの変更をしただけ。 化けない俺だけど一応メイリオのやつ meiryoKeGothic.ttc(5.00+rev1) size 9260904 CRC32 f5422589 MD5 c1c6c6f4ab8e8ff5626e991f46160e72 SHA1 3ca51f1697155c2c23fcf87516d6f0ba57c895c8 OSはWindows2000。何度か試してるけど化けには出会えない。 gdi0181 (gdi0177の修正) http //free.flop.jp/gdi++/src/gdi0181.zip 822 名前:名無し~3.EXE 2006/10/30(月) 04 00 33 ID ojq82nNs ちゅーかサブピクセルレンダリングのコードバグってるやん って事で修正+比較スクショ ttp //free.flop.jp/gdi++/src/gdi0180.png ttp //free.flop.jp/gdi++/src/gdi0181.zip 821 ウィンドウタイトルが化ける フォントリンクは化けるのでExclude推奨 リンクの下線が少し下の部分に表示される つ gdi0181 ビットマップフォントがビットマップで表示されない 擬似TTFなら表示されないのは仕様 MS IMEの変換部分で選択している文字列が一文字目しか表示されない ん、これは・・・クリッピングの計算がバグってるのかな? 手元の環境でも再現できたからまー明日にでも調べてみるか つか何だこの時間は( A`) gdi0177 (gdi0172+カーニングオプションと文字サイズの何) http //free.flop.jp/gdi++/src/gdi0177.lzh 817 名前:555 2006/10/29(日) 22 36 24 ID JRY0gR7g とりあえずカーニングのオプションだけつけてみただけ。 0172ベースにしちゃった。ごめん。 んで、文字のサイズ計算をちょっといじくっちゃいました。 また欠けとかでるかもしれないので注意してくださいませ。 なんでこんなことしたかというとですね TextExtentPointあたりでしっかりサイズ計算するためには どうしてもちゃんとTextOutと整合したサイズ計算にしたいと思ったのですね。 んでなぜかFT_Request_Sizeを使うと落ちるんですね。 face_requesterから返されたFaceのsizeをキャッシュマネージャが解放しているんですが FT_Request_Sizeではsizeを使って関連付けられたfaceを参照するんですね。 face- size saze- faceと。 んで検索して見たりしたらこんなのを見つけた。 ttp //www.mail-archive.com/freetype@nongnu.org/msg00952.html このあたり見ると大嘘ですね。ぶち切れですね。 gdi0173 (manifest付きgdi0172) http //free.flop.jp/gdi++/src/gdi0173.zip 815 名前:名無し~3.EXE 2006/10/29(日) 21 27 12 ID wMbHDms7 論より証拠でgdi0172のgdi++.dllにmanifestを付けただけのものを作ってみた。 中のgdi++.dllをgdi0172のものと置き換えて2ch.gdipp.freetype.manifestと freetype.dllをgdi++.dllと同じフォルダにコピーすればおk gdi0172 (gdi0170ベース+何か) http //free.flop.jp/gdi++/src/gdi0172.zip 784 名前:名無し~3.EXE 2006/10/29(日) 14 14 29 ID Wb5LTQDj 781 キタ━━━━(゚∀゚)━━━━!! で、早速w http //free.flop.jp/gdi++/src/gdi0172.zip gdi0169.png それなんて風水? まー漏れも普段こんな感じなんだが。PC-98マンセー http //free.flop.jp/gdi++/src/gdi0171.png gdi0170 (gdi0168修正版) {http //free.flop.jp/gdi++/src/gdi0170.lzh} 781 名前:555 2006/10/29(日) 13 20 36 ID qRA4JHFa 太字と斜体をつけといた。 今回は要DLL 775 名前:名無し~3.EXE 2006/10/29(日) 11 39 41 ID Wb5LTQDj 774 鯖の容量は2MB*10000も無いと思うけど、どうなんでしょ>中の人 とか言ってる間にgdi0164+gdi0166が出来たので差分うpってみるてすと 手動でマージしたのでおかしい所があるかも ttp //free.flop.jp/gdi++/src/gdi0168.zip ちらしのうら readme_555の最後の行が気になる・・・ でも何となく想像がついたりしてw /ちらしのうら gdi0164 (gdi0156の修正版) http //free.flop.jp/gdi++/src/gdi0164.zip 764 名前:名無し~3.EXE 2006/10/29(日) 10 15 14 ID Wb5LTQDj いろいろ修正+整理。 まとめレス。 悪い事は言わんからfreetype.dllは*PATHの通ったフォルダ*に桶 漏れはフォントリンクに対応する気は無いからExclude追加で諦めれ 表示周りの不具合はここに書かれても困る ↓の中の人にメールでも送って修正頼んだ方がいいかと ttp //hp.vector.co.jp/authors/VA028002/ gdi0156 (gdi0152の修正版) http //free.flop.jp/gdi++/src/gdi0156.zip 735 名前:名無し~3.EXE 2006/10/28(土) 17 41 18 ID lCUfvZHY ズレ欠け+色化け修正 ビフォーアフター http //free.flop.jp/gdi++/src/gdi0157.png gdi0152 (gdi0143 + FreeType = gdi0149 の修正版) gdi0151 (FreeType DLL版) http //free.flop.jp/gdi++/src/gdi0152.zip http //free.flop.jp/gdi++/src/gdi0151.zip 703 名前:名無し~3.EXE 2006/10/28(土) 11 38 59 ID lCUfvZHY 先越されたorz 700 700 名前:名無し~3.EXE 2006/10/28(土) 11 11 31 ID O3+ZmekM http //free.flop.jp/gdi++/src/gdi0150.zip こうかな。コマンドライン修正したつもり。 多分直ってない・・・と思う 同じフォルダにあるreadme.txtとかをgdi++.exeにD Dしてもファイルが開けないし。 ついでに言うと本家0927版は↓みたいなショートカットをD Dしても正常に動作しなかった。 "C \Program Files\Mozilla Firefox 2\firefox.exe" -P bonecho ってことで直しますた http //free.flop.jp/gdi++/src/gdi0152.zip ついでにFreeTypeでバイトコードインタプリタを有効にしてみた。効いてるかは知らん http //free.flop.jp/gdi++/src/gdi0151.zip 702 702 名前:名無し~3.EXE 2006/10/28(土) 11 29 43 ID PFUQVBGY ひさびさに見たらついていけなくなってるorz どれ落とせばいいんだよ( A`) つ gdi0151&gdi0152 gdi0143 (up0133をコンパイルした物) http //free.flop.jp/gdi++/src/gdi0143.zip 659 名前:名無し~3.EXE 2006/10/27(金) 01 13 36 ID XKMY1awz 656 656 名前:名無し~3.EXE 2006/10/27(金) 00 51 42 ID W5WEBeIk 除外フォント機能はうまく利いていない気がする。 スクロールすると適用されてしまう。 Windows 2000 Service Pack 4 そういやExcludeチェックにバグがあったの忘れてた 多分up0118・up0133(今は無い)以外では直ってないはずなので、 とりあえずup0133をコンパイルした物を置いといた これで直ってなかったら知らん 657 それなら"[除外]"にしてもいいかと。日本語大丈夫だったはず。 up0139 (FreeType2 MS Pゴシック 16ピクセルのみ) http //free.flop.jp/gdi++/src/gdi0139.lzh 555 名前:名無し~3.EXE 2006/10/24(火) 14 19 54 ID WYOEybts FreeType2 MS Pゴシック 16ピクセル 自分で自分のJaneのスレ内だけかかれば良し。ツリーもリストもシラネーヨ版。 570 名前:555 2006/10/24(火) 22 41 16 ID 06MRDaL0 作りについての情報とか 元にしたのは本家gdi++20060927.zipで FreeTypeの使い方は LINK ほぼそのまま(コメント入れときゃ良かった)。 1.ロード時にFreeTypeを初期化してフォントをロードしている。 2.元でlfEscapementをチェックしている後にフォントのチェックを入れている(フォント名チェックはずしてReleaseしたかも御免)。 少し改善案とか 一.動いて少し試せればイイダロぐらいの気持ちでやったので無駄があるはずだからそれをつぶすこと。 ニ.1でのフォントロードを止めて2でロードするように変更すると色々対応できるかも 三.ニの案のかわりに1のタイミングでロードしておくフォントをiniか何かで指定する方法もありそう 四.MMX、SSEなんかを使ったアルファブレンド 五.サブピクセルレンダリングとかLINK みたいな調整とか
https://w.atwiki.jp/gdiplusplus/pages/49.html
gdi++.dll(Helium版) -スパゲッティコードからの脱却、高速化、そして新たなる高みへ- gdi++.dll(Helium版)概要作者 最新版 名前について 表示例 注意 基本的な使い方 FAQ、未解決の問題 その他(内容が古いかも) 概要 以下は付属マニュアル(gdi++.htm)からのコピペです。 コアエンジン (Helium と呼ぶ事にする) をフルスクラッチした gdi++ です。 具体的には…… SourceMonitor で Max Complexity が 30 以下になりました。 FreeType 内蔵キャッシュの使用を廃止し、独自のキャッシュシステムを使用することでメモリ消費量を削減しました。 MS Pゴシックなどの太字やイタリック体をエミュレートしているフォントで FontStream を多重に確保しないようにしました。 文字の描画に必要な API のみをフックし、その他は GDI の結果をそのまま使うようにしました。 マルチスレッドからの非同期アクセスに対する安定性が大幅に向上しました。 「一応0789(0577)ベースですが、もはやソースレベルでは別物」だそうです。 作者 gdi++9px(実質10px)740氏(コテ、トリップなし) 最新版 配布サイトはこちら。 名前について 表記 Helium版、Helium、ヘリウム、He版とか。決してヒーリウムではない。 名前変更の理由 ソースが前のバージョンとはもはや別物になってしまったから。 名前の由来 憶測で書いてますが・・・ 斧にアップしてたときファイル名の先頭にHe_がついてたから(Heはヘリウムの元素記号) 軽いから(ヘリウムは水素に次いで軽い) 安定してるから(ヘリウムはもっとも安定した分子) 表示例 gdi++うpろだEX(テスト版やiniうp、SS晒しとか)へGO! 注意 実験版ですので必ず付属マニュアル(gdi++htm)を読んでから使うように。 SSE2対応CPU(Pentium 4、Pentium M、Athlon64 以降の CPU)で動作します。 Windows XP SP3 以外での動作は保証しません。64 ビット版OSでの動作も保証しません freetype.dllは必ず Helium版と一緒に配布されているもの(dll.zipに同梱)を使用して下さい。 重大な欠陥が見つかった場合は予告無しに削除されるかもしれません。再配布・転載などはしないで下さい。 ネトラン厨お断り 基本的な使い方 Helium版の使い方はgdi++(FreeType)と同じですが、iniファイルのオプションが若干異なります。これについては付属マニュアル(gdi++.htm)が非常に丁寧なので、そちらを見て下さい。 ここではGdiTray(gdi++.dll を全プロセスに対して適用させるソフト)の使い方について述べます。 注 基本的なPCの操作、解凍の方法、iniファイルの書き方は理解しているものとします。 gdi++Helium版、動作に必要なDLL及びGdiTrayを配布サイトからDLし、全て同じフォルダに展開する。 付属マニュアル(gdi++.htm及びgditray.htm)を熟読する。 ファイル群を展開したフォルダにgdi++.iniを作成し、マニュアルに記載されたGdiTrayのiniファイルの内容を書く。 MultiINISelector=1の場合はiniフォルダを作成しそのフォルダ内に作成したiniファイルに、MultiINISelector=0の場合はgdi++.iniの続きにマニュアルに記載されたgdi++本体のiniファイルの内容を書く。 gditray.exeを起動。スタートアップにショートカットを作ればWindows起動時に自動で起動できます。 FAQ、未解決の問題 うちの CPU、SSE2 に対応してないんですけど・・・→ 頻繁に呼ばれる部分を随時 SIMD 化しているので、もう対応できません。ごめんなさい。 古いPCだからこそ軽いバージョン使いたいのがわからないのか!→ SSE2に特化することで軽くしてるんだから、諦めて0787でも使って下さい。 ソース無いんだが→ ライセンスでグレーなところがあるかもしれないようで現在調査中のためソースは同梱されていません。 もっとちゃんとした使い方のマニュアルみたいなのはないの? 画像入りで分かりやすいやつ。→ もし良ければ書いて下さい。嫌なら親切な人が書いてくれるのを待って下さい。書く気はあるけど一人で全部書けないなら中途半端でもwikiに書くと誰か書き足してくれるかも。 全適用したい→ 下のFAQにある方法を使うか、上のGdiTrayを使って下さい。 ○○○が落ちる→ freetype.dllのバージョンは正しいですか? HDDに前のが残ってることもありうるので検索してみて下さい。もし正しければ開発スレに報告して下さい。OS、gdi++のバージョン、落ちるアプリケーション、CPU、メモリを明記すること。またフォント変えたら問題ない場合とかはフォントも。 その他(内容が古いかも) FAQ Tips
https://w.atwiki.jp/gdiplus2/pages/19.html
注意! このページの情報は古い可能性があります。最新版の情報などは2chスレを各自追いましょう。 FreeTypeを使ったgdi++.dllで更なるフォントの可能性を。 gdi++.dll(FreeType版)について 概要 表示例 利用上の注意 推奨動作環境 使い方、オプション、その他設定 Tips、FAQ gdi++.dll(FreeType版)について 作者 555 ◆qtNrpBmX2. 他多数の小人さんたち 最新安定版 gdi0787バイナリもチェックしてみて下さい。 ソフトウェアの基本的コンセプト 2ちゃんねる Windows板 gdi++.dll quality=5 (199)より オリジナルのGDI++は力強い描画。まさにキュアブラック。 FreeType版はスタイリッシュな描画。まさにキュアウィンディ で、本当に最初期はFreeTypeで描画しない(できないかった)部分をオリジナルの描画コードで 描画することは視野にあった事は告白しておきますが 今のところ私は見送ろうと思っています。 概要 gdi++.dllをベースにさらなる拡張。 元祖gdi++.dllでの方式ではある程度以上の描画品質を得られなかったため、フォントレンダリングをFreeTypeを用いて行うようにしたもの。 表示例 →表示サンプル 利用上の注意 このソフトウェアはまだ開発段階のため、思わぬ不具合が起きる可能性がある。自己責任で使うこと。 バグ報告は2chのスレッドにて行う。その際は発生状況と環境の詳細(使用バージョン、OS、アプリ、使用フォント等)を記入すること。 推奨動作環境 Windows 2000またはXP以降(Vistaやx64版は未確認) 動作クロック周波数が1GHz以上のCPU 512MB以上のメモリ 使い方、オプション、その他設定 →使い方 →オプション →その他 Tips、FAQ →Tips →FAQ
https://w.atwiki.jp/elvis/pages/772.html
英名 : Graphics Device Interface 別名 : なし Windows?で、ウィンドウを開閉・移動など基本的な、グラフィック画面表示のためのインターフェース。 アプリケーション?は、画面への描画や印刷などの処理をGDIに依頼し、GDIは、その依頼をディスプレイドライバやプリンタドライバが処理できる形に変換して実行を促す。アプリケーションの出力処理にGDIを使うようにすれば、機種や装置による違いはGDIが吸収してくれる。
https://w.atwiki.jp/gdiclublink/pages/12.html
ここは、GDI倶楽部メンバーのサイトリンク集です。 編集(追加)方法は、このページの下部をご参照ください。 また、編集は、GDI倶楽部SNS内でお知らせしたユーザ名、パスワードを使いログインする必要があります。ユーザ名、パスワードはSNSにてご確認いただき、このページの画面右上にある[ログイン]をクリックしてから編集してください。 ※少しフォーマットを変更します。各サイト名の横に【】書きで、GDI倶楽部SNS内でのニックネームを追記してください。ただし、特定メンバーのサイトでない場合は、不要です。 ・GDI-info 【聖ちゃん】 ・GDI Information Desk【REDEVE】 ・GDI ビジネス案内所【りゅう】 ・GDIビジネス総合案内 GDI倶楽部 【聖ちゃん】 ・GDIビジネス総合情報 GDI倶楽部 【むーたん】 ・GDI ビジネスで豊かな人生を【りゅう】 ・GDIビジネスで夢を叶えるチャンスが到来!【まあちゃん】 ・グローバル ドメインズ インターナショナルを知ろう!【まあちゃん】 ・【ドットWS】GDIビジネスで成功するならココだよ~♪【binmey】 ・GDIビジネス&GDI倶楽部【ひろき】 ・GDIビジネスで明るい未来を【stanaca】 ・簡単・安心|副業・在宅ビジネスGDI【六波羅蜜】 ・プロジェクトGDI 収入不安を退治せよ~世界が注目の在宅ワーク~【でん!】 ・GDI business info【Saaya】 ・ネットで副業を始めたいなら、GDIビジネスから!【Saaya】 ・GDI+アルファーダンで家計の自己防衛!【Saaya】 ・ ・ ・ ・ ・ 編集は、GDI倶楽部SNSで掲示したユーザ名、パスワードでログインしたユーザのみ可能です。 次の例を参考にして、ご自身のGDIサイトのリンクを追加していってください(五十音順でお願いします。)。 編集は、ワード感覚で簡単にできます。 【追加方法】 (1)画面上のメニューから[編集]-[このページを編集]をクリック (2)既にあるリンクの上か下にサイト名を記入(五十音順でお願いします。)あわせて、サイト名横にGDI倶楽部SNS内でのニックネームを【】書きで記入(ただし、特定メンバーのサイトでない場合は、ニックネームは不要です。) (3)記入したサイト名を選択(反転表示)後、編集メニューの[リンク挿入/編集]をクリック (3)ハイパーリンクの[ハイパーリンク情報]で[URL]にhttp //以降のサイトURLを記入 (4)[ターゲット]で[新しいウィンドウ(_blank)]を選択して「OK」をクリック (5)編集画面左上の[ページを保存]をクリックで終了 ※次の人のために、改行して「・」をしておいていただくと、親切かと思います。 【表示例】 ・GDI Information Desk【REDEVE】 リンクがある程度増えましたら、各自のサイトに掲載できるようHTMLソースのページを作成し、公開します。 こちらのHTMLソースをコピーしてご自身のサイトのリンク集に追加するなど、ご活用ください。