有没有办法使用 JavaScript 找到字体中可用的所有功能
Posted
技术标签:
【中文标题】有没有办法使用 JavaScript 找到字体中可用的所有功能【英文标题】:Is there a way to find all features available in a font with JavaScript 【发布时间】:2021-03-05 12:06:25 【问题描述】:我正在使用 Nuxt 和 Contentful 开发一个网站。 我使用FontFace 加载了一些字体。我需要以这种方式加载它们,因为它是一个 Type design club 网站,他们需要在发布新字体时加载他们的字体。
他们要求我展示这些加载字体的所有功能,例如连字、替代样式等。
在 javascript 中有没有办法知道哪些功能可用于字体?
【问题讨论】:
【参考方案1】:您需要能够将 GSUB 解析到能够为您提供所有脚本/langsys 的所有功能的深度的代码,而您自己编写这是一件非常复杂的事情。
我为该任务写了Font.js(现在在 https://wakamaifondue 中使用),测试代码涵盖了您通常需要查询字体的许多内容,包括获取所有功能:列出所有 script/langsys/feature/lookup 集的示例,请查看 Font.js 的 GSUB test function。
【讨论】:
很奇怪看到人们对一个字面上就是答案的答案投了反对票。字体解析的 GSUB 方面是 incredibly complex,检测所有功能意味着您要么使用其他人编写的基于 JS 的字体解析器,例如 Font.js (ES6) 或 Harfbuzz (WASM) 等,要么您自己实现它,从从头开始,这是一项惊人的工作量,保证让你在一个任务上卡住数周。以上是关于有没有办法使用 JavaScript 找到字体中可用的所有功能的主要内容,如果未能解决你的问题,请参考以下文章