---目前还没解决的问题,就是粗体斜体中文同时使用时会乱码 -_-!
先上一下最终效果图,这是在Netbeans里源码编辑器的截图:大家可以看到,英文是Consolas,中文是微软雅黑。
新装的WINDOWS 7 RTM + JDK 6.0,一切都很近似完美,就是Java默认的中文字体宋体,太丑了,和WIN7的微软雅黑矢量字体格格不入。没想到JDK6里的fontconfig.property文件还是04年的,汗一个。。。
网上有几篇修改fontconfig.property使中文字体为微软雅黑的文章,但不知道为什么在win7里,显示粗体中文时会乱码,普通格式的中文没问题。
于是我前后尝试了1个多小时,最后终于用最笨的方法搞定了,就是强制chinese-ms936的字体属性,汗。。
因为jdk里的fontconfig.property文件从04年就没变过,所以大家请放心下载使用,直接覆盖jre/lib目录下,以及jdk/jre/lib目录下的同名文件,如果原来没改过,可能会只有类似fontconfig.98.property或者fontconfig.property.src的东西,那都没关系,把这个下载之后放进去就OK了。
比如我的路径是:
C:\Program Files\Java\jdk1.6.0_16\jre\lib
C:\Program Files\Java\jre6\lib
英文修改为Consolas,中文是微软雅黑。无论是粗体,斜体,都不会有问题了(刚发现粗体+斜体共同作用时会有问题,汗)。
有人可能没有微软雅黑和consolas字体,去搜一下吧。字体下载之后,要确保都安装到字体中(控制面板->字体->粘贴即可安装),并且微软雅黑的两个字体名字为msyh.ttf和msyhbd.ttf。
Consolas的字体名字为(Windows下大小写无关):
CONSOLA.TTF
CONSOLAB.TTF
CONSOLAI.TTF
CONSOLAZ.TTF
另外,在配置好字体之后,在Netbeans里只要选择默认字体为 Monospaced,就可以自动将英文显示为Consolas,中文为微软雅黑!
而且所有的Java程序,都会是这个效果!
最后,贴上我的netbeans的conf文件,默认启用了Nimbus这个LAF(LookAndFeel),界面设置为英文(因为发现中文Locale时很多插件都搜不到-_-),那些内存配置参数之类的也是从nb官方wiki里copy过来的推荐配置。
# Options used by NetBeans launcher by default, can be overridden by explicit
# command line switches:
netbeans_default_options="-J-client -J-Xss2m -J-Xms256m -J-XX:PermSize=32m -J-XX:MaxPermSize=200m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=false -J-Dsun.java2d.noddraw=true --locale en_US --laf com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel"
# Note that a default -Xmx is selected for you automatically.
下载地址为:
FontConfig.property http://www.blogjava.net/Files/jogl/fontconfig.zip