各种操作系统中Unicode字符的字形覆盖率

时间:2012-02-05 15:44:43

标签: html unicode

创建网页时,并非所有unicode字符始终可用于各种操作系统的默认安装。主要是因为缺少字体或有问题的后备字体系统。

例如,在默认的Windows 7安装中,this presentation在chrome中有许多缺少的字符。

是否有类似caniuse.com的网站用于unicode字体可用性?

(是的,总是可以在文档中嵌入免费字体

<!DOCTYPE html>
<html>
<header>
<style>
@font-face {
  font-family: 'Symbola';
  src: url(
      'https://github.com/laughinghan/mathquill/blob/master/font/Symbola.ttf?raw=true'
      );
}
body {font-family: 'Symbola';}
</style>
</header>
<body>

<h1>&#x263b; &#x26ad; &#x26ae; &#x26af;</h1>

<p>&#x2680; &#x2681; &#x2682; &#x2683;
   &#x2684; &#x2685; &#x2686; &#x2398;</p>

</body>
</html>

但您可能希望自己的网站无需提取870k字体,或者您希望它可以与电子邮件或旧版浏览器一起使用等)

4 个答案:

答案 0 :(得分:1)

我不瘦,有任何caniuse.com类型的网站字符;它将是一个相当大的网站,维持它将是一场噩梦。我很快就加入了我添加到Guide to using special characters in HTML的一小段“我可以使用哪些角色”,但这只是一些提示。

好消息是,现在问题主要是对字符的字体支持,这通常可以通过在CSS中设置合适的font-family列表来处理。浏览器不能总是从字体中获取字符,除非网页作者以这种方式伸出援助之手。

答案 1 :(得分:0)

维基百科使用

.IPA, .Unicode {
    font-family: "Arial Unicode MS","Lucida Sans Unicode";
}

由于您要显示任意Unicode字符,因此使用这些字体是唯一的选择。根据{{​​3}}

的建议,您可能希望包括Lucida Grande以迎合Mac
.IPA, .Unicode {
    font-family: "Arial Unicode MS","Lucida Sans Unicode","Lucida Grande";
}

然后确保您使用的字符存在于这些字体中。你可以找到使用charmap.exe

答案 2 :(得分:0)

  

您希望它能够与电子邮件或旧浏览器等一起使用

这基本上消除了webfonts的使用。

问题当然是您不知道用户系统上安装了哪些字体。即使99%的Windows用户安装了Core fonts,Linux用户也不一定如此。话虽如此,fileformat.info有coverage list for each individual character,但我还没有看到像caniuse.com这样的字体。

答案 3 :(得分:0)

完整的答案是:

font-family:&#34; Arial Unicode MS&#34;,&#34; Lucida Sans Unicode&#34;,&#34; Lucida Grande&#34;,&#34; unifont_upper&#34;,&# 34; unifont的&#34 ;;

我在这里添加了GNU&#34; unifont&#34;,默认情况下出现在所有Linux系统上。此外,&#34; unifont_upper&#34;除了Unicode的基本多语言平面之外还有字形,称为&#34;补充多语言平面&#34;。


GNU unifont的参考文献:

https://savannah.gnu.org/projects/unifont/

https://en.wikipedia.org/wiki/GNU_Unifont