解决NetBeans 8.x的字体问题

笔者喜欢用 Consolas 编码,而NetBeans的默认字体是 Monospaced 13。

尽管可以通过“选项-字体和颜色-所有语言”改变默认的字体,比如 Consolas 12,但代码中的中文字符出现了“方框”,如下图:

解决NetBeans 8.x的字体问题

于是笔者尝试解决这个问题。

首先想到的是利用NetBeans自身的设置来摆平,于是在“字体和颜色”中设置了一下,把用到中文的地方设置为雅黑字体,其他保持为Consolas——如果你不是强迫症患者,这倒也可以凑合着用了,只是偶尔错输了中文字符会显示方块,并且代码提示中的有些部分显示不正确。

这里提供两种可以完全解决该问题的方法:

一、通过修改JRE配置文件,修改NetBeans默认字体 Monospaced 的映射

进入jdk安装目录下/jre/lib文件夹,找到fontconfig.properties.src,拷贝为fontconfig.properties,编辑文件。

将以下字段:

sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol,chinese-ms936-extb
monospaced.plain.alphabetic=Courier New
monospaced.bold.alphabetic=Courier New Bold
monospaced.bolditalic.alphabetic=Courier New Italic
monospaced.bolditalic.alphabetic=Courier New Bold Italic

改为:

sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol,chinese-ms936-extb
monospaced.plain.alphabetic=Consolas
monospaced.bold.alphabetic=Consolas Bold
monospaced.bolditalic.alphabetic=Consolas Italic
monospaced.bolditalic.alphabetic=Consolas Bold Italic

注意第一个字段的顺序,然后在文件末尾添加Consola字体定义:

filename.Consolas=CONSOLA.TTF
filename.Consolas_Bold=CONSOLAB.TTF
filename.Consolas_Italic=CONSOLAI.TTF
filename.Consolas_Bold_Italic=CONSOLAZ.TTF

保存后,将NetBeans的字体恢复默认的 Monospaced,可以看到修改已生效,实际显示结果是 Consolas 字体。

二、使用修改过的字体,比如“雅黑-consolas 混合字体”

该字体出处戳我查看,感谢博主Robert Lee的分享,效果如下:

解决NetBeans 8.x的字体问题

上一篇:iOS笔记———数据存储


下一篇:拓端tecdat|matlab稳态和时变卡尔曼滤波器Kalman filter的设计和仿真植物动力学模型案例研究