2014-12-08 2 views
1

Я недавно перенес свое приложение в Zulu из Oracle JDK. Мое приложение генерирует документы MS-WORD с использованием BIRT.Иероглифические языки, не отображающиеся в отчете - Zulu

Теперь, после миграции zulu, отчеты отлично подходят в среде Windows, но когда одно и то же приложение развернуто в ящике Linux, отчет не отображает шрифты других языков, таких как японский, китайский, корейский и т. Д. Его пробел в места шрифта.

В отчете отображается только английский шрифт.

Я думаю, что это как-то связано с окнами zulu JDK и Linux zulu JDK.

Есть ли какая-либо библиотека, которая должна быть включена в версию Linux?

Нужна помощь!

+2

Что мне приходит в голову, так это то, что вы установили шрифты в своем отчете, которые недоступны в Linux. Является ли это возможным? – kazik1616

+0

сделал linux приложение работа с oracle jdk? –

+0

@ kazik1616: Да выглядит так. Спасибо за информацию. Я проверю и дам вам знать –

ответ

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 с этикеткой с некоторым японским текстом кнопки «Закрыть» («Japan») и. Я тестировал его на RHEL 6.6 против Zulu 6.6, Zulu 7.7 и Zulu 8.4 без дополнительных шрифтов.

Означает ли это вашу проблему?

Смежные вопросы