【问题标题】:How to use Open Type Fonts in Java?如何在 Java 中使用开放式字体?
【发布时间】:2010-10-26 17:35:10
【问题描述】:

有没有办法像阅读 TrueType 字体一样在 Java 中阅读 Open Type 字体?

这对 TTF 非常有效,但我还不知道如何对 Open Type 字体做同样的事情。

Font f = Font.createFont( Font.TRUETYPE_FONT,
new FileInputStream("f.ttf") );

请注意,我无法转发已安装的字体。我在我的程序中提供了字体,但不想在系统范围内安装它。

【问题讨论】:

    标签: java fonts opentype


    【解决方案1】:

    Java 1.6 不支持 Open Type (.otf) 字体文件。从 Java 1.7 开始,添加了支持:

    Font font = Font.createFont(Font.TRUETYPE_FONT, new File("MyFont.otf"));
    font  = font.deriveFont(Font.BOLD, 40);
    
    label.setFont(font);
    

    更多细节:

    【讨论】:

      【解决方案2】:

      我使用字体转换器将 OTF 转换为 TTF 文件。有一些在线服务(如www.freefontconverter.com)可以完成这项工作。对我来说,这是一种快速而简单的解决方法。

      【讨论】:

      • 转换后的字体可能看起来不一样,不建议这样做。
      【解决方案3】:

      Java OpenType font support depends on your OS and JDK version.

      在 Java 6 之前,您只能使用 TrueType 风格的 OpenType 字体。使用 Java 6,您可以使用所有 OpenType 字体,但您不会受益于连字等高级排版功能。

      【讨论】:

        【解决方案4】:

        我认为java中没有Open Type Font支持(至少不是免费的),iText声称有这样的支持,几个月前尝试过但没有用,对我有用的是一个名为我用 FontForge 从 otf 创建了一个 ttf,然后我使用了它。

        【讨论】:

          猜你喜欢
          • 2020-05-09
          • 1970-01-01
          • 2018-06-07
          • 2020-01-21
          • 2011-04-05
          • 1970-01-01
          • 2011-08-04
          • 2012-08-13
          相关资源
          最近更新 更多