删除bengali diacritics unicode php

时间:2013-09-28 18:45:05

标签: unicode

有没有办法在没有圆圈的情况下打印孟加拉语的元音。我找到了一个链接,说通过连接NBSP来打印元音应该可行。它确实如此,但不适用于辅音之前的元音(例如োেি)。因为我是这个网站的新手,所以无法附加图片。如果有人想要我的问题的直观表示,请让我知道您的电子邮件地址,我会给您发送电子邮件。提前谢谢。

2 个答案:

答案 0 :(得分:2)

确实,您应该在组合标记之前使用不间断空格(NBSP)以在(明显)隔离中显示它;这在第7.9节“Unicode标准中的组合标记chapter 7中指定(该章的名称具有误导性,因为除了处理欧洲脚本之外,它还具有一般信息)。但是,它取决于渲染软件和使用的字体是否具有所需的效果。

在HTML文档中,例如NBSP和U + 09C7 BENGALI VOWEL SIGN E的组合在Chrome中显示为空白。当然,这是一个奇怪的错误。在IE和Firefox上,您通常会使用虚线圆圈进行渲染,这显然是因为浏览器不希望将组合标记应用于来自不同字体的基本字符。如果您使用 ে这样没有样式,那么浏览器通常会从Times New Roman中获取不间断空格,而从另一种字体中获取孟加拉语字符,例如Vrinda。您可以通过将不间断空格的字体设置为与孟加拉语字符相同来解决此问题,例如

<p style="font-family: Vrinda">&nbsp;&#x9c7;
<p style="font-family: Sun-ExtA">&nbsp;&#x9c7;
<p style="font-family: Nirmala UI">&nbsp;&#x9c7;
<p style="font-family: FreeSerif">&nbsp;&#x9c7;
<p style="font-family: Code2000">&nbsp;&#x9c7;
<p style="font-family: Arial Unicode MS">&nbsp;&#x9c7;
<p style="font-family: ALPHA-Demo">&nbsp;&#x9c7;

在实践中,您会使用font-family值作为合适的字体列表。当然,这不适用于没有列出任何字体的计算机。它不适用于Chrome(或Opera中,它显示带有虚线圆圈的符号)。

结论是,除非您使用已知浏览器和字体定位特定受众,否则您应该将这些字符显示为图像。

答案 1 :(得分:0)

如果我正确地理解了这个问题,那就是以任何特定的方式编写孟加拉语字母,与PHP或网络无关。由于孟加拉元音符号与辅音结合,似乎如果你想使用独立的元音符号,你应该使用像U + 0993 BENGALI LETTER O“ও”这样的字符。