Unicode字符特定的CSS——一个思考

8
作为母语为孟加拉语的作者,我们依赖于Unicode孟加拉字符。正如我们所知,Unicode是ASCII的扩展版本,所有ASCII字符仍然被保留在Unicode中。其他世界字形随后被添加进去。现在,在孟加拉语和其他语言(可以是中文、希伯来语、日语或爪哇语)的关注下,我们在Unicode上有字形。
但是,在孟加拉语方面,对于英文字母而言,font-size: 100%不足以容纳孟加拉字符。因为每个格子内的字形位置。以下图像可以理解:
当英文字母大部分适合于一个格子时,由于其他支持元音符号字形的缘故,孟加拉字符被缩小以适应该格内。
因此,虽然我们将body{font-size: 100%}放置,对于英文字母很好,但使用相同的CSS显示孟加拉字体会更小。
解决方案,现在 目前,我们如何解决这个问题,是选择一种既有好的英文又有好的孟加拉字形的字体,即“Siyam Rupali”。这样,它就能稍微解决这个问题。
新想法 但我正在思考一些新的想法: »为什么不针对Unicode字形,仅为它们放置一些特定的CSS呢?
假设Unicode序列号#0048 4614 5784 4578表示第一个孟加拉字符,#0048 4614 5784 9999表示最后一个。因此,如果我们可以像这样制作一些CSS:
Unicode[glyph="0048461457844578" - "0048461457849999"]{
   font-size: 150%;
}

我知道CSS中没有类似上面的内容。但是,我们是否有办法针对特定的字形施加不同的CSS样式呢?

如果有方法的话,那么许多孟加拉Unicode用户将受益,特别是在线孟加拉报纸中需要这样的微调来实现动态控制的大部分内容。


4
请为 <span class="bangla">.....</span> 应用相应的 CSS 样式。如果 Bānglā 更普遍,请针对它进行样式设置,并根据需要使用 <span class="latin">abc</span> - Niet the Dark Absol
@NiettheDarkAbsol 如果这些文本来自所见即所得编辑器,而我的前端<div>只是一次性地将它们全部保存在一起,那么我该如何定位特定的内容部分以加载<span>来容纳该部分呢? - Mayeenul Islam
1
@NiettheDarkAbsol:使用lang属性在语义上更有意义 - 并且足以在现代浏览器中通过CSS定位元素,因此可以省略类。 - CBroe
1个回答

10

这完全是字体的问题。如果选择一个平衡的字体,其中字形大小以一种混合语言文本看起来好看的方式进行调整,就没有真正的问题。在此方面,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,也就是孟加拉块。明智地选择一些字体,您可以在现代浏览器中创建一个平衡的外观。


1
非常感谢。这似乎是解决这个问题的好方法。有了你的提示/完整答案,我找到了这篇文章,它描述得很好。再次感谢。 - Mayeenul Islam

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接