在我的html页面中,像“tt”、“ti”、“ff”这样的字符在使用chrome和safari查看时会消失



在特定的html文件中,查看时会丢失所有"ti"、"fi"、"tt"字符(当我们在inspect element中查看时,这些字符就在那里)。

例如:"Solution"是拼写错误的"soluon"。

示例截图

同样的html也能很好地与FireFox配合使用。上一期在Chrome和Safari中复制。

版本

  1. Chrome版本:版本50.0.2661.94(64位)
  2. Safari版本:9.0版(11601.1.56)

请帮我解决这个问题。

上述问题仅发生在-webkit web浏览器中,如chrome和safari,它提供对结扎的支持,而firefox等浏览器则不支持。

结扎是两个或多个字母的组合,连接为一个字母字形

​根本原因

这个缺少字符的问题是由于这些现代浏览器提供的ligature支持——让我解释一下

1.该工具在转换时-它使用poppler将字符转换为字形进行渲染-现在,当这些浏览器遇到像tt tf ti ff fi这样的字符时,会认为它们是连字,并搜索与tt而非t 对应的字形

2.由于它们没有相应的字形-它们只是跳过字符并渲染其余的字符-因此,我们发现缺少的字符

可以通过解决

禁用/关闭这些浏览器中的结扎-在生成的内容中嵌入css

有关更多详细信息,请参阅:

  • 通过CSS防止Safari(Mavericks/iOS7)中的结扎

如果我错了,请纠正我。

最新更新