Windows 7を使用していて、フォントスムージングをClearTypeに設定しました。ただし、日本語の文字は、オペレーティングシステム全体で非常に大まかに表示されます。他のキャラクターのようにスムーズにレンダリングされるようにするにはどうすればよいですか?
現在の外観のサンプルを次に示します。
問題は、従来の日本語フォント(MSゴシック、MS PGothic、MS明朝…)に、アウトラインフォント(通常は22pt以下の文字)に加えて、小さいサイズのビットマップフォントも含まれていることです。これらのビットマップは、どのタイプのスムージングにも適用できないため、ひどく醜いエイリアシング、目を痛めるような外観になります。これにはいくつかの解決策があります。
Mactype はオープンソース 置換(とりわけ、現在最も更新されています) FreeType に基づくWindowsフォントレンダラーの場合。それらのビットマップをスキップし、アウトラインを使用して滑らかな文字を出力します。
ただし、現在MactypeはDirectDraw呼び出しをエミュレートできないため、DirectDraw/DirectWriteを使用する一部のプログラム(MS Office 2013、IE7 +、Firefoxなど) …)まだエイリアスフォントがありますが、これは非常にまれです。 GoogleではChromeあなたはそれを機能させるために DirectWriteを無効にする する必要があります
更新:最新のMactypeはすでにより優れたDirectWriteサポートを備えています
より良いオプションは、 このチュートリアル に従って、これらすべてのビットマップを削除することです。あなたはそれを読むためにある程度の日本語能力が必要ですが、グーグルから 大まかな翻訳 を読むこともできます。手順はかなり長いので、最後に見つけてください。結果は次のとおりです。
\Windows\Fonts
からフォルダーにコピーしますBREAKTTC
ツールをダウンロードフォントをコピーしたフォルダーでコマンドプロンプトを開き、BREAKTTC msgothic.ttc
と入力します。その後、ttc内のすべてのttfファイルがFONT00.ttf〜FONTxx.ttfとして抽出されていることがわかります。
ここで、 FontTools を Microsoft Typography からダウンロードします。その後、EBDT(埋め込みビットマップデータテーブル)を削除するために必要なSBIT32
ツールを抽出します。コマンド構文は以下のとおりです。
SBIT32 -d <original font file> <metric file> [output file]
すべてのビットマップを削除するには、ビットマップサイズ(通常は7〜22)ごとにこれを実行する必要があります。これは、手動で入力する場合はかなり扱いにくいものです。自動化されたスクリプトは非常に役立ちます。
@echo off
copy %1 %2 >nul
for /l %%i in ( 7,1,22 ) do (
echo PPEM %%i > mtemp.txt
echo END >> mtemp.txt
sbit32 -d %2 mtemp.txt ftemp.ttf
del %2
ren ftemp.ttf %2
)
del mtemp.txt
上記のコンテンツをrmEBDT.bat
として保存し、次のコマンドを実行します(3つの抽出されたttfファイルがあるため、MSゴシックの場合は3つ)
rmEBDT font00.ttf msgot2.ttf
rmEBDT font01.ttf msgotp2.ttf
rmEBDT font02.ttf msuigot2.ttf
これでフォントファイルが削除されたので、MS Gothic NB-のように、フォントファイル名から独立した)フォント名の名前を変更できます。 ビットマップなし、古いフォントと一緒に使用するか、古い名前を使用して元のttcファイルを置き換えるだけです。これは少し注意が必要です。
Windowsに再度インストールするには、どちらの方法でも、それらをttcファイルに再度パックする必要があります。 MAKETTC
と同じフォルダにあるツールBREAKTTC
を使用するか、それらを見つけることもできます ここ 。実行
MAKETTC <TTC output file name> <TTF file 1> <TTF file 2> ...
\Windows\Fonts
に直接コピーして新しいフォントとして登録し、UI、アプリ...のデフォルトフォントをそのフォントに変更します。古いフォント名を使用する場合、Windowsは起動時に常にMS Gothicをロードするため、LinuxライブUSBやWindowsPEなどの別のOSから起動する必要があります。これはフォントによって異なります。フォントが異なれば、フォントのスムージングの動作も異なるなど、特性も異なります。 Minchoグループのフォントは、デフォルトのフォントとして一般的に使用されており、このような問題が発生する可能性があるため、使用している可能性があります。ゴシックフォントは画面上でうまく機能する場合があります。
Meiryo 、Windows Vista/7のデフォルトの日本語フォント、およびその他の一部の日本語フォントには、小さいサイズのビットマップ(ピクセル)文字が含まれています。
あなたの例に戻ると、Firefoxを使用してこれを確認することができました。
ClearType(ヒント付き)文字:
小さいフォントサイズ。ビットマップ文字:
デフォルトでは、Firefoxは日本語フォントに対して次の設定を使用します。
したがって、解決策は、より大きなフォントサイズを使用するか、アプリケーションで使用されるデフォルトの日本語フォントを、すべてのサイズのヒント文字をサポートするフォントに置き換えることです(例:Arial Unicode)。
Windowsでフォントをグローバルに再マップ/置換するには、以下で レジストリ値 を変更または追加できます。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes