在Windows Phone中嵌入OTF字体

时间:2014-05-08 16:57:30

标签: c# xaml windows-phone-8 fonts

我需要在Windows Phone 8应用程序中使用OTF字体。我在http://blendrocks.com/otf-and-ttf-fonts-in-windows-phone-and-store-apps/找到了一篇关于如何做到这一点的文章。我跟着文章,但它奇怪地不适用于我的字体,但适用于其他字体。

字体文件是一个资源,我就像这样使用

<TextBlock Text="BRANDON GROTESQUE" Margin="9,-7,0,0" FontFamily="/FontProblem;component/Fonts/BrandonGrotesque-Regular.otf#BrandonGrotesque-Regular" FontSize="36"/>

我也尝试将其转换为TTF并根据http://nicksnettravels.builttoroam.com/post/2013/06/22/TTF-Font-with-Windows-Phone-8.aspx进行嵌入,但没有运气。

以下是重现问题的完整解决方案:https://dl.dropboxusercontent.com/u/73642/FontProblem.zip

我猜字体是问题。

1 个答案:

答案 0 :(得分:3)

如果您将构建操作设置为内容,则无需添加项目名称,因此您可以使用:

/Fonts/BrandonGrotesque-Regular.otf

只是为了让你知道; - )

回到你的问题:
#之后的文本必须是真实的字体名称(不是文件系统中的名称)。您可以通过在Windows资源管理器中打开字体(使用Windows字体查看器)来找到此名称。
它将显示&#34; Brandon Grotesque Regular&#34;。如果字体权重已指定,则字体查看器会附加字体权重,但您必须省略它。
所以你的字体名称是 Brandon Grotesque

你可以像这样使用它:

<TextBlock FontFamily="/FontProblem;component/Fonts/BrandonGrotesque-Regular.otf#Brandon Grotesque" />

或者将构建操作设置为内容:

<TextBlock FontFamily="/Fonts/BrandonGrotesque-Regular.otf#Brandon Grotesque" />

使用您附带的解决方案进行测试