在HTML输入类型文本中显示高棉文字符(带元音)

时间:2014-04-25 10:59:31

标签: html css unicode southeast-asian-languages

对于高棉语中的单词cambodian,它是កម្ពុជា。高棉语中的这个词高于普通的ASCII字符,因为第二个字符底部的两个元音组合。

在IE(版本8 - 11)和Mozilla Firefox(版本28)中,元音未完全显示在输入类型文本中。但在Google Chrome(第34版)中,会显示元音。

我在JsFiddle有一个测试页。

我在浏览器中设置的高棉字体是高棉OS系统字体。

我能想到的唯一解决方案是增加输入类型文本的高度,例如input[type='text'] { height: 25px; }。但是在IE 9中,尽管高度较高,但除非在其旁边键入空格,否则元音仍然不会显示。

我是否可以使用JavaScript或CSS黑客让IE和FIrefox显示谷歌浏览器的元音方式?

1 个答案:

答案 0 :(得分:1)

问题可能取决于字体,字体大小和渲染引擎。您可以做的是设置input { font-size: 100% },它会覆盖浏览器中的常见默认值 - 它们使用input元素的字体大小减少约10%。这个规则单独修复了在Windows 7中测试Firefox时的问题(否则会出现问题中描述的问题)。

在IE 11上,问题显得更加严重:高棉字符真的不可读(约1毫米高),字体大小设置没有多大帮助。原因似乎是IE使用不同的字体。添加input { font-family: Khmer UI }修复此问题。但这当然取决于系统中是否存在合适的字体。您的里程会有所不同,但是将字体大小设置为100%并将字体系列设置为合适的字体(与普通文本一样,如果工作正常),input元素可能会在本地修复问题。

在网页上,情况要复杂得多。高棉字符在字体中很少见 - 很可能是用户的系统没有支持它们的字体。 (根据Fileformat.info data,只有两种字体有高棉字符:Code2000和GNU unifont。还有一些,但它们很可能是用户需要下载和安装的字体,而不是OS附带的任何字体。)因此,似乎唯一可行的方法是使用可下载的字体,例如Google font Khmer。根据Google的说明进行部署,并将其设置为普通文本中的高棉语内容和input(并将大小设置为100%)。