簡體   English   中英

從Google / Noto字體創建java.awt.Font

[英]Create java.awt.Font from google/noto font

我的系統上沒有安裝字體( https://www.google.com/get/noto/ ),但是當我嘗試使用某些字體(繁體中文,簡體中文)時,我僅得到一個空白:

Font notoCJKtcfont= new Font("Noto Sans CJK TC Black", Font.PLAIN, 14);
JFrame frame = new JFrame("Test font");
JLabel chineseLable = new JLabel("大家好。 你好嗎&23latinsymbolsδ");
chineseLable.setFont(notoCJKtcfont);
frame.add(chineseLable);
frame.pack();
frame.setVisible(true);

在此處輸入圖片說明

它與OTF格式和非拉丁符號有關嗎? 有什么方法可以使用這些字體-這樣它們才能正確顯示?

我研究了“ Java似乎無法正確渲染許多CJK OpenType字體”。因此,這可能與https://bugs.openjdk.java.net/browse/JDK-7140863有關

https://github.com/adobe-fonts/source-han-sans/issues/53

我安裝了這樣的字體

    private void render(Graphics g)
    {
        try
        {
            Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream("font.ttf"));
            font = font.deriveFont(24F);
            g.setFont(font);
            g.setColor(Color.BLUE);
            g.drawString(String.valueOf(count), 50, 50);
        } catch (FileNotFoundException ex)
        {
            Logger.getLogger(TestFont.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FontFormatException | IOException ex)
        {
            Logger.getLogger(TestFont.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM