因此,土耳其最近决定为其里拉创建一个新的标志:

Unicode 6.2(2012年9月发布)将其作为U+20BA ₺ TURKISH LIRA SIGN添加到its repertoire中,并且要求我在正在构建的Web应用程序中开始使用它。问题在于,到目前为止还没有人支持(显然Windows 8除外),它没有显示为通常的正方形,问号或十六进制的块,而是其他各种随机的东西。通常可靠的fileformat.info认为它应该看起来像这样:

...这也是我在OS X上得到的。Charbase也弄错了,但有所不同:

实际的问题:是否有任何明智的方法来解决此问题?最大的麻烦在于,应该允许该字符以任意的,用户可编辑的文本形式显示,因此任何基于图像的解决方案都不在话下。

还有理论上的问题:据我所知,U + 20BA从未分配过字符,那么那些怪异的符号从何而来?我在U+20B9 ₹ INDIAN RUPEE SIGN上没有遇到同样的问题,它几乎是新的并且受到严重支持,但至少可以更正常地失败。

最佳答案

目前最好的选择可能是使用Google字体Source Sans Pro。它的latin1子集中包含“土耳其里拉”。所以你可以使用例如

<link rel=stylesheet href=
"http://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,400italic,700italic&amp;subset=latin,latin-ext">
<style>
body { font-family: Source Sans Pro; }
</style>

但是,这意味着您应该考虑使用Source Sans Pro作为整体字体。这有两个原因。假设您声明了font-family: Arial, Source Sans Pro例如。首先,IE 9无法渲染“土耳其里拉”,(实际上并不擅长使用字体)。其次,在使用技术上可以使用字体的浏览器上,诸如“₺50”(以土耳其里拉开头的数字)之类的表达式看起来会很奇怪,因为数字比货币符号高得多。原因是在Source Sans Pro中,TURKISH LIRA被设计为匹配该字体中数字的高度,而在Arial中,数字的高度较小。

或者,您可以使用较大尺寸的TURKISH LIRA图像,并使用img元素将其嵌入,并在height单位中设置em属性以使其缩放至字体大小。大小偏大的原因是图像通常向下缩放很好,但向上缩放不好。在我的Guide to using special characters in HTML中,建议将height: 0.8em用于嵌入作为图像的字符,但是确切的尺寸确定实际上取决于字符和图像的设计以及它与字体中的字符的关系。通常的原则是使“$”,“£”和“€”之类的货币字符与数字占据相同的高度(特别是“衬里数字”或“大写数字”),这是大多数字体默认情况下的高度; Source Sans Pro也具有“旧式图形”,但是需要使用CSS进行选择)。

放眼来看,TURKISH LIRA是Unicode的最新字符,于去年9月添加,从将字符引入Unicode到其字体的普遍可用性,通常花费了大约十年或更长时间。

P.S.这是一个字体问题,而不是浏览器问题,尽管某些浏览器(IE)在从不同字体中拾取字符方面仍然存在困难。

关于html - 土耳其里拉标志的浏览器支持和解决方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14117547/

10-10 04:48