“Fre3of9x”条形码字体,不会加载

时间:2015-11-25 07:58:09

标签: css fonts

所以,我正在尝试加载一个“条形码”字体,它将普通文本替换为我网页上的条形码。

现在我是使用字体的新手。我试图使用的字体是:

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个工作正常。

https://www.searchfreefonts.com/free/3-of-9-barcode.htm

1 个答案:

答案 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用于检查将来的坏字体。