在“消费”字体名称时我应该期待什么字符?在“生成”字体名称时我应该避免哪些字符?不同的操作系统,传统桌面应用程序,移动或网络应用程序( - > CSS)和不同的字体格式(如OpenType,TrueType,WOFF,PostScript,SVG等)之间是否存在差异?
答案 0 :(得分:5)
根据W3。在有效的字体名称中只能使用ISO-10646字符。
根据Adobe,PostScript字体不得包含空格,并且只能使用标准ASCII字符集中的字符。名称也不应超过29个字符。
建议使用连字符分隔字体系列名称和样式定义,并出于优化目的使用大写和小写字符,因为一些解析器在能够搜索第一个大写字符后跟一个字符串时效果最佳小写字符。
Macintosh字体菜单中使用的标准名称来自 与Type 1轮廓字体关联的FOND资源。 FOND资源 从技术上讲,名称最多可包含31个字符,并且可能包含空格,但由于已知错误,超过30个字符的任何内容都不起作用。
在Windows环境中,字体菜单名称在打印机中指定 字体指标(PFM)文件,不得超过31个字符;存在与Macintosh相同的限制为30个字符的建议。
Adobe的命名惯例被认为是行业标准。
如果您正在寻求测试,请查看此回归测试:http://search.cpan.org/~mhosken/Font-TTF-1.05/lib/Font/TTF/Font.pm
答案 1 :(得分:3)
您列出的几乎所有格式都是OpenType的版本:
所以这真的是一个问题“OpenType允许哪种命名格式”,以及“在其中,哪种格式支持最广泛”。值得庆幸的是,OpenType naming table specification拥有大部分信息。
重要的一点是,您没有定义“一个”姓氏,而是为不同的受众定义了几次。查看名称表的“名称ID”部分,您将看到几个字段都用于存放字体名称,仅适用于不同的上下文:
作为一个真实世界的例子,让我们看一下Palatino Linotype的名称字符串:
就平台差异而言,并非每个平台都需要所有这些字符串才能使字体可安装或可用。点击this SO question获取更多相关信息。例如,对于webfonts,名称ID 1在技术上是足够的,因为字体播放的“角色”由我们提供的@font-face
规则确定,但对于桌面应用程序,ID 2到5很重要。当然对于postscript设备,ID 6至关重要,因此如果没有它,操作系统往往不会将字体识别为“正确”。