Java:检查 otf 字体文件是不是包含小型大写字形

Posted

技术标签:

【中文标题】Java:检查 otf 字体文件是不是包含小型大写字形【英文标题】:Java: Check if otf font file contains small caps glyphsJava:检查 otf 字体文件是否包含小型大写字形 【发布时间】:2021-07-01 03:38:28 【问题描述】:

有没有办法检查 otf 字体文件是否包含小型大写字母变体的字形? 有没有办法在java中做到这一点?

谢谢!

【问题讨论】:

使用字体显示文本并直观地验证它是否满足您的需求。也许像font selector? 这是一个非常愚蠢的建议。只需通过几乎任何半体面的字体引擎/检查器运行字体并检查它是否支持the smcp feature。 OpenType 规范的重点在于,您可以在不先“显示文本”的情况下检查功能。 【参考方案1】:

有,只是不要使用标准库 Java。使用 Java OpenType 字体分析器,或者做更明智的事情并咨询 Freetype2 或 Harfbuzz 以获取该信息。

真的,任何可以让您检查 OpenType 功能的东西都可以:检查字体是否编码为 smcp feature - 如果是,它支持根据 OpenType 规范正确的小型大写字母。如果不是,它不会,并且您使用的任何文本引擎都会伪造它。

【讨论】:

以上是关于Java:检查 otf 字体文件是不是包含小型大写字形的主要内容,如果未能解决你的问题,请参考以下文章

将 .otf 字体系列部署到 FMX 应用程序

java中的新字体类型

如何比较不同粗细的 OpenType 字体是不是相同?

安全地允许通过 MIME TYPES / fil 上传网络字体(ttf、eot、svg、woff、otf)

跨平台的 PNG-in-OTF 字体是不是有效?

字体变体:小型大写;使用 Chrome 或 Firefox 显示不同的字体大小