小编taj*_*uma的帖子

如何强制Java文本抗锯齿?

在Kubuntu 14.04中运行Xilinx Vivado FPGA设计工具,它在UI的某些部分使用了抗锯齿字体,这使得它甚至难以使用,更不用说难看了.其他人似乎也有同样的问题.

由于它似乎至少部分用Java编写,我尝试了一些谷歌搜索后找到的建议解决方案

export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true -Dsun.java2d.xrender=true"
Run Code Online (Sandbox Code Playgroud)

没有任何视觉效果.

下面的一个小测试程序很明显,除非显式设置(但不是RenderingHints.KEY_TEXT_ANTIALIASING)字体呈现提示,否则将获得非抗锯齿文本.这在OpenJDK和Oracle JDK中都会发生.

import java.awt.*;
import java.awt.event.*;

// partially taken from http://stackoverflow.com/questions/2018102/java-font-rendering                                                     

public class AwtAA extends Panel {

    private final Font font = new Font(Font.SANS_SERIF, Font.BOLD, 16);
    private final int line = 24;
    private final int medskip = 16;

    AwtAA() {
    setBackground(SystemColor.control);
    }

    public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D)g;
    int py = 0;

    py = paintText(g2d, py, null, null);
    py += medskip;

    py = …
Run Code Online (Sandbox Code Playgroud)

java linux fonts awt antialiasing

6
推荐指数
1
解决办法
2134
查看次数

标签 统计

antialiasing ×1

awt ×1

fonts ×1

java ×1

linux ×1