【发布时间】:2016-05-03 11:57:59
【问题描述】:
我创建了一个Birt 报告,其中我为文本定义了一个 Segoeuii 字体系列,它在 Windows 中可以正常工作,但是当它来自 Unix OS 时,它会将所有字体更改为 Times new Roman 不知何故,因为字体不存在于 Unix 文件系统中,Birt 没有注册不在文件系统中的字体,所以我们需要先注册字体,所以使用 @ 987654323@ 我注册了字体,然后在属性中设置了这个字体,但它仍然显示 Times new Roman。
这是我的代码。
public void testCode() {
URL font = Thread.currentThread().getContextClassLoader().getResource("segoeuii.ttf"); // getResourceAsStream("segoeuii.ttf");
TextItemHandle text = (TextItemHandle) designHandle.findElement("TextProbingAttacks");
FontFactory.register(font.toString(), "test_font");
Font myfont = FontFactory.getFont("test_font");
try {
text.setProperty("fontFamily", myfont);
} catch (SemanticException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
【问题讨论】:
标签: java fonts birt birt-deapi