MENU

消除Kali下Java GUI应用的锯齿

July 10, 2018 • 技术随笔

笔者今日诈尸,近两年没有上部落格,现供职于某互联网甲方安全团队,分享一篇非安全相关笔记。

Kali下JAVA GUI应用程序会出现难看的锯齿状字体,如图

5aba08674fee4.jpg

这是由于字体光栅化过程中没有加入抗锯齿技术来使得屏幕上的字体更加平滑易读,这个问题在Oracle Java 1.6和OpenJDK中可以得到解决。

Oracle Java 1.6

在~/.bashrc文件中添加_JAVA_OPTIONS环境变量。

_JAVA_OPTIONS='-Dawt.useSystemAAFontSettings=on'

其中setting的值可以设置为以下几种:

Value说明
off,false,default没有抗锯齿
on全面的抗锯齿
gasp使用字体的内置提示说明
lcd,lcd_hrgb针对许多流行的液晶显示器进行了抗锯齿调整
lcd_hbgr,lcd_vrgb,lcd_vbgr备选LCD监视器设置

在实践中笔者推荐使用on,效果如下图。

5aba0abe4d00b.jpg

OpenJDK

即使通过环境变量强制执行反锯齿,所产生的抗锯齿可能也不如本机应用程序,OpenJDK中有Infinality优化过的 补丁,可以让Java Swing中的字体渲染达到与系统原生字体渲染完全一致。

sudo add-apt-repository ppa:no1wantdthisname/openjdk-fontfix
sudo apt-get update
# For Java 7
sudo apt-get install openjdk-7-jdk
# For Java 8
sudo apt-get install openjdk-8-jdk
Archives QR Code
QR Code for this page
Tipping QR Code