動作に必要なファイルは、以下のリンクを辿って入手してください。
※以下の内容は、バイナリ(F)とほぼ重複し、かつ情報量が多いです。過去の経緯を詳細に調べる場合などに有効です。
gdi++ FreeType版(上に行くほど最新)
※ gdi++ FreeType版 の動作には、別途freetype.dllが必要です。
gdi0850 (IdeographicVariationSequences(異体字)対応テスト版)
(中略)
(Helium派生~現在公開停止)
(Helium派生~現在公開停止)
gdi0789 (実験版(ソース整理・機能削減。再up・転載は控えて))
gdi0787 (メモリーリーク・バッファオーバーラン修正)
(中略)
gdi0577
(中略)
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:gDmtJ1sE251251 名前:名無し~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に合わせてたりして。
252252 名前:名無し~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の問題は解決したかどうか分からんが正式age231 名前:名無し~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.7zhttp://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)
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ベースで色々修正)
101 名前:名無し~3.EXE[sage] 投稿日:2006/11/03(金) 01:13:27 ID:x3TcwljQ
マジでM$頃してぇ・・・
http://free.flop.jp/gdi++/src/gdi0229.png(冥霊から明瞭へ)
gdi0224 (gdi0216mod3)
86 名前:名無し~3.EXE 2006/11/02(木) 20:10:40 ID:350fdeQH
標準のアンチエイリアスみたいだね。
直ったと思う。多分。
#大ポカしてた。orz
gdi0222 (gdi0216mod2)
71 名前:555 2006/11/02(木) 16:47:39 ID:YW+1VgIQ53 の修正とか。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:OnVg6K6s46
- 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のヒラギノでも化けなくなったね。
乙
5656 名前:名無し~3.EXE[sage] 投稿日:2006/11/02(木) 14:07:22 ID:OnVg6K6s52特定フォントの位置ズレ。SHG30Pも半角文字がずれるんだが、
ASCIIArtを表示させるために時幅?を調整するパッチを当てたものだと
ズレが出ないで普通に表示できることに気づいた。
インターセプトのところは普通にフックでいいと思う。
昔のとおり「横取り」でもいい。何で変えたんだろう。TTFでは文字幅に限らずいろんなところに同じ意味の値が格納されていて
MacとWindowsで描画が異なったりする。で、FreeTypeがみてるのがWindowsと違うというオチ。
これはフォント側の責任な気がしてならない。ちゃんと同じ値を指定して欲しい。
fontforgeあたりで編集したりするとまともになったりするのはそのせい。
6767 名前:名無し~3.EXE 2006/11/02(木) 16:15:31 ID:dQFx1awV
gdi0217+gdi0155でなんか少しずれる
使ったとき┐|┘とかの描写も少し変になってる同上。だけど違う問題かもしれない。要調査。
6464 名前:名無し~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で化ける対策)
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修正+機能追加)
993 名前:名無し~3.EXE 2006/11/01(水) 23:17:06 ID:GIgSb3ky
終わりかけの3pxにあえて書いてみる
豪速化オプション搭載。マジで目ん玉飛び出るぐらい速くなるが使用は要注意
メイリオ改造版
- は悪いけどgdi++側でどうする事もできんと思われ。
上でageてくれた170MBのダンプtxtと睨めっこしても何も分からんかったしなぁ。
gdi0206 (gdi0181+...)
914 名前:名無し~3.EXE 2006/11/01(水) 01:32:00 ID:+pKdjOuP
とりあえずこの辺で投下
メイリオ本家メイリオで試してみたら特に化けてないなぁ
何となく改造版のヘッダが壊れてそうな気がするけど誰かttfdumpで調べてホスィ
912Boldな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)
902 名前:名無し~3.EXE 2006/10/31(火) 23:12:32 ID:Gx/SI8LD900900 名前:名無し~3.EXE[] 投稿日:2006/10/31(火) 23:01:32 ID:Ay/lTox0884修正お疲れ様です。
gdi195で、こちらで確認した>>829のズレは直ってるようです。
その影響でしょうか、今までずれていなかったフォント全般(?)が
1dotだけ下にシフトしてるようです。
環境は Win2k + Fx1.5 + gdi195 です。
FreeTypeの影響で沈んでるようにみえるのかと確認してみましたが
gdi++無しと比較し、gdi193(またはそれ以前)で
1dotのズレは確認できませんでした。あ、マジだ
直し方分からんからとりあえず描画位置を1px引き算しておくww
メイリオFreeType使ってほしくないというM$の最後の抵抗
(冗談なので間に受けないように)
gdi0193 (gdi0181修正版)
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の修正)
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+カーニングオプションと文字サイズの何)
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)
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ベース+何か)
784 名前:名無し~3.EXE 2006/10/29(日) 14:14:29 ID:Wb5LTQDj781キタ━━━━(゚∀゚)━━━━!!
gdi0169.png
gdi0170 (gdi0168修正版)
781 名前:555 2006/10/29(日) 13:20:36 ID:qRA4JHFa
太字と斜体をつけといた。
今回は要DLL
775 名前:名無し~3.EXE 2006/10/29(日) 11:39:41 ID:Wb5LTQDj774鯖の容量は2MB*10000も無いと思うけど、どうなんでしょ>中の人
とか言ってる間にgdi0164+gdi0166が出来たので差分うpってみるてすと
手動でマージしたのでおかしい所があるかも
ttp://free.flop.jp/gdi++/src/gdi0168.zip
<ちらしのうら>
readme_555の最後の行が気になる・・・
でも何となく想像がついたりしてw
</ちらしのうら>
gdi0164 (gdi0156の修正版)
764 名前:名無し~3.EXE 2006/10/29(日) 10:15:14 ID:Wb5LTQDj
いろいろ修正+整理。
まとめレス。
- 悪い事は言わんからfreetype.dllは*PATHの通ったフォルダ*に桶
- 漏れはフォントリンクに対応する気は無いからExclude追加で諦めれ
- 表示周りの不具合はここに書かれても困る
↓の中の人にメールでも送って修正頼んだ方がいいかと
ttp://hp.vector.co.jp/authors/VA028002/
gdi0156 (gdi0152の修正版)
735 名前:名無し~3.EXE 2006/10/28(土) 17:41:18 ID:lCUfvZHY
ズレ欠け+色化け修正
gdi0152 (gdi0143 + FreeType = gdi0149 の修正版) & gdi0151 (FreeType DLL版)
703 名前:名無し~3.EXE 2006/10/28(土) 11:38:59 ID:lCUfvZHY
先越されたorz
700700 名前:名無し~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
702702 名前:名無し~3.EXE 2006/10/28(土) 11:29:43 ID:PFUQVBGY
ひさびさに見たらついていけなくなってるorz
どれ落とせばいいんだよ('A`)つ gdi0151&gdi0152
gdi0143 (up0133をコンパイルした物)
659 名前:名無し~3.EXE 2006/10/27(金) 01:13:36 ID:XKMY1awz656656 名前:名無し~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ピクセルのみ)
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 みたいな調整とか