在特定的html文件中,查看时会丢失所有"ti"、"fi"、"tt"字符(当我们在inspect element
中查看时,这些字符就在那里)。
例如:"Solution"是拼写错误的"soluon"。
示例截图
同样的html也能很好地与FireFox配合使用。上一期在Chrome和Safari中复制。
版本
- Chrome版本:版本50.0.2661.94(64位)
- 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)中的结扎
如果我错了,请纠正我。