2

我有一个本地化的 WPF 应用程序,我需要为每个语言环境嵌入一个字体。我在我的项目中添加了一个字体,它的 Build Action 设置为 Resource。如果我<UICulture>en-US</UICulture>从 .csproj 中删除 (这消除了附属程序集的创建),则字体将作为资源编译到项目程序集中。然后我可以通过以下方式添加字体:

<Button Content="My Button" FontFamily="Fonts/#Frutiger LT 87 ExtraBlackCn" />

这完美地工作。如果我将 en-US 添加回我的 .csproj 字体会被添加到本地化的卫星程序集中。但

<Button x:Uid="Button1" Content="My Button" FontFamily="Fonts/#Frutiger LT 87 ExtraBlackCn" />

不再工作。

我应该如何引用本地化字体?

4

1 回答 1

1

虽然这不能直接回答您的问题,但WPF 全球化和本地化概述上的 MSDN 页面似乎建议您:

创建自定义复合字体以获得更好地控制用于不同语言的字体。

这个想法是您使用单一的“复合”字体,其中包含您可能想要使用的所有语言的字体。有关复合字体(包括示例)的更多信息,请参阅 MSDN 上的FontFamily 文档

于 2011-01-04T09:16:14.827 回答