【问题标题】:Unicode symbols and OS/browser font supportUnicode 符号和操作系统/浏览器字体支持
【发布时间】:2020-06-18 17:44:09
【问题描述】:

有很多美妙的 unicode 符号。这太棒了。

但如果我不知道我的用户的字体是否支持它们,它们都是无用的。

我怎样才能找到它?

我可以跟踪用户的字体是否支持 unicode 符号?

有什么方法可以进行某种回退? (如果不支持此 unicode 符号,则显示此其他 unicode 符号。)

是否有任何操作系统/浏览器支持参考资料? (到目前为止,我已经广泛搜索了此类参考资料,但没有任何运气。)

您决定是否使用 unicode 符号的策略是什么?

我很想使用更多这些可爱的 unicode 符号。

===编辑===

例如:我想在 https://github.com/reframejs/reframe 的项目描述中使用 unicode “U+2605 ★ BLACK STAR”。我怎么知道这个 unicode 符号是否会正确显示?

【问题讨论】:

  • 请给出您想使用它的任何情况。提出您想要回答的真实问题。我们无法决定您真正想要什么。
  • @androbin 我想在github.com/reframejs/reframe 的项目描述中使用 unicode “U+2605 ★ BLACK STAR”。我怎么知道有多少用户支持这个 unicode 符号?
  • @phuclv 感谢您的链接。 “将字符和丢失的字形框渲染到屏幕外并比较它们的宽度”的答案非常有趣。如果有人会在所有操作系统/浏览器上运行此测试并提供兼容性表,那就太棒了..
  • 相关:How to check if the font has a symbol如果主要字体缺少字符的字形,则行为正确的浏览器会从辅助字体中提取字形(8 年前所以现在 任何字形都应该从 Unicode BMP 呈现)...

标签: unicode browser-support


【解决方案1】:

如果有人会在所有操作系统/浏览器上运行此测试并提供兼容性表,那就太棒了..

只要用户安装了包含该字符的字体,现代浏览器几乎可以显示任何字符。所以你的问题归结为:

每个主要操作系统都捆绑了哪些字体,这些字体支持哪些字符?

嗯,我已经创建了一个工具,可以准确地呈现这些信息。

这可能有点矫枉过正,因为很容易将 @font-face 包含 FontAwesome、IonIcons 或您知道包含所需字符的类似字体或符号集。如果您只谈论几个符号,您甚至可以下载并包含单个 SVG。

但是,如果您想为自己节省外部依赖和网络请求,同时又从简单的纯文本 CSS 样式中受益,那么这就是您的解决方案!

如果您想使用 广泛支持的字符,我会附上您可以在 <link>@font-face 嵌入的免费 G​​oogle Noto 字体的名称。还有一个浏览器可以一次查看整个 Unicode 块。

不管怎样,看看Unicompat.com,看看它是否是你要找的。它还处于测试阶段,如果有任何问题请见谅。

【讨论】:

  • 哇,我喜欢它。感谢您提供这个美妙的工具。你应该把它放在 GitHub 上以确保它永远存在!
  • 现在在 Github 上供任何感兴趣的人使用。整个数据库没有发布,因为它 > 250MB,但我用来创建它的脚本包括在内。 github.com/gelbartj/unicompat-public
猜你喜欢
  • 2011-05-11
  • 1970-01-01
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
相关资源
最近更新 更多