小编Wha*_*y33的帖子

如何从具有多个TTF文件的Font系列导入自定义java.awt.Font?(包括一个例子)

我知道您可以使用以下内容导入Java中的Font:

File file = new File(fontPath);
Font font = Font.createFont(Font.TRUETYPE_FONT, file);
// alternative:
// Font font = Font.createFont(Font.TRUETYPE_FONT, new FileInputStream(file));
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
ge.registerFont(font);
Run Code Online (Sandbox Code Playgroud)

然后,您将使用例如font.deriveFont(Font.PLAIN, 20);获得所需的样式和大小.


但现在让我们看一下字体的例子Consolas,你有四个TTF文件:

  • consola.ttf (纯)
  • consolab.ttf (胆大)
  • consolai.ttf (斜体)
  • consolaz.ttf (加粗斜体)

当然你可以consola.ttf使用上面描述的方法导入,但是然后使用font.deriveFont(Font.BOLD, 20);与使用不同,consolab.ttf因为简单的字体被简单地转换为看起来像粗体字体.


示例图片

  1. 在这里,我使用了安装的字体new Font("Consolas", Font.PLAIN, 20);new Font("Consolas", Font.BOLD, 20);(作为旁注,如果你在系统上安装了字体,你也会得到正确的粗体字体deriveFont(Font.BOLD);):

使用已安装的TTF字体

  1. 这是consola.ttf导入createFont和导出粗体字体(两者的大小都是20,如上例所示):

使用导入的TTF和派生的粗体字体


好吧,安装时不是问题,但我不希望别人有自定义字体,所以我想将TTF放入jar文件,以便我可以在初始化过程中导入它们getResourceAsStream(path).

有没有办法导入所有相关的TTF,然后只是调用,new Font("Custom Font Name", fontStyle, fontSize); …

java import fonts awt

9
推荐指数
1
解决办法
4961
查看次数

标签 统计

awt ×1

fonts ×1

import ×1

java ×1