我将ttf文件捆绑在一个jar文件中,并打算将它们用作渲染文本的物理字体。
我在互联网上看到的所有示例代码如下:
InputStream is=Essai.class.getResourceAsStream(resourcePath);
Font f=Font.createFont(fontFormat, is);
我对此代码有两个问题:
首先,单个字体,比如说DejaVu,拥有4个不同的ttf文件,每个样式1个(常规,粗体,斜体和粗体斜体);是否足以从一个ttf(4个中的任何一个)创建一个字体?
其次,在创建字体后,我看到的所有代码都没有关闭流,这让我想知道它是故意的吗?也许创建的字体(稍后将在本地GraphicsEnvironment中注册)需要流保持打开状态?
createFont()方法的javadoc说:“此方法不会关闭InputStream。”
所以我的第二个问题是我应该在创建字体后关闭流,还是保持打开?答案 0 :(得分:3)
Font
变体。我首先只将标准Font
放在Jar中。