Answers:
问题是传统的日文字体(MS Gothic,MS PGothic,MS Mincho ......)还包括小尺寸的位图字体以及轮廓字体(通常用于字符22pt或更少)。这些位图不能应用于任何类型的平滑,因此会产生疯狂的难看的混淆,眼睛伤害外观。有几种解决方案:
Mactype是基于FreeType的Windows字体渲染器的开源替代品(其中,但现在它是最新的)。它将跳过这些位图并使用轮廓输出平滑字符。
但是目前Mactype无法模拟DirectDraw调用,因此一些使用DirectDraw / DirectWrite的程序(如MS office 2013,IE7 +,Firefox ......)仍然使用别名字体,但这种情况非常少见。在Google Chrome上,您需要禁用DirectWrite才能使其正常运行
更新:最新的Mactype已经拥有更好的DirectWrite支持
更多相关信息:如何使Windows字体看起来像Mac字体
根据本教程,更好的选择是剥离所有这些位图。你需要一些日语阅读能力,但你也可以阅读谷歌的粗略翻译。要做的步骤很长,所以请在最后找到它。结果是:
\Windows\Fonts
到一个文件夹BREAKTTC
工具在您将字体复制到的文件夹中打开命令提示符并键入BREAKTTC msgothic.ttc
。之后你可以看到ttc中的所有ttf文件被提取为FONT00.ttf~FONTxx.ttf
现在您从Microsoft Typography下载FontTools。之后,提取删除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
并运行以下命令(MS Gothic为3,因为我们有3个提取的ttf文件)
rmEBDT font00.ttf msgot2.ttf
rmEBDT font01.ttf msgotp2.ttf
rmEBDT font02.ttf msuigot2.ttf
现在我们已经剥离了字体文件,我们可以重命名那些字体名称(独立于字体文件名),比如MS Gothic NB - No Bitmap,与旧字体一起使用,或者只使用旧名称并替换原始字体ttc文件,这是一个小小的趋势。
无论哪种方式,我们需要将它们再次打包到ttc文件,以便安装回Windows。使用MAKETTC
与文件夹相同的工具,BREAKTTC
您也可以在此处找到它们。跑
MAKETTC <TTC output file name> <TTF file 1> <TTF file 2> ...
\Windows\Fonts
新字体中,然后将UI,apps ...中的默认字体更改为该字体。如果要使用旧的字体名称,则必须从其他操作系统(如Linux live USB或Windows PE)启动,因为Windows始终在启动时加载MS Gothic。这取决于字体。不同的字体具有不同的特征,包括字体平滑的不同行为。你可能在Mincho组中使用了一种字体,因为它们通常用作默认字体,它们可能有这样的问题; 哥特式字体可能在屏幕上更好用。
Meiryo是Windows Vista / 7的默认日语字体,以及一些其他日语字体包含小尺寸的位图(像素)字符。
回到你的例子,我能够使用Firefox确认这一点:
ClearType(暗示)字符:
较小的字体大小; 位图字符:
默认情况下,Firefox对日语字体使用以下设置:
因此,解决方案在于使用更大的字体大小或替换应用程序中的默认日语字体使用,并使用支持所有大小的提示字符(例如Arial Unicode)。
要在Windows中全局重新映射/替换字体,您可以在以下位置修改或添加注册表值:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontSubstitutes
It was decided that a new Japanese font was needed, as the current ones (mainly MS Gothic and MS Mincho) are incompatible with Microsoft's ClearType subpixel rendering technology[citation needed]: Meiryo is intended to increase legibility of characters on LCD screens
Unlike previous fonts designed for CJK environments, Meiryo contains no embedded bitmaps. To improve readability under small font sizes without using embedded bitmaps, TrueType hinting language was used for stroke-reduction. Similar technology was used on MingLiU and PMingLiU versions 5.03.
en.wikipedia.org/wiki/Meiryo#Characteristics