我需要为我的应用程序(在 Ruby on rails 中开发)以编程方式安装(在 Ubuntu 中)数百种字体,并在安装时跟踪安装的字体名称。
所以我需要一个工具或 UBUNTU 中的一些库,它将TTF 文件作为输入并提供字体名称作为输出。
即使在 ruby 中有某种方法(GEM 或任何可以提供帮助的东西)用给定的 TTF 文件找到字体名称,也会有很大的帮助。
提前致谢。
我想应该有某种 ruby 字体解析器可以做到这一点,但如果你有一点技巧,你可能会很容易地制作自己的字体。你需要两条重要的信息:
阅读标题,找到“name”表,在“name”表中搜索 nameID 4 条目(“全名”,例如“My Cool Font Bold Italic”)。或者如果您只想要姓氏(“我的酷字体”),也许 nameID 1。
数据结构非常简单,即使是初学者也可以理解和解析。
基本上我使用 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 gem将完成大部分繁重的工作,而无需您自己进行任何解析:
require 'ttfunk'
file = TTFunk::File.open("some/path/myfont.ttf")
puts "name: #{file.name.font_name.join(', ')}"
(摘自所述 gem 中的自述文件)