0

SegoeuiiBirtフォント ファミリをテキストに定義したレポートを作成しましたが、Windows では問題なく動作しますが、Unix OS の場合、すべてのフォントがTimes new Romanに変更されます。 Unixファイルシステムであり、ファイルシステムにないフォントを登録しないため、最初にフォントを登録する必要があるため、フォントを登録してから、このフォントをプロパティに設定しますが、それでもTimes new Romanを表示します。 これが私のコードです。 BirtFontFactory

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();
    }
}
4

1 に答える 1

0

Unix OS にフォントをインストールする必要があります。

たとえば、Ubuntu (Linux OS) を使用している場合は、

sudo apt-get install ttf-mscorefonts-installer

Eclipse を再起動すると、すべての Microsoft フォントが BIRT レポートのパースペクティブに反映されます

于 2016-05-04T05:02:46.693 に答える