Иероглифические языки не отображаются в отчете - Zulu
Я недавно перенес свое приложение в Зулу из Oracle JDK. Мое приложение генерирует документы MS-WORD, используя BIRT.
Теперь после миграции на zulu с отчетами все в порядке в среде Windows, но когда одно и то же приложение развернуто в Linux-системе, в отчете не отображаются шрифты других языков, таких как японский, китайский, корейский и т. Д. В местах шрифта пусто.,
В отчете виден только английский шрифт.
Я думаю, что это как-то связано с Windows Zulu JDK и Linux Zulu JDK.
Есть ли какая-либо библиотека, которая должна быть включена для версии Linux??
Нужна помощь!!
1 ответ
Пожалуйста, рассмотрите следующий пример:
import javax.swing.*;
import javax.swing.plaf.metal.MetalLookAndFeel;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.lang.reflect.InvocationTargetException;
public class japaneseTest extends JFrame {
japaneseTest() {
try {
UIManager.setLookAndFeel(new MetalLookAndFeel());
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
getContentPane().add(new JLabel("日本 日本 日本"), BorderLayout.NORTH);
JButton button = new JButton("Close");
button.addActionListener(new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
getContentPane().add(button, BorderLayout.SOUTH);
setPreferredSize(new Dimension(300, 300));
pack();
}
public static void main(String[] args) {
try {
SwingUtilities.invokeAndWait(new Runnable() {
@Override
public void run() {
japaneseTest app = new japaneseTest();
app.setVisible(true);
}
});
} catch (InterruptedException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
Это создаст JFrame с меткой с некоторым японским текстом ("Япония") и кнопкой "Закрыть". Я протестировал его на RHEL 6.6 против Zulu 6.6, Zulu 7.7 и Zulu 8.4, без установки дополнительных шрифтов.
Это ваша проблема?