WPF:条形码字体错误?

WPF : Barcode font bug?

情况

-我在我的 WPF 应用程序中创建了一个文件夹 "Fonts",并添加了 5 种字体,如您所见。

-然后我在我的资源中添加了字体。

XAML(我试过写 pack:app,.. 但没用)

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

  <FontFamily x:Key="Default">/Design/Fonts/#arial</FontFamily>
  <FontFamily x:Key="Rounded">/Design/Fonts/#BUNGASAI</FontFamily>
  <FontFamily x:Key="BarcodeCode39">/Design/Fonts/#Code39r</FontFamily>
  <FontFamily x:Key="Barcode3of9X">/Design/Fonts/#FRE3OF9X</FontFamily>
  <FontFamily x:Key="Barcode3of9">/Design/Fonts/#FREE3OF9</FontFamily>

</ResourceDictionary>

问题

问题是它非常适合 Arial 和 Bungasai 或其他普通字体,但每当我尝试使用这些 "barcode" 字体时,它就会显示 arial 字体。

可能有相关信息

这就是我在

中使用字体的方式

XAML

无效:

<TextBlock Name="BarcodeContent"
           FontFamily="{StaticResource BarcodeCode39}"/>

完美运行:

<TextBlock Name="BarcodeContent"
           FontFamily="{StaticResource Rounded}"/>

当使用 ttf 文件时,您使用的字体名称(# 之后)就是字体名称。可以,但不一定与文件名相同。

例如

我们的游戏使用了一些自定义的维多利亚风格字体。其中之一是 ephinol.ttf.

如果我在文件资源管理器中右键单击 ephinol.ttf 文件并选择预览,我会看到一个字体对话框,其中包含不同大小的字体示例。

顶部是字体的全名。

这是 Ephinol WF。

因此我会使用#Ephinol WF 而不是#Ephinol

但是,我不会那样做。

我现在做的是安装字体文件。然后我不需要使用包符号来使用字体。我这样做是为了保证没有内存泄漏。

否则我想使用完整的文件路径或另一轮工作(参见 link)。

这是一个很小的内存泄漏,但它是每次使用。

https://github.com/MaterialDesignInXAML/MaterialDesignInXamlToolkit/issues/746