Иероглифические языки не отображаются в отчете - 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, без установки дополнительных шрифтов.

Это ваша проблема?

Другие вопросы по тегам