我需要决定是否在Web GUI中渲染几何符号(例如按钮,菜单等的箭头和三角形)作为Unicode符号(更容易和颜色无关)或GIF / PNG文件(我想要很多麻烦)避免).
但是,我看到客户端甚至无法显示声称为unicode字符的高级标点符号(Example).
有谁知道OSs / Service Packs / Applications上的哪个版本附带Unicode版本的标准字体?例如,微软的Arial unicode自1999年开始随Office一起提供,但是我没有安装办公室,但我的Arial至少还有一些Unicode范围.
另外,Mac OS和Linux的情况如何?
有人可以指点我这方面的一些综合资源 – 报告,清单,概述吗?
解决方法
实际上并不是字体(*)的“Unicode版本”. “Arial Unicode”是一个误导性的名称:它与普通的“Arial”没有实质性的区别,它只有一些字符.它到目前为止定义的成千上万个字符中的每一个字符都不包含可用的字形,实际上没有一个OS标准字体可用.
重要的问题仅仅是您想要使用的字符是否具有常用部署操作系统的默认字体中的字形.您需要查看您希望单独使用的特定字符的字体支持.
您提到的角色U 0360 Combining Double Tilde并不是真正的“高级标点符号”,它是一种奇怪的,很少用于语音工作的变音符号.因此,对它的字体支持很差并不奇怪.另一方面,Stack Overflow可以使用U 25CF Black Circle(●),因为有很多字体.几何形状块中的一些其他字符,例如U 25B2 Black Up-pointing Triangle(▲)也很常见.
fileformat.info有一个支持每个字符的常用字体列表,因此您可以在那里查看符号的广泛支持程度,以及您识别的默认操作系统字体是否存在,然后再将其用作替换符号.图片.例如U+25CF有很多字体,但U+0360不是很好支持:没有默认的Windows安装字体,而’Libertine’字体使它严重错误.
(*:好的,有一种像Unicode字体这样的东西,因为字体的内部字符查找表可以用Unicode或其他字符集命名.但是这没有实际的区别,因为应用程序总是会解决它作为Unicode;操作系统将透明地进行查找转换.)