为什么我得到正方形而不是文字?

时间:2012-06-12 14:27:20

标签: .net wpf fonts font-family

我尝试在我的WPF应用程序中安装和使用字体,但我得到的是这样的: enter image description here

以下是我尝试使用该字体的代码:

richtext1.FontFamily = "SH_Roq'a";

预期结果是:(从MS Word快照) enter image description here

如果我尝试将字体文件添加到项目文件夹中,并将其用作资源,请执行以下操作:

richtext1.FontFamily = "./#SH_Roq'a";

我不会得到方形结果,但是,我也没有预期的字体!我得到的是Tahoma字体:

enter image description here

这不是目标字体,请下载实验的目标字体文件here

感谢任何帮助!

修改

以上捕获文本的纯文本是:

تفاح احمر

因此对于那些使用字体的专家来说,他们可以进行实验。

1 个答案:

答案 0 :(得分:2)

字体有几个问题:

  1. 它不是Unicode编码的:它使用平台ID 3,编码ID 0 cmap子表,也称为"符号"表。这些通常不适用于旧式Windows桌面应用程序。

  2. 没有OpenType布局功能(GSUB,GPOS等),这些功能对于阿拉伯语/乌尔都语/波斯语的正确整形(初始,中间,最终,隔离形式; lam-alef连字等)至关重要写入。

  3. 它使用非常非常旧的OS / 2表(版本0)。某些Microsoft技术至少需要版本1。此表的fsSelection字段中还设置了保留位以及许多其他可疑设置。

  4. 我停止了那里。这个字体似乎是使用非常古老的工具构建的,使用过时的字体构造知识。它需要进行重大更新才能在现代环境中正常工作。