我正致力于Ar和En文本的语音音译。
以下是按字符替换显示字符的链接:https://github.com/Shnoulle/Ar-PHP/blob/master/Arabic/data/Transliteration.xml
现在的问题是:
我正在处理字体样式robert_bold.ttf
和robert_regular_0.ttf
,其中包含underline
和overline
的一些典型字符,如此快照
我有.ttf文件,所以我可以在我的系统上看到这些字体。但是在我的应用程序中或上面Transliteration.xml
个字符被视为垃圾邮件,如[, } [
等。
如何在Transliteration.xml
文件中添加对此不受支持的字符的支持?
<pair>
<search>ي</search>
<replace>y</replace>
</pair>
<pair>
<search>ى</search>
<replace>a</replace>
</pair>
<pair>
<search>أ</search>
<replace>^</replace> // Here is one of the character s_ (s with underscore not supported)
</pair>
答案 0 :(得分:0)
字体似乎不是Unicode编码的,但在某些任意分配的代码中包含带下划线的字母。虽然这在某种程度上起作用,但它当然不适用于各种应用程序。它仅在使用该特定字体时才有效。
正确的方法是使用正确的Unicode 字符,例如U + 1E0F LATIN SMALL LETTER D WITH LINE BELOW“ḏ”,并且,为了渲染,尝试查找fonts containing it。
另一种方法是使用带有一些标记的基本拉丁字母,比如<u>d</u>
。这意味着在以后的处理中不得将文本视为纯文本,并且在渲染中,标记应被解释为请求字母下的一行。