2

我注意到谷歌浏览器确实只显示某些字符作为连字。以下字体包含代码点 、 和 。它还包含以下代码点序列的连字 , , .

包含代码点的序列在 Google Chrome 中不显示为连字:

@font-face {
  font-family: 'aliens';
  src: url('data:application/font-woff;base64,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');
}
td {
  font-family: 'aliens';
  letter-spacing: .000001em;
  font-variant-ligatures: contextual; 
  text-rendering: optimizeLegibility;
}
<table>
  <tr>
    <th>Symbol</th>
    <th>Description</th>
    <th>Does it work in Chrome?</th>
  </tr>
  <tr>
    <td></td><td>ALIEN MONSTER</td><td>✔️</td>
  </tr>
  <tr>
    <td></td><td>PAGE FACEING UP</td><td>✔️</td>
  </tr>
  <tr>
    <td></td><td>ALIEN MONSTER ON PAGE</td><td>✔️</td>
  </tr>
  <tr>
    <td></td><td>MATHEMATICAL BOLD SCRIPT CAPITAL A</td><td>✔️</td>
  </tr>
  <tr>
    <td></td><td>A ON PAGE</td><td>❌&lt;/td>
  </tr>
  <tr>
    <td></td><td>PAGE WITH A</td><td>❌&lt;/td>
  </tr>
</table>

预期结果(Safari): 在此处输入图像描述

Chrome 中的实际结果: 在此处输入图像描述

Safari & Firefox 不显示序列。

包含代码点的连字是否无效?ligatureS 可以包含任何代码点序列吗?这是chrome中的错误吗?

4

1 回答 1

1

Chrome 不应用“A ON PAGE”连字的原因似乎是因为“A”是“文本”而“页面”是“表情符号”,它会将“A”和“页面”分成单独的运行'。此外,即使这样,“A”和“Page”似乎也将被视为不同的“单词”,进一步将它们分成不同的运行,因为 Blink 相信它可以按单词形成。不幸的是,即使添加 zwj 似乎也无法解决这个问题。

请注意,我看到“A ON PAGE”和相关的连字,但在字体中没有看到“PAGE WITH A”字形或连字,这可以解释为什么 Chrome 和 Safari 都不显示此连字。

我用这些信息打开了一个针对 Chromium的问题。

于 2018-10-12T20:46:20.237 回答