"Fre3of9x"条形码字体,不会加载

Bjö*_*n C 5 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>
Run Code Online (Sandbox Code Playgroud)

CSS

@font-face {
  font-family: 'FRE3OF9X';
  src: url('/fonts/FRE3OF9X.TTF');
}
.barcodeText{
  font-family: 'FRE3OF9X', 'Georgia', serif;; 
}
Run Code Online (Sandbox Code Playgroud)

结果

*11111*
Run Code Online (Sandbox Code Playgroud)

我也收到了这条消息OTS parsing error: maxp: failed to parse table.但我真的不知道它是什么.

小提琴

https://jsfiddle.net/f2a6gcvu/

编辑
我没有解决这个问题,但改变了字体.9个中的3个工作正常.

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

Mik*_*ans 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...
Run Code Online (Sandbox Code Playgroud)

由于cmap结构包含有关字体支持的字符的信息,因此损坏的cmap子表是终端错误.您可以尝试从其他cmap子表中获取损坏的数据(这可能是Photoshop正在做的事情),但这并不能保证做正确的事情.浏览器在谨慎方面是错误的,所以这种字体很容易被拒绝.

怎么做:1.将这个字体报告给网站,以便他们可以修复或删除它,2.选择一个新字体(我看到你已经这样做了),并且3.可能自己拿一份TTX for将来检查坏字体.