未志

IDEA 字体美化

IDEA的中文字体一直不能让人满意。把字体改为 YaHei Consolas ,但英文的行距,字粗等方面的渲染依然不够理想,刚开始以为是 Consolas 的原因,就上 V2EX 问了一下,才知道,Monospaced 不是一个字体,而是一个字体类别,IntelliJ IDE 的字体,可以通过修改 fontconfig.properties 来定义一系列的字体类别顺序,使英文使用一种字体,中文使用另一种字体。

此方法也适用于 JetBrains 家的其它 IDE,IntelliJ Idea, PyCharm, WebStorm, PhpStorm, RubyMine, AppCode

英文好的童鞋,可以看 Oracle 官方对 Font Configuration Files 的说明。

以下以 IDEA 为例,说明配置中文字体为“微软雅黑”,英文字体为 “Courier New“ 的步骤。适用于 Windows 7。

一、找到你的 IDEA 使用的 JDK / JRE 里的 lib 目录

IntelliJ 家的 IDE,都自带了 JRE ,所以正常情况下,IDEA 使用的 JRE 目录就在你的IDEA根目录的jre里。我的路径是: D:\soft\JetBrains\IntelliJ IDEA\jre\jre\lib (下文涉及到这个路径的,请主动更换为你自己的实际路径)

二、修改 fontconfig.properties

找开 D:\soft\JetBrains\IntelliJ IDEA\jre\jre\lib ,把 fontconfig 开头的几个不同后缀的文件全部改名,或者转移到其它目录备份。下载我提供的这个文件,解压后,将 fontconfig.properties 扔到 D:\soft\JetBrains\IntelliJ IDEA\jre\jre\lib 目录下。重启 IDEA,打开设置。将字体设置为 Monospaced 即可。

三、修改自己想要的字体

打开 fontconfig.properties ,把 133~136 行首的#号删除,在 139~142的行首加上#号即可,重启 IDEA,英文字体就变成 Consolas 了。

通过上一步,就应该就会知道,修改这 4 行即可更换英文字体。我们试着自定义一个新安装的字体 MONACO。在文件未加上以下内容

filename.Monaco=MONACO.TTF
filename.Monaco_Bold=MONACO.TTF
filename.Monaco_Italic=MONACO.TTF
filename.Monaco_Bold_Italic=MONACO.TTF

然后,把 139~142 行替换为

monospaced.plain.alphabetic=Monaco
monospaced.bold.alphabetic=Monaco Bold
monospaced.italic.alphabetic=Monaco Italic
monospaced.bolditalic.alphabetic=Monaco Bold Italic

重启 IDEA,英文字体即变成 Monaco。

最后的效果截图

Courier New + 微软雅黑

fontconfig screenshot

Monaco + 微软雅黑

fontconfig screenshot

更新记录

2012-10-11:修正了 windows 7 中文的 BUG