众所周知,Windows 中 cmd 控制台窗口的字体难看,但是修改注册表是可以实现修改其字体的,但很多很棒的编程字体是没有中文的,所以在显示中文时直接调用了宋体,这绝妙的反差实在是 不忍直视。但是,用过 Mactype 的同学应该记得 Mactype 配置文件里有个字体替换吧,没错,就是 FontLink 。
更改控制台编码
首先更改一下 cmd 的编码为 54936 或别的什么(到这里查看其他编码的标识号码),成功会显示 "Active code page: 54936" 。
-
chcp 850
添加字体
再将简单将字体设置为自己喜欢的编程字体,如 Ubuntu Mono、Source Code Pro 这类的。注册表进入
-
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionConsoleTrueTypeFont
会看到类似这样的内容(不支持字体替换的编码就是下图中非0键——932、936、949、950):
其中名为 0、00、000、... 的键是默认编码下的字体,932、936 则是编码为 932/936 下的字体。这里我们新建一个名为 "0" 的字符串,如果已经有同名则增加一个 "0"。(比如说在上图的基础上添加字体就是"00000")双击这个键修改键值为字体名称,不知道字体名称的可以打开记事本,在字体设置下查看。
这样字体就添加完成了,右键 cmd 窗口标题栏可以设置。如果设置成功那么就会发现字体变美了:
FontLink
那么接下来就是使用 FontLink 实现中英文混合显示,FontLink 能够为英文字体指定相应的中文字体(例如:在显示中英文混合字体时,选用英文字体,那些英文字体显示不了的汉子就会优先使用此处指定的中文字体显示,如果不指定那么就会使用系统默认字体,一般是宋体)。注册表进入
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionFontLinkSystemLink
你会发现有很多名称为字体名的键,这就是为什么我们使用英文字体时仍然可以正常显示中文。
现在我们需要自己建立一个这样的键,新建多重字符串键"Source Code Pro"(这个是你之前设置的字体名称,键类型为 Multi-String),然后照下图输入:
这里的 SIMYOU.TTF 就是幼圆字体的文件名,其后跟的数字是用来调整中文字体大小使其能和英文字体相匹配(默认是 128,96这里中文字体:英文字体为 1.6:1,所以设置为 128*1.2,96*1.2 即 154,115)。当一个汉字的宽度等于两个小写字母,即两者匹配。
第二行重复的 SIMYOU.TTF 是为了使 GDI+ 能够识别该字体,第一行则是 GDI 调用。
设置完重启系统后就OK了。