在UBUNTU一个TTF文件查找字体名(Find FontName from a TTF file

2019-09-18 00:49发布

我需要以编程方式安装(在Ubuntu中)几百字体为我的应用程序(Ruby on Rails中开发)和跟踪,同时安装安装的字体名称。

所以我需要一个工具或在Ubuntu一些库,它采用TTF文件作为输入,并提供字体,名称作为输出。

即使在红宝石(GEM或任何东西,它可以帮助)一些方法来找到字体名与给定的TTF文件,将是很大的帮助。

提前致谢。

Answer 1:

我想,就必须有某种可能做到这一点的红宝石字体解析器,但如果你有一个小技巧,你很可能让自己很轻松地。 你需要信息的两个重要部分:

  • 为TTF文件头部数据结构
  • 为“name”表数据结构 (其中,将字体名称存储)

阅读标题,找到“名称”表中,搜索“名称”表NameID的4项(“全名”,如“我的超酷字体粗斜体”)。 或者,也许1填充NameID如果你只想系列名称(“我的酷字体”)。

数据结构是相当简单,应该不会有太大的麻烦,在所有即使是初学者开发的理解和分析。



Answer 2:

基本上我用FOP-ttfreader获得从TTF文件的细节..

fop-ttfreader fontfile.ttf xmlfile.xml

http://manpages.ubuntu.com/manpages/natty/man1/fop-ttfreader.1.html

所以现在这个XML文件可以被解析并得到详细。

这看起来像它提高到2级,而不是作为建议的djangodude,它可以在一个简单的代码通过解析我们自己完成的。 在我的情况下,它会像一个耙子一个时间过程。所以帮我完成我的工作..:P

希望这可以帮助别人。



Answer 3:

该ttfunk宝石会做最繁重的工作,而不需要你做任何分析自己:

require 'ttfunk'

file = TTFunk::File.open("some/path/myfont.ttf")
puts "name: #{file.name.font_name.join(', ')}"

(在所述宝石摘自自述)



文章来源: Find FontName from a TTF file in UBUNTU