Html 为什么有些浏览器使用错误的字体呈现这个unicode字符,显然是随机的?

Html 为什么有些浏览器使用错误的字体呈现这个unicode字符,显然是随机的?,html,web,browser,fonts,Html,Web,Browser,Fonts,我正在开发一个需要使用unicode符号“S with caron”(0x161)的网站。该网站使用免费的Palanquin字体,它确实支持这个字符-但是,一些机器错误地用不同的字体呈现这个特定的字符。例如: 请注意,在错误的示例中,其他字符使用的是正确的字体,即使是包含异常变音符号的字符。重要的是,关于哪些机器受到影响没有明显的模式。通过使用browsershots.org,我在Windows和Linux的Chrome、Firefox、IE和Edge上都看到了这个问题,但我也看到了所有这些浏

我正在开发一个需要使用unicode符号“S with caron”(0x161)的网站。该网站使用免费的Palanquin字体,它确实支持这个字符-但是,一些机器错误地用不同的字体呈现这个特定的字符。例如:

请注意,在错误的示例中,其他字符使用的是正确的字体,即使是包含异常变音符号的字符。重要的是,关于哪些机器受到影响没有明显的模式。通过使用browsershots.org,我在Windows和Linux的Chrome、Firefox、IE和Edge上都看到了这个问题,但我也看到了所有这些浏览器上的正确呈现。我还看到在使用同一浏览器的同一版本的机器上出现了不同的结果

我曾尝试将字符直接粘贴到HTML中,并使用转义码
&scaron,两者都会导致相同的问题

  • 有人知道是什么导致了这个问题吗
  • 如果无法纠正问题,是否有合适的解决方法

如果您的webfont中没有可用的字符,浏览器将查看堆栈上的其他字体,并从中选择一种。您没有发布CSS,但说它看起来像这样:

字体系列:帕兰琴、arial、无衬线

对于“š”,浏览器将首先尝试Arial。如果存在Arial,并且包含š-字符,则会将其呈现为Arial。如果操作系统没有安装Arial(如Linux或Android),它将继续使用通用的
无衬线字体

这就是东西变得不可靠的地方:现在由浏览器使用它认为可用的任何字体。OSX上的Chrome很可能使用与Windows10上的Chrome不同的字体。对于每个操作系统上的每个浏览器版本,这可能有所不同。浏览器甚至会为不同的语言使用不同的通用
sans serif
回退:如果
lang
属性设置为English,它可能会使用与语言设置为Polish时不同的字体


其中一些字体会有更胖、更小、更薄、更宽的字母版本。这就是为什么在第一个屏幕截图中,它看起来与Palankin非常接近,但在第二个屏幕截图中,回退字体与Palankin根本不匹配。

谢谢您的回答-但是我的问题是,为什么字体确实包含所讨论的字符,并且在许多浏览器上都正确显示时会出现这种情况?