【问题标题】:Woff causes missing letterWoff 导致丢失字母
【发布时间】:2015-06-16 00:21:48
【问题描述】:

我收到了一组带有一组 woff 文件的 html 文件。

由于某种原因,字符“%”在文本中不可见,如第一个屏幕截图所示。

如果我修改 css 并删除 font-family 属性(它指向嵌入的字体),那么 '%' 字符再次可见

当然不是我想要的字体。

我想知道是什么导致了这个问题?我该如何解决这个问题?

编辑:

底层的html是这样的:

<pre class="g3" style="left:9.3px;top:0.7000061px;">Up to 50% of water</pre>

以及对应的css类

【问题讨论】:

  • 这个字体是谁做的?让他/她修复%登录,或使用fontforge等工具自己修复。
  • 字体中没有那个符号。唯一的解决方案是为该符号使用另一种字体。
  • @Kaiido 可以通过编程方式完成吗?
  • 您可以将该符号包装在一个 span 标签中并更改该符号的字体。那是你的选择。或者使用更完整的字体。
  • @SeanStopnik 实际上我怀疑该符号包含在字体中但已损坏,但是,将使用默认的 os 字体而不是嵌入的字体

标签: html css fonts webfonts woff


【解决方案1】:

如果字形未显示,则字体要么以某种方式损坏,要么字形实际上不在字体中。让我们检查一下:

通过TTX 运行WOFF,并查看% 是否有cmap 条目和字形轮廓。如果有: % 应该渲染,但没有。由于出现问题,重新生成 WOFF。

如果没有% 的条目,那么您有三个选择:

  1. 寻找新字体,或
  2. 从保证具有 % 的源重新生成 WOFF,或者
  3. 保持原样,但添加 CSS 后备,以便 % 以不同的字体呈现。

不过,我会先创建一个新的 WOFF。找到原始的 otf 或 ttf 源,将其用作字体系列来验证它是否有效,如果有效,则将其转换为禁用压缩的 WOFF(这 不会 更改字体的数据,它只是添加元数据块),看看是否有效。如果是这样,请尝试 WOFF with 压缩(它不会修改字体数据,但会压缩其中的一部分,因此理论上会更小),看看是否仍然有效。

请注意,您需要 Webfonts 不需要 WOFF,原来的 .ttf.otf 在现代浏览器中工作得很好。唯一的问题是 IE,它实际上通过要求字体的权限表明它是“可安装的”而不是“可嵌入的”来做正确的事情,所以:看看普通的 ttf/otf 是否按预期工作,如果是,检查字体是否在 IE 中工作。

是吗?完成后,我们不需要 WOFF,除非您有证据证明您需要优化 webfont 有效负载,因为它的大小会影响用户采用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-24
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多