gpt4 book ai didi

java - 使用强制等宽终端字体 Java AWT

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:15:51 26 4
gpt4 key购买 nike

我想使用 Terminal 界面来显示我程序中的读入字符串(在 Windows 上,平台无关性并不重要)。

如果我使用 Font font = Font.decode("Terminal-10"); 它不是等宽的。

如果我使用 Font font = new Font(Font.MONOSPACED, Font.PLAIN, 11); 一切正常,但看起来像 Courier。

如果我使用(可能我误解了 API 文档)

HashMap attr = new HashMap<TextAttribute,TextAttribute>();
attr.put("FAMILY", Font.MONOSPACED);
attr.put("FONT", Font.decode("Terminal-10"));

font = new Font(attr);

它只是使用默认值(大约 12 点纯字体)。如何正确设置终端字体的属性?我在 Graphics2D 上绘制字符串并使用 ImageIO 保存它们。

最佳答案

看起来您的 Java AWT 根本不支持位图字体 - 从我在 Font 中看到的内容来看类 - 它只处理 TRUETYPE_FONTTYPE1_FONT。 Terminal 是一种位图字体,因此没有使用 AWT 的字体机制来使用它的简单方法。

我目前正在尝试通过滚动我自己的简单位图字体引擎来解决类似的问题,但在 this question 中取得了有限的成功。 .

关于java - 使用强制等宽终端字体 Java AWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com