2010-07-26 60 views
2

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

<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" /> 

不再有效。

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

回答

1

尽管这并不直接回答你的问题,在WPF Globalization and Localization Overview的MSDN页面似乎建议您:

创建一个定制的复合字体,以获得用于不同语言字体的更好的控制。

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