Я создал отчет Birt
, в котором я определил шрифт семейства Segoeuii, который отлично работает в Windows, но когда он выходит из ОС Unix, он меняет все шрифты к Times new Roman это как-то потому, что шрифт отсутствует в файловой системе Unix, а Birt
не регистрирует шрифт, который не находится в файловой системе, поэтому нам нужно сначала зарегистрировать шрифты, используя FontFactory
. Я регистрирую шрифт и чем установить этот шрифт в свойстве, но все же он отображает Times new Roman.
Вот мой код.Как изменить шрифт текста в Birt DEAPI
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();
}
}
Но через некоторое время я понял, это 'Birt' просто показывает «Times new Roman», находится ли шрифт в файловой системе или нет. Эта проблема связана с Unix специально Ubuntu 14.04. – Root
И, регистрируя шрифт, необходимо выполнить установку шрифтов в системе, потому что в некоторых случаях в производственной среде у нас нет доступа к системе. – Root