关于JDK/Java支持TTC字体的思路

Posted 柳鲲鹏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JDK/Java支持TTC字体的思路相关的知识,希望对你有一定的参考价值。

  如前面博文所述,其实JDK是能够认识TTC字体文件的。问题在哪里?吾以为有三个:

  • 没有预先读取文件中的所有字体名。

没有这个东西,外部字体名传递进来,也是傻眼。

  • 接上,新建字体时,传递的字体索引是0,没有传递字体名。
  • 接口参数问题。

前面两个问题解决了,这个就容易了。

  开始吾想自己解释字体文件。于是找了FontForge,结果编译没有通过……回头一想,JDK已经支持TTC,吾何不在此基础上处理?

  • 增加一个TrueTypeFont构造器,获取所有字体名。
  • 增加一个TrueTypeFont构造器,把字体索引换成字体名。
  • 内部构造器中增加字体名参数。

  如果字体名有效,则忽略字体索引。

  构造器中,先把字体名全部读取出来。然后再从字体名中找到索引,重新初始化。这个办法是比较笨的,以后考虑优化一下处理。

  听着是不是很简单?做起来好像也不难,因为咱有泰山JDK啊。

以上是关于关于JDK/Java支持TTC字体的思路的主要内容,如果未能解决你的问题,请参考以下文章

关于JDK支持TTC字体文件的问题及解决办法,已上报JAVA

PDFBox 2.0 和 TTC 字体

世界第一!泰山JDK8完美支持TTC字体文件的效果图

TTF OTF TTC 这三种格式的字体哪种好?跪求解释

JAVA从TTC文件中获得全部字体名的办法

使用 ttc 文件的 Css 字体