【问题标题】:PHP How to parse web fontsPHP如何解析网页字体
【发布时间】:2015-09-17 20:30:09
【问题描述】:

我正在尝试解析一些网络字体,例如 woff、ttf 等。

这就是我开始使用这个库的原因

https://github.com/PhenX/php-font-lib

但没有使用示例,例如如何从 font.ttf 文件中解析一些相关信息。

这是 lib 的示例

http://pxd.me/php-font-lib/www/font_explorer.html

有人对这个库有一些经验,可以给我一个起点吗?

问候和感谢

【问题讨论】:

  • “解析”是什么意思?
  • 嗨,我的意思是,如何从字体中提取相关信息,比如“glyfs”,你知道我的意思吗?
  • 您可能不太可能在这里找到以前使用过这个特定库的任何人。您最好联系开发人员。也许在 github 上提交一个问题,只是说文档缺少示例。
  • @Creativecrypter 实际上,不,我们不知道您的意思。您需要更加具体。
  • 您可以尝试github.com/pomax/php-font-parser,用于 ttf 和 otf,但不是 woff,但您真正应该做的是解释您 实际上 想要做什么,而不是只是暗示而已。您只是想提取字母的轮廓吗?全文整形?实际的 OpenType 元数据提取?你在做什么让你觉得你需要一个 PHP 字体解析器?

标签: php parsing fonts truetype woff


【解决方案1】:

如果根据您的其他问题详细信息,您实际上需要的是提取所有字形轮廓,那么您最好使用TTX 提取glyf 表作为XML 文件,然后使用 PHP 简单地读取它。 编码要容易得多,而且工作量要少得多

但是,这是最重要的:拥有字形轮廓与现在能够设置文本样式不同。像“difference”这样的词不是“d”+“i”+“f”+ ...等,因为字体还带有重新定位信息,以确保某些字母组合看起来比“一个接一个地丢字母”更好, 并且字母可以被完全不同的轮廓替换以获得更好的外观(例如,许多好的字体都会有一个专用的“ff”连字字形,这与两个相邻的“f”字形完全不同,两者在大纲点和指标方面)。

但您似乎在问XY Problem question,因此可能值得问自己“为什么”五次。

  1. 您想在 PHP 中解析字体。为什么?
  2. 因为您需要字体中的所有字形。好的:为什么?
  3. 因为……你打算用这些做什么,为什么?
  4. 大概你想绘制文本。在哪里?
  5. 在图像上?您的问题实际上是“如何在 PHP 中的图像上绘制文本?” (答案:imagemagick + im 扩展)。在页面上?您的问题实际上是“如何在网页上获取具有特定字体的文本”(答案:CSS @font-face 规则)等。

当您不询问如何实现您已经想象的解决问题的方法时,Stackoverflow 可以为您提供最好的帮助,而是当您陈述您需要实现的目标,然后解释您已经想到的,或尝试过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    • 2020-07-31
    • 2013-04-23
    • 2013-11-24
    • 1970-01-01
    • 2014-08-23
    相关资源
    最近更新 更多