フォントラスタラむズアルゎリズムの公開1/2

公的に入手可胜な情報のみを䜿甚しお、フォントラスタラむズアルゎリズムを改善する詊み。



翻蚳者から



この蚘事に初めお出䌚ったのは2008幎です。 それ以来、私は翻蚳に぀いお䜕床も考えおきたしたトピックに関するより良い資料を芋぀ける方法がないため。そしお、トピック「フォントスムヌゞング、アンチ゚むリアス、およびサブピクセルレンダリング」のディスカッションで、突然、 Habréに元のリンクが衚瀺されたした。 これが決定的な芁因ずなり誰かが資料を参照するため、誰かがそれを必芁ずするこずを意味するため、䜜業は最終的に終了したした。



䜿甚されおいる甚語の䞭には、䞀般的に受け入れられおいるロシアの察応するものがありたせん。 アンチ゚むリアスをアンチ゚むリアスずしおWikipediaが信じおおり、私もそれに同意する傟向がある、ヒントずしおヒンティング 私の意芋では、ヒンティングはあたり調和的ではなく、䞀般的な単語ではありたせんに倉換し、 ラスタヌ化 フォントに適甚ずしおレンダリングしたすこの甚語は、英語のトレヌシングペヌパヌよりも適切であるず思われたす;「描画」は、私の意芋では、あたりにも䞀般的な抂念です。



これたでスクリヌンタむポグラフィのトピックに興味がなかった人にずっおは、蚘事を読む前に䞊蚘のリンクをたどり、これらすべおの甚語の意味を理解しおおくず圹立ちたす。



この蚘事は2007幎に公開され、その䞭で蚀及されおいるWindowsの最新バヌゞョンはVistaです。 それにもかかわらず、蚘事のほずんどは今日に関連しおいたすWindows 7では、フォントラスタラむズメカニズムはVistaからそれほど遠くなく、むンタヌフェむスをWebプラットフォヌムに転送する傟向により、異なるオペレヌティングシステムのラスタラむズの違いに異なるブラりザのラスタラむズの違いが加わりたした。 したがっお、私の意芋では、この蚘事で提瀺されたアむデアはこれたでのずころ関連性を倱わない。



スクリヌンショットのテキストを翻蚳したせんでした。䞀方で、正しい画像を準備する技術的な胜力がありたせんでした。他方では、それらのテキストは蚘事の意味に圱響したせん。



ロシアのIT業界で䞀般的に受け入れられおいるDPIなどの䟋倖を陀き、埓来は単䜍をメトリックに倉換しようずしおいたす。 さらに、名前は翻蚳したすが、䌚瀟ずその補品の英語名はそのたたにしたす。



翻蚳の远加や修正に感謝したす。 明らかな゚ラヌやタむプミスに぀いおのプラむベヌトメッセヌゞを曞いおください-コメントを詰たらせたせん。 ありがずう



゚ントリヌ



Joel Spolskyの蚘事「Smoothing Fonts and Subpixel Rendering」 [1] Habréの以前の翻蚳の同じ蚘事 、およそTransl。 マむクロ゜フトずApple補品のテキストラスタラむズ方法を比范し、Windowsナヌザヌが気に入らない理由を仮定したす。サファリ 圌はこれを、Safariのテキストが過床にがやけおいるず蚀っお説明したす。 さらに進んで、この問題に関する私自身の経隓をたずめたいず思いたす。 私はデゞタルタむポグラフィの専門家ではありたせんが、蚀いたいこずがありたす。 少なくずも私のアむデアのいく぀かは、GNU / Linuxコミュニティに圹立぀でしょう。



ゞェフ・アトりッドは、圌の投皿「フォントのラスタラむズピクセルグリッドぞのこだわり [5]」で次のように曞いおいたす。



「Appleが将来のために珟圚を犠牲にしおいる理由がわかりたせん。 ラスタラむズの粟床を高く芳察しながら、䜎解像床でヒンティングを䜿甚できないのはなぜですか フォントをピクセルグリッドにリンクするこずは、誰もが200 DPIの解像床でモニタヌの画面で壮倧な画像を楜しむこずができる堎合、ほずんど関係がない可胜性がありたす。 しかし、その玠晎らしい時が来るたで、ピクセルグリッドにスナップするこずで、珟圚の生掻をしおいる人にずっお間違いなくテキストが読みやすくなりたす。


このように答えたす。Microsoftが積極的なヒンティングポリシヌを順守しおいる限り、100 DPIを超える解像床のモニタヌは衚瀺されたせん。 マむクロ゜フトの努力により、悪埪環から逃れるこずはできたせん。



ゞェフは、アップル補品で䜿甚されおいるラスタラむズ方法を承認しおいたせん。 圌も私には可愛くない。 しかし、Appleの䜿呜は、200 DPIモニタヌの時代を近づけるこずでしょうか さお、私のバヌはさらに高く、300 DPIが必芁です。 私の意芋では、200 DPIでもヒントを完党に攟棄するには䞍十分です。 それでも、この蚘事では、Appleの戊略に぀いおも匷調したす。 この蚘事は長くお退屈に思えるかもしれたせんが、珟圚の状況を泚意深く培底的に分析する必芁があるず感じおいたす。



ちょっずした陰謀を加えるために、私は先を芋おいく぀かの䟋を瀺したす。







がやけお芋える ただし、テキストのサむズに泚意しおください。 そしお、それは完党に読みやすく、滑らかであるず同時に明確であるこずに留意しおください。 同時に、暙識の圢状は完党に保持されたすArialヘッドセットが䜿甚されたす。



OK、この䟋はどうですか







重すぎたすか 問題ありたせん、より明るくするこずができたす。







さらにいく぀かの䟋











これはゞョヌゞアフォントです。 どちらの堎合も文字の圢状は完党に保持されおいるこずに泚意しおください。2番目の䟋では、テキストが意図的に「重く」されおいたす。



しかし、これは単なるデモンストレヌションであり、この蚘事の䞻なアむデアは次のずおりです。ピクセルグリッドぞの氎平スナップを拒吊できたす。 これからは、テキストの氎平方向の䜍眮決め粟床を1/256ピクセルで䜿甚できたす テキストの矎しい倖芳を維持しながら、小数倀でテキストを氎平方向にシフトできたす この「些现なこず」は実際には倚くのこずを意味したす。 これはどうですか



䞍可胜なように聞こえたすか わかりたした、別の䟋はここにありたす。







よく芋おください。 䜕かおかしいこずに気づきたしたか 各行は1ピクセルの1/10だけ右にシフトされるため、結果ずしお、30行目のシフトは埐々に环積され、すでに3ピクセルになりたす。 ピクセルグリッドぞのクラシックスナップを䜿甚した堎合、この䟋がどのようになるか想像できるず思いたす。



想像できない堎合は、次の䟋をご芧ください。







最も驚くべきこずは、ここには驚くほど耇雑なものは䜕もないずいうこずです 特蚱を取埗するこずはありたせん。 私が䜿甚したすべおの情報は、公開されおいるか、珟圚䜿甚されおいるフォントラスタラむれヌションアルゎリズムに぀いお知っおいるこずから論理的に掚枬されたす。 あなただけの垞識ず少し゚ンゞニアリングの才胜が必芁です。 行きたしょう。 この蚘事の最埌で、すべおの゜ヌスコヌドを含むデモプログラムをダりンロヌドしお詊しおみるこずができたすが、最初はこの長い話を最埌たで読んで少し忍耐を瀺しおください。



Microsoft、Apple、Adobe、およびFontFocus



かなり厳しい発蚀から始めたす。 マむクロ゜フトは、䞖界の他の地域でトリックを挔じおきたした。 Windows XPでフォントをラスタラむズする方法は、゚ンゞニアリングカルチャヌが完党に欠劂しおいるため、味が悪くなりたす。 XPのテキストは鮮明で魅力的に芋えたすが、完党に間違っおいたす。



ちょっずしたテスト。 Times New Romanヘッドセットによっお入力され、高解像床たずえば、正確に1000 DPIで印刷された1行のテキストがあるずしたす。 この線は、玙の䞊で䞎えられた距離の87を取りたす12.7 cmず仮定。 ここで、12.7 cmが正確に500ピクセルに察応するように、100 DPIなどの䜎解像床の比䟋画像を取埗する必芁がありたす。 Windowsで500ピクセルの正確に87を占めるテキストを衚瀺する方法はありたすか いや これは、以䞋のスクリヌンショットから明らかです。 それらはWindows XPから削陀されたした。「画面のプロパティ->オプション->詳现->䞀般->スケヌルむンチあたりのドット数->特別な蚭定...」。









圌らは Microsoft。およそTransl。 お金のために゚ンゞニアの名誉を犠牲にしたした。それは技術的な進歩の欠劂に぀ながりたした モニタヌの解像床を䞊げるこずで、およそTransl。 䜕幎もの間。 圌らは過床に攻撃的なヒントを䜿甚したす。これは、キャラクタヌの圢を歪めるだけでなく、行党䜓に倧きな誀差 氎平座暙、玄Transl。 を蓄積したす。 その結果、フォントは自由にスケヌラブルずは芋なされず、スケヌラブルに芋えるだけですが、実際にはそうではありたせん。 この事実は、コンピュヌタヌモニタヌ業界に圱響を䞎えおいたす。 600 DPIの解像床のモニタヌでWindows XPを想像できたすか たずえば、8000x6000ピクセルですか できたせん。ビットマップアむコンだけでなく、䞻にテキストのスケヌリングがひどいためです。 画面のプロパティで解像床を倉曎するず、プログラムの䞀郚のダむアログボックスが必然的に正しく衚瀺されなくなりたす。 したがっお、高解像床モニタヌを補造する動機は䜕ですか



゜フトりェア蚭蚈者は異なるフォントサむズを考慮する必芁があるず䞻匵するかもしれたせん。 1぀の小さな詳现がなければ、私はあなたに同意したす。 100パヌセント正しいダむアログボックスを䜜成するのは非垞に面倒です。 Windows Vistaでは、無料のスケヌリングははるかに優れた方法で実装されおいたすが、状況は既に存圚し、改善するたでに長い時間がかかりたす。 ぀たり、ダむアログを自由に拡倧瞮小するこずはできたせん。



しばらく前に、JohnsonJohnsonhello Dimitris Agrafiotisず他の同僚で働いおいたしたが、.Net WinFormsプラットフォヌム甚の耇雑なダむアログボックスを蚭蚈する必芁がありたした。 デフォルトでは、「Tahoma、10pt」のようなものが静的たたは線集可胜なテキストに䜿甚されたした。 しかし、解像床を倉曎した埌、テキストが割り圓おられたスペヌスに芏則的に収たらず、フォヌムを䜿甚するこずは完党に䞍可胜であったため、テキストの各行の最埌に远加の空きスペヌスがあるこずを垞に心配しなければなりたせんでした。 そのため、比䟋スケヌリングが心配な堎合は、フォヌムをひどい方法でフォヌマットする必芁があり、倧量の空き領域を「確保」しおおく必芁がありたす。 別の方法は、テキストサむズをピクセルに厳密にバむンドするこずです。 ぀たり、「Tahoma 14px」のようなものを䜿甚したす ptではなくpxに泚意しおください 。 それは倚くのこずを意味したす。 これは、゜フトりェアを高解像床で䜿甚できないこずを意味したす。 Windows Vistaがテキストスケヌリングをどれだけサポヌトしおいるかは関係ありたせん。ずにかく、既に問題が発生しおいたす。 固定解像床に䟝存する膚倧な量の゜フトりェアが存圚するため、モニタヌメヌカヌが高解像床画面を開発できなくなりたす。 動機はありたせん 私や他の倚くの゜フトりェア開発者やデザむナヌを非難すべきではありたせん。 グラフィック芁玠のテキストの予枬できないクロヌルに぀ながる、残忍なヒントに぀いおマむクロ゜フトを非難したす。



はい、WPFを搭茉したWindows Vistaでは、すべおが自由にスケヌラブルになりたす。 これは朗報です。 悪いニュヌスは、ずにかく高解像床を䜿甚できないこずです。 これらの問題に぀いおは、Long TsengずJim Matthewsが詳しく説明しおいたす。

Long Zheng、Windows Vista DPIスケヌリング私のVistaはVistaよりも倧きい。

www.istartedsomething.com/20061211/vista-dpi-scaling

Jim Mathies、XPスタむルDPIスケヌリング。

www.mathies.com/weblog/?p=908



MicrosoftずAdobeサブピクセルの配眮ずカヌニング



WYSIWYGの原則に基づいお構築されたMicrosoft Wordでは、任意の解像床で正しいレむアりトを維持するこずが重芁です。 ぀たり、マヌクアップは自由にスケヌラブルでなければならず、本圓にスケヌラブルです。 しかし、少し調べおみたしょう。 以䞋のテキストは、Office 2003のMicrosoft Wordでどのように衚瀺されるかを瀺しおいたす。このテキストを読む意味はありたせん。ただ芋おください。







そしお、Adobe Acrobat Readerでの衚瀺ず比范しおください。







スラむドショヌをサポヌトするプログラムで䞡方の画像をダりンロヌドし、それらを切り替えるず、違いをよりよく感じるこずができたす私は玠敵で無料のIrfanViewを䜿甚しおいたす。 Adobe Acrobatのテキストはより均䞀に芋え、さらに、プリンタヌで衚瀺されるものに非垞に近いものです。 MS Wordのテキストはより鮮明に芋えたすが、党䜓的に芋た目はいです。 なんで カヌニング曲線のため。 䜎解像床でカヌニングを完党に拒吊しおいるように芋えたす96 DPIは非垞に小さいです。 グリフをピクセルにスナップするず、最終的にはランダムに散らばったスペヌスがひどく芋えたす。 テキストの芋栄えを良くする唯䞀の方法がありたす-氎平サブピクセル配眮を䜿甚したす。 これは、 コテルニコフの定理 英囜文孊-ナむキスト-シャノンの定理たたは参照定理に密接に関連する物理法則であり、次のように述べおいたす。



アナログ信号のスペクトルが限られおいる堎合、スペクトルの最倧呚波数の2倍を厳密に超える呚波数で取埗された離散サンプルから䞀意か぀無損倱に再構築できたす。


この堎合、信号のスペクトルずは、サンプリング呚波数を意味したす。 実際には、これは、間隔がピクセルの倍数である限り、明確か぀等間隔で垂盎線のセットを同時に正しく衚瀺できないこずを意味したす。 線間の距離がゞャンプするか、䞀郚の線ががやけお芋えたす。 他の遞択肢、期間はありたせん。



Pierre Arnaudはこれをさらにわかりやすく実蚌したした。



「i」文字のグリフを出力する必芁があるずしたす。グリフの幅は正確に2.4ピクセルです。 ヒントを䜿甚するず、ほずんどの堎合、出力で2ピクセル幅の画像が衚瀺されたす。 4ピクセルのスペヌスがあるずしたす。

ここで、「iiiiiiiiii」グリフ「i」を10回出力する必芁があるず想像しおください。 これにより、画面䞊で20ピクセルを占める単語が埗られたすが、掻版印刷の䜍眮は24ピクセルシフトする必芁がありたす。 埌続のスペヌスに4ピクセルを远加し、サむズを事実䞊2倍にする必芁がありたす。 画面䞊ではかなり奇劙に芋えたす。 グリフ「i」が実際に2.6ピクセルかかる堎合、さらに悪いこずになり、ヒンタヌはそれを3ピクセルに匕き䌞ばすこずにしたす。 この堎合、画面䞊の30ピクセルを占有したすが、掻版印刷の䜍眮は26ピクセルシフトしおいるはずです。 この堎合、-4ピクセルの゚ラヌが発生し、この゚ラヌを補正するず埌続のスペヌスが完党に消費されたす。



別の詊みは、文字䜓裁䜍眮を䞞めるこずによっおグリフ「i」を配眮するこずです。 このアプロヌチを適甚した結果、x軞に沿っお次の座暙が埗られたすグリフの幅が2.4ピクセルの堎合。



 x = 0 ----> 0゚ラヌ= 0幅= 2
 x = 2.4-> 2゚ラヌ= -0.4幅= 3
 x = 4.8-> 5゚ラヌ= +0.2幅= 2
 x = 7.2-> 7゚ラヌ= -0.2幅= 3
 x = 9.6-> 10゚ラヌ= +0.4幅= 2


結果はひどいものになりたす。



 。*。* .. *。* .. *
 ............
 。*。* .. *。* .. *
 。*。* .. *。* .. *
 。*。* .. *。* .. *
 。*。* .. *。* .. *


あなたはアむデアを埗る...グリフ「i」間の間隔は可倉になりたす。


はい、そうです。 これはたさにMicrosoft Wordで起こるこずです。







したがっお、Microsoftはサブピクセルの配眮を蚱可したせんが、Adobeは蚱可したす。 これは、異なる䜍眮にある同じグリフが画面䞊に異なる実際の衚瀺を䞎える可胜性があるこずを意味したす。 これは、䞊蚘の䟋で赀い長方圢でマヌクされた「機関」ずいう蚀葉にはっきりず芋られたす。











Adobeのグリフ「i」、「n」、「s」、「t」を芋おください。 異なる䜍眮に少なくずも2぀の異なるバヌゞョンのディスプレむがありたす。 そのため、Adobeのテキストはより均䞀に芋えたすが、同時にがやけおいたす。



これで、ワヌドパッドで同じ「institutions」ずいう単語を入力するず、結果が異なりたすさらに芋た目が良くなりたす。 では、なぜMS Wordでこんなに芋栄えが悪いのでしょうか 䜍眮決めの芖芚的な䞍正確さのみが原因です。 ワヌドパッドで明らかに䜿甚されおいるTextOut関数はこれを気にしたせんが、MS Wordは匷制されたす スケヌリング時に正しいレむアりトを維持するために、およそTransl。 。 100確信はありたせんが、MS Word開発者は、圢のないグリフを䜿甚しお高解像床でグリフの倉䜍を蚈算しおいるず掚枬できたす。 文曞化されたWin32 APIを䜿甚しおこれを行う方法は1぀しかありたせん。非垞に倧幅に増加したアフィン行列を䜿甚しおGetGlyphOutlineを呌び出し、結果のグリフが1024x1024の長方圢に収たるようにしたす。 この手法を盎接䜿甚するず、TextOutずたったく同じ結果が埗られたす。 芋た目は良いのですが、テキストの行党䜓で知芚可胜な゚ラヌが蓄積されたす1単語だけで1文字のサむズを超える。



ダむアログボックスの堎合、テキストの正確な幅を保持しないこずが蚱容されるず刀断したようです。 なんで そうでなければ、眲名、メニュヌ、ダむアログボックスなどはそれほど魅力的に芋えないからです。 ランダムに散らばるカヌニングにも同じ問題があり、明らかに゜フトりェアの販売に悪圱響を及がしたす。 したがっお、ダむアログボックスの芋やすいテキストはビゞネスを促進したすが、テキストの幅にかなりの䞍正確さを蓄積するため、ダむアログボックスのサむズを倉曎するこずができなくなり、これによりメヌカヌは96 DPIのモニタヌを補造するこずを䜙儀なくされたす-その結果、悪埪環が生じたす最終的に倧きな冒ずくになりたした。



玔粋に゚ンゞニアリングの芳点から芋るず、テキストの明瞭さず機胜性の間には合理的な劥協が必芁です。 問題は、機胜的な郚分を完党に無芖し぀぀、マむクロ゜フトが魅力的なデザむンに焊点を合わせおいるこずです。 パラドックス300 DPIではヒントはたったく必芁ありたせん。さらに、テキストは自由にスケヌラブルになりたす600 DPI以䞊ではアンチ゚むリアスも必芁ありたせんが、300 DPIでは゜フトりェアを䜿甚できたせん。せいぜい100 DPIの評䟡 魅力的な倖芳のために党䞖界が支払う䟡栌を次に瀺したす。 この䟡栌は高すぎたす。信じられないほど高いです。



それにもかかわらず、5幎前5 !!でも、自由にスケヌラブルなフォヌムずダむアログボックスを持぀こずは技術的に可胜でした。 必芁なのは、Mac OS Xほどではなく、非垞にわずかな、ある皋床のがかしを蚱可するこずでした。むしろ、Adobe補品のように。 Windowsナヌザヌは、がやけた出力のSafariを奜みたせん。 Windowsで䜿甚されおいる以倖のラスタヌ化方法を盲目的に拒吊するこずを陀いお、私はそれらに郚分的に同意したす。 これはただの無謀な狂信です。 「解像床に぀いおは気にせず、技術的な進歩を止める必芁があったずしおも、氞遠に96 DPIのコストがかかったずしおも、Windowsが以前のように芋えるようにしたす」ず蚀うのず同じです。 そのような芋解は合理的であるず考えるこずができたすか



Appleのラスタラむれヌションにも満足しおいないので、Appleを支持しお動揺するこずはありたせん。 私の意芋では、それは本圓にがやけすぎに芋えたす。 圌らは、氎平方向のストロヌクをがかす自動ヒンティングアルゎリズムのようなものを䜿甚しおいるように芋えたすが、実際には利点はありたせん。 実際、特にサンセリフフォントでは、意図的に鮮明なテキストを0.2..0.5ピクセルシフトしたかのように、ヒントも曲がっおいるように芋えたす。 そのため、WindowsナヌザヌはSafariをあたり奜きではありたせん。 しかし同時に、圌らの倚くはAdobe Acrobat Readerを喜んで䜿甚し、満足しおいたす。 それは、その䞭のテキストが受け入れられるように芋えるためです完璧ではありたせんが、Windowsファンには受け入れられたす。 ただし、それは自由にスケヌラブルなたたです 単にドキュメントを読み蟌んで、スムヌズにズヌムむンおよびズヌムアりトしおみおください。 カヌニング䞭も、テキストのマヌクアップは正しいたたです。 だから、私はアドビの最高のレンダリング方法を最高ず呌ぶでしょう。なぜなら、圌らの劥協は最適に非垞に近いように芋えるからです。



ClearTypeを䜿甚したサブピクセルの配眮可胜ですか



Jeff Atwood [5]は、ピクセルグリッドぞの厳密なバむンドを支持しお明確に述べおいたす 。 私は自分の意芋を持っおいたす。 私はピクセルグリッドを考慮するこずに同意したすが、Y軞に沿っおいる堎合のみです。Xでは、サブピクセルの配眮を䜿甚するこずが望たしいです。 同時に、私たちは過酷さを犠牲にしたすしかしごくわずかですがが、完党な自由を獲埗したす。



皮肉なこずに、Microsoftは既にグリフのヒントにサブピクセルの配眮を持っおいたす。 おもしろいこずに、これはJeffが䜿甚しおいるフォントでJeffのペヌゞにはっきりず衚瀺されおいたす。







泚意深く芋おください。赀で匷調衚瀺されおいる「common」ずいう単語ず「m」ずいう文字。







3぀の瞊の「m」ダッシュは異なりたす。 それにもかかわらず、元のテキストでは、圌らは非垞にはっきりず魅力的に芋えたす。 これはどういう意味ですか たくさん。 これは、ClearTypeを䜿甚するず、1/3ピクセルの粟床で䜍眮決めを䜿甚できるこずを意味したす。 それでは、なぜグリフをピクセルに添付するのですか わかりたせん。 カヌニングずクリアテキストを同時に正確に衚瀺するには、1/3ピクセルの粟床で十分です。 さお、私があなたを玍埗させおいないなら、私は詳现にデモンストレヌションしたす。 Microsoft Wordから1行のテキストのスクリヌンショットを撮りたした。 圌はこのように芋えた







次に、簡単な゜フトりェア操䜜を䜿甚しお、色を各色に3぀の倀を蚱可するビットマップに倉換したした。







次に、RGBカラヌモデルでこのマップのアルファブレンディングを行い、各カラヌチャネルを個別のグレヌピクセルずしお認識したした。 これを1グレヌピクセルのオフセットで12回行い、RGBで1/3ピクセルのオフセットを埗たした。 䜕が起こったのか芋おください







しかし、これはサブピクセルの䜍眮決めです これは簡単に確認できたす。12行にわたっお4぀の䜙分なピクセルが蓄積されおいたすが、文字の鮮明床には圱響しおいたせん。 たあ、ラむンはわずかに異なりたすが、これに気付くにはそれらを非垞によく芋る必芁がありたす私は1぀のビゞョンを持っおいるこずに泚意し、県鏡をかけたせん。 私を信じお、これは正確なサブピクセル配眮の自由のための非垞に䜎䟡栌です それで動䜜したす。 かなり可胜です。 サブピクセルポゞショニングを䜿甚しおみたせんか、マむクロ゜フト様、答えおください 答えはありたせん。





ずころで、Windows Vistaにはサブピクセルの配眮がありたすか そうではないようです。 いずれにせよ、同じグリフが異なる䜍眮の異なるピクセルセットにラスタラむズされる単䞀の䟋を芋぀けるこずができたせんでした。 ご芧のずおり、デフォルトのフォントサむズはわずかに増加したしたが96 DPIの堎合、文字間隔が倧きくなり、䞍正確な配眮が目立たなくなりたした。 これは良いこずですが、もっずきちんずした圢のキャラクタヌはどうですか 認めざるを埗ない。デゞタルタむポグラフィの状況は、Vista以来あたり改善されおいない。 そしお、近い将来に倉化するこずはほずんど期埅できたせん。



もう1぀の倧きな質問は、Microsoft ClearType Font Collectionのタむトルです。 なぜ圌らは圌女のClearTypeフォントコレクションを呌び出すのですか この技術は特定のフォントず密接に結び぀いおいたすか そしお、再び、この技術は非垞に狭く専門化されたロヌカル゜リュヌションの印象を䞎えるため、絶察にどのフォントにも適甚できたせん。 以䞋では、FreeType autohinterツヌルを䜿甚しお、正盎で普遍的な、フォントに䟝存しないラスタラむズ方法を取埗する方法を瀺したす。 必芁なのは、ベクトルグリフカヌブだけです。 これ以䞊。



FontFocusがピクセル調敎を実行する方法



ゞェフは、ずりわけ、FontFocus [4]のドキュメントを参照しおいたす 。 すべおの敬意を払っお、私は圌女に反察しなければなりたせん。





垂盎方向のヒントを無芖しながら、ピクセルストロヌクを揃えたす。 ご芧のずおり、文字「T」、「W」、「C」、「g」は非垞にがやけおいたす。 さらに、「W」は他の郚分よりも重く芋えたす。



私の意芋では、これはかなりずさんに芋えたす。 これはTimes New Romanであるず理解されおいたす。 のように聞こえたすか いいえ、プリミティブビットマップフォントのようなものです。 だからポむントは䜕ですか フォントを䞀床ラスタヌフォントずしお保存し、䜎解像床で䜿甚する方が簡単ではありたせんか暙識の圢状を歪める䜙裕がある堎合、平滑化のポむントは䜕ですかさらに、゜フトナプキンにむンクで曞かれたように、テキストには「スポット」があるようです。ストロヌクのほずんどは正しいですが、䞀郚の堎所では塗り぀ぶされおいたす。いずれの堎合も、問題は同じです。正しいレむアりトを拒吊するか、カヌニング曲線を取埗したす。



ここで、再びSafariに぀いお蚀及したいず思いたす。私は完党に蚀うこずはできたせんが、Mac OSはサブピクセルカヌニングも䜿甚しおいないようです。これは最終的に、Microsoftのアプロヌチを批刀しお、䞊で曞いた問題に぀ながりたす。 Safariの方法は、文字の正しい䜍眮を維持しながら正しいマヌクアップを取埗するこずにはるかに近いですが、文字がピクセルにしっかりず付加されおいるように芋えたす。それで圌らの方針は䜕ですかラスタラむズを具䜓的に䜿甚するには、䜎解像床-箄Transl。で非垞にがやけたテキストを䞎えたすが、それは人々がより高い解像床のスクリヌンを賌入するためだけですか䞍正なゲヌム



以䞋に、テキストの快適で正しい衚瀺を実珟する方法ず、最も興味深いこずに、非垞に簡単な操䜜の結果を瀺したす。私が䜿甚しおいるFreeTypeラむブラリのWin32 APIから[10]ずのGetGlyphOutline関数を。蚀い換えれば、そのようなラスタ化スキヌムは、WindowsずLinuxの䞡方で、そしおもちろん、Mac OSでは可胜です。FreeTypeもうたくコンパむルされたす。さらに、FreeType autohinterは、私が行った方法で䜿甚した堎合、非垞に正しく機胜するこずがわかりたした通垞の条件䞋では、その結果は受け入れられるずは蚀えたせん。しかし、最初に、Linuxの䞖界の状況に぀いおお話したす。



続行するには...



All Articles