系统字体配置:
方案一:
原文:http://www.bbreader.com/item.bb?id=588793
今天看该文档时,突然意识到通过修改JRE的字体配置文件,可以改变所有Swing应用程序的字体显示。
NetBeans被许多我们中国java开发者指摘的地方就是它的字体难看。细分析一下原因不难找出:netbeans代码编辑器和输出窗口使用 monospaced字体来显示,而monospaced代表着等宽字体,应该是显示程序源代码的合理选择。monospaced是种逻辑字体,它在不同语言和操作系统上映射为不同的物理字体。一般英文操作系统将monospaced字体映射为Courier New。这种字体非常美观,适宜于显示源代码,在Eclipse和Microsoft Visual Studio等IDE中是显示源代码的缺省字体,它也是许多技术网站、博客或者论坛显示源代码的缺省字体。
问题就出在这儿。一般中文操作系统上,monospaced字体是被映射到宋体上的,虽然宋体显示中文非常好看,但它的英文显示非常糟糕。由于 monospaced被映射成宋体,所以netbeans在刚装上后没做任何配置之前,其编辑器和输出窗口里的字体都是宋体,其英文显示也就比较难看。
今天看的这个文档指出JRE的字体映射是可以配置的。简单来说就是在jre/lib下用户可以创建一个fongconfig.properties,配置自定义的字体映射关系。当然不需要从头创建一个字体配置文件,只需拷贝一份字体配置模板文件,然后稍做改动就可以了。具体操作步骤如下:
1.将JDK_HOME/jre/lib目录下的fontconfig.properties.src复制一份文件fontconfig.properties,并放在该目录下。
2.编辑文件fontconfig.properties,查找到下面一行:
sequence.monospaced.GBK=chinese-ms936, alphabetic,dingbats,symbol |
可以发现由于中文monospaced字体缺省查找顺序是先使用chinese-ms936,结果造成了英文被宋体来显示。纠正非常简单,只需将chinese-ms936和alphabetic调换顺序就可以了:
sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol |
3.保存该文件后启动netbeans,这时就会发现netbeans编辑器和输出窗口的字体都变成了Courier New,很好看。如果你已经改了缺省字体设置,不妨再把它改回到缺省的monospaced,再看看结果是不是如你所愿。
方案二:
原文链接:http://blog.163.com/peigen_peigen/blog/static/2704780200712611472910/
http://blogs.sun.com/Swing/entry/netbeans%E4%BD%BF%E7%94%A8%E5%BF%83%E5%BE%97%E4%B8%80%EF%BC%9A%E5%AD%97%E4%BD%93%E9%85%8D%E7%BD%AE
Eclipse用户总是在NetBeans炫耀Eclipse是多么的漂亮,尤其会说NetBeans的字体丑陋,NetBeans的字体太小,编辑器里的字体不好看,字体边楞有锯齿等等。坦白的说,这也是我刚从Eclipse转到NetBeans的第一印象。其实由于NetBeans使用Swing构建界面,这使得它缺省的使用Swing的缺省配置,尤其是中文,就更不敢恭维。其实NetBeans提供了强大的配置工具,完全可以将NetBeans配置的很漂亮。下面我就以Windows上的NetBeans安装为例,说说如何配置字体。
1.NetBeans界面上的普通字体大小,可以通过配置NetBeans安装目录下netbeans.conf启动文件来实现,这个文件在< NetBeans>/etc目录下。缺省的NetBeans在使用Swing的缺省字体,大小为11,稍稍嫌小,如果要改成12,可以将文件中的下面一行:
netbeans_default_options="-J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true"
改成
netbeans_default_options="-J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true --fontsize 12"
另外,也可以通过设置Swing的一个控制字体的系统属性swing.useSystemFontSetting来实现:
netbeans_default_options="-J-Dswing.useSystemFontSettings=false -J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true"
2.编辑器的字体可以通过选项设置来实现,具体是Tools->Options->Fonts & Colors,这儿可以设置包含字体、前后背景等设置。刚转到NetBeans时,我就按照Eclipse和VS2003刚设置了一套设置,设置好了之后的NetBeans特别漂亮,一点都不输给Eclipse。
3.字体锯齿问题,解决这个问题,首先你要使用Java6。Java6支持LCD和反走样(anti-alias)字体,安装Java6后,修改 etc/netbeans.conf让NetBeans使用Java6。需要注意的是在Windows下需要明确打开操作系统的字体边缘平滑设置后,才起作用。设置方法是,右键点击桌面,选择外观->效果->使用下列方式使字体的边缘平滑->清晰,然后启动NetBeans就可以了。
另外,我个人觉得NetBeans缺省的工具栏按钮太大,如果你和我有同样感觉,可以右键点击工具栏,从下拉菜单中选择Small Toolbar Icons。
编辑区字体设置:
工具栏-->tools-->options-->fonts&color选择宋体,再选择适当大小,这样也能正确显示utf-8中文了。
[广告] 重奖 悬赏kfc3v3 球衣
没有评论:
发表评论