4

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

所以我需要一个工具或 UBUNTU 中的一些库,它将TTF 文件作为输入并提供字体名称作为输出。

即使在 ruby​​ 中有某种方法(GEM 或任何可以提供帮助的东西)用给定的 TTF 文件找到字体名称,也会有很大的帮助。

提前致谢。

4

3 回答 3

4

我想应该有某种 ruby​​ 字体解析器可以做到这一点,但如果你有一点技巧,你可能会很容易地制作自己的字体。你需要两条重要的信息:

阅读标题,找到“name”表,在“name”表中搜索 nameID 4 条目(“全名”,例如“My Cool Font Bold Italic”)。或者如果您只想要姓氏(“我的酷字体”),也许 nameID 1。

数据结构非常简单,即使是初学者也可以理解和解析。

于 2012-06-14T14:45:16.393 回答
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

希望这可以帮助某人。

于 2012-06-19T04:56:10.013 回答
1

ttfunk gem将完成大部分繁重的工作,而无需您自己进行任何解析:

require 'ttfunk'

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

(摘自所述 gem 中的自述文件)

于 2018-12-12T03:12:37.950 回答