2009-11-22 68 views
7

我需要决定是否将网页GUI中的几何符号(例如箭头和三角形用于按钮,菜单等)呈现为Unicode符号(更简单且与颜色无关)或GIF/PNG文件(很多麻烦,我想避免)。Web标准字体中的Unicode支持

但是,我看到客户无法显示声明为Unicode字符的高级标点符号(Example)。

有没有人知道从哪个版本开始,操作系统/服务包/应用程序附带Unicode版本的标准字体?例如,自1999年以来,Microsoft的Arial unicode随Office一起提供,但是我没有安装办公软件,而且我的Arial至少还有一些Unicode范围。

另外,Mac OS和Linux的情况如何?

有人能指点我一些综合资源 - 报告,列表,概述吗?

+0

您可以使用例如。 http://www.fileformat.info/info/unicode/block/geometric_shapes/utf8test.htm – bzlm 2009-11-22 12:12:45

回答

10

字体(*)的“Unicode版本”并不是真的如此。 “Arial Unicode”是一个误导性的名称:它与普通的“Arial”没有本质区别,它只是有更多的字符。它对于到目前为止定义的成千上万个字符中的每一个字符都不包含可用的字形,而且实际上没有一个OS标准字体可以使用。

重要的问题仅仅是您要使用的字符是否具有通常部署的操作系统的默认字体中的字形。您需要查看您希望单独使用的特定字符的字体支持。

你提到的U + 0360 Combining Double Tilde字符并不是真正的'高级标点符号',它是一个用于语音工作的好奇且很少使用的变音符号。所以对它的字体支持很差并不奇怪。另一方面,Stack Overflow可以避免使用U + 25CF黑色圆圈(●),因为很多字体都有。 Geometric Shapes块中的一些其他字符,例如U + 25B2 Black Up-pointing Triangle(▲)也很常见。

fileformat.info有一个支持每个字符的常用字体列表,因此您可以在此处检查以了解符号的广泛支持情况以及您识别的默认OS字体是否存在,然后将其用作替代图像。例如,U+25CF有很多字体,但U+0360没有得到很好的支持:没有默认的Windows安装字体,而'Libertine'字体则显示错误。

(*:OK,有一种类似于Unicode字体的东西,因为字体的内部字符查找表可能以Unicode或其他字符集命名,但这并没有实际区别,因为应用程序将始终将其作为Unicode编址;操作系统会在查找时透明地进行转换。)

+1

*“Arial Unicode”是一个误导性的名称:它与普通的“Arial”没有本质区别,它只是有更多的字符。* - 它没有脚本渲染支持,它为大多数脚本提供了字形,没有字距支持并且自从Unicode 2以来没有更新过。它也是Office字体,因此实际上不包含在Windows中。 – Joey 2010-09-21 16:01:52

+0

同意,这是一个非常糟糕的字体,应该真的消失。 – bobince 2010-09-21 16:12:53

1

一些随机观察:

  • 在OS X中的Unicode支持是完美的,至少对你的需求。
  • 在Windows上,情况似乎取决于浏览器。我没有使用许多神秘的角色,但我做的很少(主要是标点符号)在Firefox中显示得很好。像往常一样,唯一的问题是在Internet Explorer中。
  • 如果你对你的客户有一些控制权,你可以分发一些good free fonts
  • 即使web fonts也可以工作。
  • Unicode字符的一个缺点是它们通常非常难看。过大,过小,有错位置等
+0

“Unicode字符的一个缺点是它们通常很难看” - 这里“Unicode字符”是什么意思?你指的是晦涩/神秘的角色,符号,象形文字等吗? – bzlm 2009-11-22 12:16:12

+0

对不起,是的。例如圆圈数字(➊➋),形状(▲•☐)或箭头(→⇒➜)。在某些字体中,这些字符的重量,高度和其他参数不一致。 – zoul 2009-11-22 14:02:33

+1

这种情况经常发生,因为浏览器在不同的字体之间切换,找到一个包含您之后特定字符的字体。 – bobince 2009-11-22 14:32:28

2
+0

不要忘记,字体本身的支持是不够的。渲染引擎也必须有支持。我同意合并角色不是一个好的测试案例。 – bzlm 2009-11-22 12:14:46