安装最新的 JDK
必须安装 Java SE Development Kit (JDK) 6 Update 10 或更新的版本,早期版本对字体反锯齿支持不好。
下载地址:http://java.sun.com/javase/downloads/index.jsp
安装 ClearType 调整工具
ClearType Tuner PowerToy 用来调整 ClearType 字体反锯齿的高级设置,可以适当把字体显示调粗一些,看上去不累眼。
下载地址:http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx
修改 NetBeans 启动设置
打开 C:\Program Files\NetBeans 6.5\etc\ 目录中的 netbeans.conf 文件,找到:
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options=.....
在 netbeans_default_options 的参数字符串中添加 –fontsize 12 –laf javax.swing.plaf.metal.MetalLookAndFeel。看上去像:
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xverify:none -J-Xss2m -J-Xms32m
-J-XX:PermSize=32m -J-XX:MaxPermSize=200m
-J-Dapple.laf.useScreenMenuBar=true -J-Dsun.java2d.noddraw=false
--fontsize 12 --laf javax.swing.plaf.metal.MetalLookAndFeel -J-Dfile.encoding=GBK"
–fontsize 12 是让界面字体变成 12 点大小,正好符合中文显示要求。而 –laf javax.swing.plaf.metal.MetalLookAndFeel 是要求 NetBeans 使用非操作系统原生的界面主题。不过这个看个人习惯了,不喜欢可以不加这一部分到命令行参数中。
修改 Java 字体配置
打开 C:\Program Files\Java\jdk1.6.0_10\jre\lib 目录,把 fontconfig.98.bfc 和 fontconfig.98.properties.src 两个文件改名或删除。
然后将 fontconfig.properties.src 复制一份为 fontconfig.properties,并用文本编辑器打开 fontconfig.properties 文件。
修改字体配置文件的目的是让 Java 程序在显示中文和英文时分别使用不同的字体。例如一段代码:
/**
* 通过控件视图渲染结果
*
* 对应的控件视图文件是 view/_controls/footer_control.php 。
*/
$this->_renderBlock('footer', $return);
中文部分使用宋体,而英文部分使用 Consolas,显示效果如下图:
要实现这样的效果,需要对字体文件进行三个地方的修改。分别是:
- 字体文件名定义:确定字体名称和字体文件名之间的对应关系
- 虚拟字体与实际字体的对应关系:确定虚拟字体采用哪个实际字体来显示
- 显示字符时对字体的搜索顺序:确定显示字符时,使用何种字体
字体文件名采用如下的格式。可以根据需要定义自己喜欢的字体,但不能使用中文字体名。
# filename. 字体名=字体文件名
filename.Consolas=CONSOLA.TTF
filename.Consolas_Bold=CONSOLAB.TTF
filename.Consolas_Italic=CONSOLAI.TTF
filename.Consolas_Bold_Italic=CONSOLAZ.TTF
定义好了字体名,就可以指定虚拟字体与实际字体的对应关系了。
例如我将默认的 monospaced 虚拟字体指向了刚刚定义的 Consolas 字体,修改设置如下:
monospaced.plain.alphabetic=Courier New
monospaced.bold.alphabetic=Courier New Bold
monospaced.italic.alphabetic=Courier New Italic
monospaced.bolditalic.alphabetic=Courier New Bold Italic
# 改为
monospaced.plain.alphabetic=Consolas
monospaced.bold.alphabetic=Consolas Bold
monospaced.italic.alphabetic=Consolas Italic
monospaced.bolditalic.alphabetic=Consolas Bold Ttalic
最后,修改字体查找顺序。修改后会先查找英文字体,再查找中文字体。由于英文字体中没有中文字形,所以就实现了英文和中文采用不同字体显示的效果。
sequence.monospaced.GBK=chinese-ms936,alphabetic,dingbats,symbol
sequence.monospaced.GB18030=chinese-gb18030,alphabetic,dingbats,symbol
# 改为
sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol
sequence.monospaced.GB18030=alphabetic,chinese-gb18030,dingbats,symbol
大功告成
全部工作完成后,重新启动 NetBeans,显示效果很漂亮: