首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用强制等宽终端字体Java AWT

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

Stack Overflow用户
提问于 2011-08-16 19:38:43
回答 1查看 1.5K关注 0票数 3

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

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

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

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

代码语言:javascript
复制
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保存它们。

EN

回答 1

Stack Overflow用户

发布于 2011-09-06 13:23:23

看起来Java AWT根本不支持位图字体--根据我在Font类中看到的判断--它只处理TRUETYPE_FONTTYPE1_FONT。终端是位图字体,所以没有简单的方法使用AWT的字体机制。

我目前正在尝试解决一个类似的问题,在this question中使用我自己的简单位图字体引擎,但效果有限。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7077613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档