【问题标题】:TextAttribute.TRACKING and LineBreakMeasurerTextAttribute.TRACKING 和 LineBreakMeasurer
【发布时间】:2009-09-25 21:06:32
【问题描述】:

有没有人成功地使用java.awt.font.LineBreakMeasurer 来绘制在字体上设置了java.awt.font.TextAttribute.TRACKING(也称为字母间距)的自动换行文本?

我通过以下方式创建字体:

Map<TextAttribute, Object> map = new HashMap<TextAttribute, Object> ();
map.put(TextAttribute.SIZE, 18);
map.put(TextAttribute.TRACKING, .04);
Font f = Font.createFont(Font.TRUETYPE_FONT, new File ("C:/arialbd.ttf"));
f = f.deriveFont(map);

渲染到图像时一切看起来都很好,并且跟踪是0。但是当跟踪设置&gt; 0 时,一切都正确绘制,但换行符不会改变。文字只是从图像的一侧消失。

【问题讨论】:

    标签: java text layout tracking word-wrap


    【解决方案1】:

    我从来没有尝试过使用默认字体以外的任何东西,但是旧的Multi Line Text 技术提示显示了一种使用 LineBreakMeasurer 的方法。由于您没有发布代码,我无法判断您的代码是相同还是不同。

    下次发布您的SSCCE 会很有帮助,这样我们就可以看到您在做什么。

    【讨论】:

    • 我使用的示例直接来自 java 文档,类似于您发布的链接中的 Multi4 示例。如果您将字体创建(构造函数中的第 3 行)替换为我在上面发布的代码,您将看到效果。
    • 我无权访问字体文件。您似乎认为问题出在 Tracking 属性上。那么它是所有字体的问题还是只有那个字体或两者的组合?无论如何,我没有什么可以提供的了,抱歉。
    猜你喜欢
    • 2010-11-10
    • 1970-01-01
    • 2013-03-20
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-25
    • 2011-02-17
    相关资源
    最近更新 更多