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

sim*_*imo 7 .net wpf fonts font-family

我尝试在我的WPF应用程序中安装和使用字体,但我得到的是这样的: 在此输入图像描述

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

richtext1.FontFamily = "SH_Roq'a";
Run Code Online (Sandbox Code Playgroud)

预期的结果是:(从MS Word快照) 在此输入图像描述

如果我尝试将字体文件添加到项目文件夹,并将其用作资源,如下所示:

richtext1.FontFamily = "./#SH_Roq'a";
Run Code Online (Sandbox Code Playgroud)

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

在此输入图像描述

这不是目标字体,请在下载目标字体文件进行实验

任何帮助表示赞赏!

编辑

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

???? ????
Run Code Online (Sandbox Code Playgroud)

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

dja*_*ude 3

字体有几个问题:

  1. 它不是 Unicode 编码的:它使用平台 ID 3、编码 ID 0 cmap 子表,也称为“符号”表。这些通常不能在旧式 Windows 桌面应用程序之外正常工作。

  2. 没有 OpenType 布局功能(GSUB、GPOS 等),而这些功能对于阿拉伯语/乌尔都语/波斯语书写的正确形状(词首、词尾、独立形式;lam-alef 连字等)至关重要。

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

我不再看那里了。这种字体似乎是用非常古老的工具和过时的字体构建知识构建的。它需要进行重大更新才能在现代环境中正常工作。