1

我正在建立一个带有字体预览的免费字体网站。由 imagettftext() 生成的许多字体字符都带有方形框,因为它们没有被映射。

我查看了像 dafont.com 这样的网站,他们所有的字体都可以正确预览。我非常怀疑他们是否会检查每种字体并确保使用正确的字符。

所以我的问题是,是否有一个 PHP 脚本或函数可以做到这一点:

1)打开一个ttf文件并根据字符串查找映射的字符。EX:我想将名称 'foobar' 作为文本传递给 imagettftext(),但如果字体 foobar 只映射大写字符,我将不得不将 FOOBAR 传递给 imagettftext()。

2)如果返回字符串中的任何字符未映射到字体中,则查找下一个映射字符并将其替换为该字符。

基本上,我试图避免所有未映射的字体框出现在我的网站上。

感谢大家!

4

1 回答 1

1

我已经使用dafont.com的几种字体进行了测试。未映射的字符通常使用imagettftext. 例如,我试图通过输入来访问字体边界之外的字符˰。但是,即使在dafont.com上,也有一些字体中有这些方块;例如这个 Flower Ornaments 字体这个 4yeo Sport 字体

我的猜测是这些基本字符是强制性的,因此被替换为一个空框。

我对 dingbats 和文本字体的个人建议是:

  1. Dingbats : 显示 dingbats 字体的静态文本。这就是dafont.com所做的,无论您如何更改示例文本,字体示例都将保持不变,因此除非您单击查看映射详细信息,否则您将永远不会看到这些框。

  2. 文本字体:如果您确定字体中包含标准英文字母,请为每种文本字体打印出“The quick brown fox jumps over the lazy dog”。它将让用户了解字母表中每个字母的设计。

于 2011-12-17T21:23:29.840 回答