制作字体时出现BufferUnderflowException

时间:2015-12-05 16:42:00

标签: java fonts

我正在尝试创建一个自定义字体,以便在我的程序中使用,并认为我已正确配置代码。但是,当我尝试运行它时,我收到BufferUnderflowException。

我怀疑它可能是因为java没有以与创建时完全相同的方式读取.ttf,但这就是我的理解。如果有人有一些见解,我将不胜感激。

编辑:

我意识到查看错误可能会有所帮助:

    java.awt.FontFormatException: java.nio.BufferUnderflowException
    at sun.font.TrueTypeFont.init(Unknown Source)
    at sun.font.TrueTypeFont.<init>(Unknown Source)
    at sun.font.SunFontManager.createFont2D(Unknown Source)
    at java.awt.Font.<init>(Unknown Source)
    at java.awt.Font.createFont0(Unknown Source)
    at java.awt.Font.createFont(Unknown Source)

 try {
            final InputStream stream = 
                            new BufferedInputStream(new FileInputStream("fonts\\b.ttf"));
            myFont = Font.createFont(Font.TRUETYPE_FONT, stream);
            myFont.deriveFont(Font.PLAIN, 20f);
            GraphicsEnvironment ge = 
                            GraphicsEnvironment.getLocalGraphicsEnvironment();
            ge.registerFont(Font.createFont(Font.TRUETYPE_FONT, stream));           

        } catch (final IOException e) {
            e.printStackTrace();
        } catch (final FontFormatException e) {
            e.printStackTrace();
        }

0 个答案:

没有答案