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