我创建了一个Birt
报告,我在其中定义了一个 Segoeuii 字体系列,它在Windows中可以正常工作但是当它来自Unix OS时,它会将所有字体更改为 Times new Roman 它是某种程度上因为Unix文件系统中没有字体而且Birt
没有注册文件系统中没有的字体所以我们需要注册字体首先使用FontFactory
我注册字体,然后在属性中设置此字体,但仍显示 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();
}
}
答案 0 :(得分:0)
您需要在Unix OS中安装字体。
例如,如果您使用Ubuntu(Linux OS),那么
sudo apt-get install ttf-mscorefonts-installer
重新启动你的eclipse所有Microsoft字体将反映在你的BIRT报告视角