php - 从服务器加载字体

标签 php fonts

我有一个 PHP,它从服务器加载字体,以便在图像上写入文本。

我在the manual中看到的所有加载字体的示例或者在迄今为止的搜索中,明确命名字体(例如 Arial.ttf)。我的 PHP 当前使用位于同一目录中的字体,但我希望通过不强制部署它的人包含字体文件来使 PHP 更(轻松)可移植。因此,我希望 PHP 使用服务器上已经安装的字体。

(core1) PHP 中是否有工具可以确定服务器上安装的字体?如果没有,有没有办法让服务器加载逻辑字体(Serif、Sans-Serif、Monospaced 等)?

  1. 注意:我们对能够执行上述操作的 PHP API 不感兴趣。它需要上传/安装 API,这违背了“让它变得简单”的意图。只有适用于核心 PHP 的解决方案才有用。

最佳答案

这种方法可能会降低可移植性,而不是更可移植:您不能真正依赖给定系统上现有的字体,但更重要的是,考虑到许多 PHP 安装都在仅支持 SSH 的 VPS 等设备上或共享托管服务,有可用系统字体的可能性非常低(没有 GUI 意味着字体通常很困惑)。

如果您的应用程序依赖于特定字体,要么将其与您的版本捆绑在一起,要么如果字体许可证不允许(对于 Microsoft 拥有的 Arial 来说肯定是这样),您的版本文档可以告诉人们他们必须将文件本身放入特定目录(例如 ./resources/fonts),或者让您的脚本根据环境或 .ini< 中的位置获取字体 文件或其他内容,允许人们指向该字体的本地副本存在的位置。

也就是说,PHP 本身不使用字体(它不知道如何处理它们),但是用于服务器工作的 PHP 扩展(例如 ImageMagic、pdf 生成器等)当然可以使用它们。

另一方面,如果重要的部分是在浏览器中正确加载字体,那么当用户调用您的 PHP 脚本时,他们会收到一个网页,通过该网页与您的代码库进行交互,那么这就是webfont 位置问题(只需确保 PHP 生成的页面代码指向可解析的 URL),而不是 PHP 问题。

与“可以执行上述操作的 PHP API 没有任何意义。它需要上传/安装 API,这违背了“让事情变得简单”的意图”声明: PHP 使用PEAR用于包管理。通常是 "pear install dependencyname" 的问题已经完成了,所以这并没有什么困难,甚至不方便。

关于php - 从服务器加载字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33332697/

相关文章:

php - 如何从 MySQL 表中遍历数组

heroku - Heroku和Google字体

ios - 设置允许不同大小的应用程序范围的默认字体

html - CSS 将中心 Font Awesome 图标垂直对齐到文本

iOS 10 和为属性文本设置自定义字体

php - 如何使用 getAllChecked() 获取 dhtmlx 中检查的项目的文本

php - 使用 preg_match 拆分邮件 header

php - 使用带有 setcookie 的 explode 设置一个 cookie 具有多个名称和值

PHP UTC 到本地时间

java - 将字体添加到 Intent 以发送到另一个 Activity