所以,我正在尝试加载一个“条形码”字体,它将普通文本替换为我网页上的条形码。
现在我是使用字体的新手。我试图使用的字体是:
http://www.fontsupply.com/fonts/F/Fre3of9x.html FRE3OF9X.TTF
错误消息为:Failed to decode downloaded font:
我可以看到,字体在网络控制台中加载304
。那是什么导致了这个问题?
HTML
<div class="barcode"><span class="barcodeText">*11111*</span></div>
CSS
@font-face {
font-family: 'FRE3OF9X';
src: url('/fonts/FRE3OF9X.TTF');
}
.barcodeText{
font-family: 'FRE3OF9X', 'Georgia', serif;;
}
结果
*11111*
我也收到了此消息OTS parsing error: maxp: failed to parse table
。但我真的不知道它是什么。
FIDDLE
https://jsfiddle.net/f2a6gcvu/
修改
我没有解决这个问题,但改变了字体。 3个中的3个工作正常。
答案 0 :(得分:7)
您收到解码错误的原因是实际 字体已损坏。通过TTX(用于在二进制和XML格式之间切换字体表示的实用程序)运行它给我们:
> ttx FRE3OF9X.TTF
Dumping "FRE3OF9X.TTF" to "FRE3OF9X.ttx"...
Dumping 'GlyphOrder' table...
Error: cmap subtable is reported as having zero length:
platformID 1, platEncID 0, format 0 offset 20. Skipping table.
Dumping 'head' table...
Dumping 'hhea' table...
Dumping 'maxp' table...
Dumping 'OS/2' table...
Dumping 'hmtx' table...
Error: cmap subtable is reported as having zero length:
platformID 1, platEncID 0, format 0 offset 20. Skipping table.
Dumping 'cmap' table...
Dumping 'loca' table...
Dumping 'glyf' table...
Dumping 'name' table...
Dumping 'post' table...
由于cmap
结构包含有关字体支持的字符的信息,因此损坏的cmap子表是终端错误。您可以尝试从其他cmap子表中获取损坏的数据(这可能是Photoshop正在做的事情),但这并不能保证做正确的事情。浏览器在谨慎方面是错误的,所以这种字体很容易被拒绝。
怎么做:1。将这个字体报告给网站,以便他们可以修复或删除它,2。选择一个新字体(我看到你已经这样做了),并且3.可能会抓住自己的副本TTX用于检查将来的坏字体。