如何更改Birt DEAPI中文本的字体

时间:2016-05-03 11:58:00

标签: java fonts birt birt-deapi

我创建了一个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();
    }
}

1 个答案:

答案 0 :(得分:0)

您需要在Unix OS中安装字体。

例如,如果您使用Ubuntu(Linux OS),那么

sudo apt-get install ttf-mscorefonts-installer

重新启动你的eclipse所有Microsoft字体将反映在你的BIRT报告视角