我最近发现了这篇历史文献,它声称可以作为测试UTF-8编码的工具,无论用于哪个应用程序的显示。
当我将其粘贴到我的终端(iterm2)中时,它能够完美地加载末尾的方框图案(除了右下角的几个):
但在Chrome和Firefox中,它们都是歪曲的,明显是错误的:
看起来差异与呈现字符的宽度有关:例如,"╲"在我的终端上显示的宽度与其他字符(如 "a")一样宽,但在浏览器中显示更宽。
这是故意的选择吗?如果是,请受什么启发?如果不是,那么在哪里报告错误呢?
编辑
感谢Tom Blodget's answer,我现在意识到字体是一个重要的考虑因素。我将澄清:
在我上面的截图中,Firefox 和 Chrome 使用 Courier 作为等宽字体,而终端使用 Monaco。在两种情况下,字体似乎都适用于框图绘制字符和 ASCII 字符:当我更改字体时,图形的外观也会随之改变。
当我将终端切换到 Courier 或 Courier New 时,它同样能够良好显示框图绘制字符--在某些方面甚至更好!
当我将任一浏览器切换到 Monaco 时,它仍然无法正确显示框图绘制字符,这是由于某些字符显然显示出比等宽字体更宽的宽度。
因此,似乎浏览器正在出现错误。
<pre>
元素的一部分,因此周围的 ASCII 文本(包括截图中可见的部分,“Box drawing alignment tests:”)是等宽字体。 - jsharp