Utf 8 使用不支持字体的阿拉伯文-英文音译

Utf 8 使用不支持字体的阿拉伯文-英文音译,utf-8,fonts,character-encoding,nlp,arabic,Utf 8,Fonts,Character Encoding,Nlp,Arabic,我正在研究Ar和En文本的语言音译 以下是显示逐字符替换的链接: 现在的问题是: 我正在处理字体样式robert_bold.ttf和robert_regular\u 0.ttf,它有一些典型的字符,如本快照中的下划线和上划线 我有.ttf文件,所以我可以在我的系统上看到这些字体。但是在我的应用程序中或者在上面的音译中,xml字符被认为是垃圾,比如[,}[等等 如何在translation.xml文件中添加对此不受支持字符的支持 <pair> <search>ي<

我正在研究Ar和En文本的语言音译

以下是显示逐字符替换的链接:

现在的问题是:

我正在处理字体样式
robert_bold.ttf
robert_regular\u 0.ttf
,它有一些典型的字符,如本快照中的下划线和上划线

我有.ttf文件,所以我可以在我的系统上看到这些字体。但是在我的应用程序中或者在上面的
音译中,xml
字符被认为是垃圾,比如
[,}[
等等

如何在
translation.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>

ي
Y
ى
A.
أ
^//这里是一个字符s(不支持带下划线)

字体似乎不是Unicode编码的,而是在一些任意指定的代码中包含带下划线的字母。虽然这在一定程度上是可行的,但它在应用程序中不起作用。它仅在使用特定字体时才起作用

正确的方法是使用正确的Unicode字符,如U+1E0F拉丁文小写字母D,下线为“ḏ” 对于渲染,请尝试查找


另一种方法是只使用带有一些标记的基本拉丁字母,例如
d
。这意味着在以后的处理中,文本不能被视为纯文本,在呈现时,标记应被解释为请求在字母下添加一行.

谢谢,亲爱的。但我工作的系统给了我字体。它不在您提供的链接列表中。我将处理的文本将仅使用该“字体”。我甚至可以发送给您该字体。我仍然想知道如何阅读此内容。如果您可以并且必须使用一种使用特殊编码的特殊字体,您需要识别使用这种编码,例如测试其中的不同字符集或使用字体检查器。但听起来并非生产链中的所有软件都能处理字体。您写道:“在我的应用程序中,[…]字符被视为垃圾[,}[”。为什么它们是垃圾?看起来它们是您在字符级别上得到的;您的字体应该将它们呈现为完全不同的东西。那么它们在什么意义上是“垃圾”呢?它们在我的应用程序中不可用,所以它们显示为垃圾字符。@cyclic,“垃圾”不是描述。屏幕截图可能会有所帮助。但最重要的是,您需要以可复制的方式描述问题。您是如何编写应用程序来呈现XML文件的?它是否使用您提到的特殊字体?是的,它使用我提到的特殊字体。目前,它使用
特殊字符(如{< /代码>)在执行音译时将其视为英语中的相应字符。