fonts - 如何按类别分类字体(衬线、无衬线、手写、显示)
问题描述
目前,我正在使用 opentype.js ( https://opentype.js.org ) 来检查字体文件。现在我想获取字体的类别,我可以这样做吗?
示例:我有https://fonts.google.com/specimen/Arvo的字体文件,我怎么知道字体是 serif 还是 san-serif?或者字体https://fonts.google.com/specimen/Molle,我怎么知道这个字体是不是手写的?
解决方案
查阅OS/2 表sFamilyClass
中的和/或panose
字段(与 OS/2 操作系统无关。它是一个通用元数据表)。
但是,请注意,这些字段并不要求以任何方式正确,因为 (a) 分类是高度主观的,但更重要的是,(b) 没有办法验证值集实际上是正确的,因此这些字段完全是自由形式。
虽然一个好的代工厂会确保它们被设置为合理的值,但“只是制作字体”的人可以选择不打扰设置任何类型/类别信息,并且字体根本不会包含任何信息让您确定哪种类型字体它真的是没有打开它并根据字形轮廓做出判断自己。
推荐阅读
- sql-server - 如何从系统版本表中获取多个日期
- vba - 如何逐行修改文件
- ios - 拖放过滤原理
- java - 如何从 xml 集成创建 bean
- spring - 角色的 Spring Spel
- css - 为什么 CSS 在 android 上无法正常工作?
- spring - 如何将此“Group By”MySQL 查询转换为 Spring 的 JPA / CrudRepository 接口
- java - 我在 Android 4.4 中运行时构建的 jar 中的“java.lang.UnsatisfiedLinkError”。*
- php - 如何在codeigniter中发送多个文件上传?
- ruby-on-rails - 如何以嵌套哈希的形式从 Rails DB 中检索关系数据?