我从Fontpalace下载了一些TTF字体到我的网页zackel.com/fonts/然后我用@font来访问它们。这适用于“宪法”字体,以及我尝试过的所有其他字体 - 除了“公爵夫人”,正如你在这个jsFiddle中看到的那样 - http://jsfiddle.net/mzvswy4e/4/。我已经尝试将Duchess ttf文件从除Fontpalace之外的其他来源复制到我的字体/目录但结果总是相同的:它不起作用。
有谁知道这里发生了什么?
感谢。
@font-face {
font-family:constitution;
src: url(https://zackel.com/fonts/Constitution.ttf);
}
@font-face {
font-family:duchess;
src: url(https://zackel.com/fonts/Duchess.ttf);
}
答案 0 :(得分:1)
(免责声明:以下是基于2的样本大小的实验性工作,但由https://github.com/devongovett/pdfkit/issues/121证实:某些应用程序似乎需要Unicode cmap。)
我用ttfdump
查看了这两种字体,而Duchess.ttf在文件中只有两种编码:
'cmap'表 - 字符到字形索引映射表
'cmap' version: 0 number of encodings: 2 number of subtables: 2
编码0. PlatformID:1 EcodingID:0 SubTable:0,Offset:0x00000014
编码1. PlatformID:3 EcodingID:1 SubTable:1,偏移量:0x0000011a
The specs建议用于Mac(Id 1)和Windows(Id 3,编码1是Unicode基本平面,UCS-2),而工作字体有三个:
'cmap'表 - 字符到字形索引映射表
'cmap' version: 0 number of encodings: 3 number of subtables: 2
编码0. PlatformID:0 EcodingID:0 SubTable:0,Offset:0x00000124
编码1. PlatformID:1 EcodingID:0 SubTable:1,Offset:0x0000001c
编码2. PlatformID:3 EcodingID:1 SubTable:0,Offset:0x00000124
额外的一个是Unicode 1.0。请注意偏移量与Windows编码的相同,因为它们基本上都是相同的Unicode。我的猜测是浏览器需要Unicode编码。我会假设像FontForge这样的工具可以添加它,因为它只是你已经拥有的表的另一个指针。