Unicode特定于字符的CSS - 一种思想

时间:2013-10-19 09:57:00

标签: css unicode

作为本土的Bānglā(语言:孟加拉语)作家,我们可以信赖UnicodeBānglā字符。众所周知,Unicode是ASCII的扩展版本,所有ASCII字符仍然保留在Unicode中。然后添加了世界其他的字形。现在有了Bānglā和其他语言的关注(它可以是中文,希伯来文,日文或爪哇文),我们在Unicode上有字形。

但是在Bānglā的关注中,英语字符font-size: 100%对于Bānglā字符是不够的。由于每个网格内的字形位置。通过以下图像可以理解这一点:

Bānglā and English glyphs in grid

虽然英文字符很大程度上适合网格,但由于其他支持元音符号字形,Bānglā字符会缩小以适应内部。

因此,虽然我们把body{font-size: 100%}放在英文字形上很好,但是用同样的CSS显示Bānglā字体较小。

解决方案,现在
目前,我们如何为此做出解决方案,就是选择一个既有英语又有Bānglā字形的漂亮字体,即“Siyam Rupali”。所以,它解决了这个问题。

新思想

但我的想法有点新:
»为什么我们不针对Unicode字形,只为那些人设置一些特定的CSS?

假设 Unicode序列号#0048 4614 5784 4578代表第一个Bānglā字符,#0048 4614 5784 9999代表最后一个字符。所以,如果我们可以做一些像:

Unicode[glyph="0048461457844578" - "0048461457849999"]{
   font-size: 150%;
}

我知道CSS中没有上述内容。但是,有没有办法可以针对特定字形设置不同的CSS样式到'em?

如果有办法,那么许多BānglāUnicode用户将受益,特别是在线Bānglā报纸的很大一部分需要对内容进行调整以实现动态控制。

1 个答案:

答案 0 :(得分:7)

这完全是字体问题。如果你选择一个平衡良好的字体,其中字形大小的调整方式使混合语言文本看起来很好,那就没有真正的问题。 CSS可以为您提供帮助,只要您可以使用@font-face指定某些字符的自定义字体:

@font-face {
  font-family:   'bangla';
  src:           url('http://example.com/mybangla.ttf');
  unicode-range: U+0980-09FF;
}

这种虚构的“bangla”字体现在仅适用于Unicode范围U + 0980 - U + 09FF,这是孟加拉语块。明智地选择一些字体,您可以在现代浏览器中创建一个平衡的外观。