Linux下Netbeans的字体反锯齿

首先说明,我是被锯齿的Netbeans虐待了半年才下决心解决来解决这个问题,想想还真是冤枉。
我用的Linux发行版是Ubuntu8.04,如果使用源里面的JDK一切都很简单(现在源里的版本是1.6u6),JDK6开始支持反锯齿。装完Netbeans你就会惊喜的发现,仿原生GUI的界面(GTK+)上的文字是反锯齿的,但是编辑器里面的文字是锯齿的,小了看着别扭,选大号的字体就极为明显的看出来了。这个问题很好解决,在高级选项里面,把编辑器的字体平滑打开就可以了,我居然忍了它半年……
但是WTK在这个JDK下面在中文的环境里不能以系统外观启动,通过指定WTK的启动外观为swing的外观可以解决这个问题。其实不光WTK,所有的JavaGUI程序都不能以系统外观启动,这在第一次通过Netbeans的向导生成一个JavaGUI程序一运行就出错表现得尤为打击人的信心和热情,虽然能通过设定应用swing外观,或者在程序里添加一些莫名其妙的变量设定(这样能以系统外观启动)能够解决,还是很让人有挫折感。
Sun最新的JDK6u10终于解决了这个问题,所以还是不要用源里面的JDK了。
下面介绍一下手动安装的方法,还是很简单的。首先下载JDK的bin包,然后解压缩,把解出来的文件夹移动到自己的主文件夹,改个简单的名字,我的叫jdk。
编辑~/.profile,在后面加上

  1. export JAVA_HOME=/home/username/jdk
  2. export PATH=$JAVA_HOME/bin:$PATH
  3. export CLASSPATH=.:$JAVA_HOME/lib/tools.jar

值得说明的是,~/jdk这样写虽然也是jdk的位置没错,在控制台敲java -version也能得到输出,但是Netbeans的安装程序就是不认识……
重新登录后,就可以运行Netbeans的安装程序了,这回我使用了Netbeans6.5beta,对我而言proguard升级成了4.2还是很重要的一件事,不用再手动设置了,谁让我还得写J2ME的程序呢。结果——没有高级选项了,编辑器的文字又是锯齿了。
解决这个问题有三个方法:
一个是只让Netbeans使用反锯齿,编辑Netbeans安装目录里的/etc/netbeans.conf,加上这个启动参数

  1. -J-Dawt.useSystemAAFontSettings=on

另一个是让所有的Java程序都使用反锯齿,就是在~/.profile后面再加上

  1. export _JAVA_OPTIONS= '-Dawt.useSystemAAFontSettings=on'

最后是仿照Netbeans6.1的设定来现自己加上编辑器的“高级设定”,编辑~/.netbeans/6.5beta/config/Editors/Preferences/org-netbeans-modules-editor-settings-CustomPreferences.xml,加入这样一段

  1. < entry   javaType = "java.lang.Boolean"   name = "textAntialiasing"   xml:space = "preserve" >
  2. < value > true </ value >
  3. </ entry >


后记:

互联网的传播速度的确是匪夷所思的,当我还在为netbeans的反锯齿字体不够完美在网上搜索的时候,发现看见最多的居然是我上面写的这些。

上面的方法虽然能让代码编辑部分是反锯齿的,但是netbeans的菜单都变得毛毛的了——Linux下面的中文字体的反锯齿还是做的不好,从windows上弄个雅黑倒是工作的很好,用了一段时间后,出于某种情结我还是把雅黑字体删掉了。

ubuntu从8.10到9.04中文菜单一直都是毛毛的,到了9.10终于好了……点阵字体虽然小气了点,至少看起来还美观,Firefox看网页的字体也清晰的很多,最让人不舒服的中文字体问题好像告一段落了。

还是回到netbeans的反锯齿上,awt.useSystemAAFontSettings这个参数实际用法是这个样子的

“false” corresponds to disabling font smoothing on the desktop.
“on” corresponds to Gnome Best shapes/Best contrast (no equivalent Windows desktop setting)
“gasp” corresponds to Windows “Standard” font smoothing (no equivalent Gnome desktop setting)
“lcd” corresponds to Gnome’s “subpixel smoothing” and Windows “ClearType”

也就是说,实际上应该设成lcd(现在还在用CRT的人不多了吧),这时你就会发现netbeans的字体显示还是很漂亮的,除了极少一部分中文还有点发毛,这就要等文泉驿把字体再做好点才能解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值