我需要以编程方式安装(在Ubuntu中)几百字体为我的应用程序(Ruby on Rails中开发)和跟踪,同时安装安装的字体名称。
所以我需要一个工具或在Ubuntu一些库,它采用TTF文件作为输入,并提供字体,名称作为输出。
即使在红宝石(GEM或任何东西,它可以帮助)一些方法来找到字体名与给定的TTF文件,将是很大的帮助。
提前致谢。
我需要以编程方式安装(在Ubuntu中)几百字体为我的应用程序(Ruby on Rails中开发)和跟踪,同时安装安装的字体名称。
所以我需要一个工具或在Ubuntu一些库,它采用TTF文件作为输入,并提供字体,名称作为输出。
即使在红宝石(GEM或任何东西,它可以帮助)一些方法来找到字体名与给定的TTF文件,将是很大的帮助。
提前致谢。
我想,就必须有某种可能做到这一点的红宝石字体解析器,但如果你有一个小技巧,你很可能让自己很轻松地。 你需要信息的两个重要部分:
阅读标题,找到“名称”表中,搜索“名称”表NameID的4项(“全名”,如“我的超酷字体粗斜体”)。 或者,也许1填充NameID如果你只想系列名称(“我的酷字体”)。
数据结构是相当简单,应该不会有太大的麻烦,在所有即使是初学者开发的理解和分析。
基本上我用FOP-ttfreader获得从TTF文件的细节..
fop-ttfreader fontfile.ttf xmlfile.xml
http://manpages.ubuntu.com/manpages/natty/man1/fop-ttfreader.1.html
所以现在这个XML文件可以被解析并得到详细。
这看起来像它提高到2级,而不是作为建议的djangodude,它可以在一个简单的代码通过解析我们自己完成的。 在我的情况下,它会像一个耙子一个时间过程。所以帮我完成我的工作..:P
希望这可以帮助别人。
该ttfunk宝石会做最繁重的工作,而不需要你做任何分析自己:
require 'ttfunk'
file = TTFunk::File.open("some/path/myfont.ttf")
puts "name: #{file.name.font_name.join(', ')}"
(在所述宝石摘自自述)