【问题标题】:Embeding a OTF font in Windows Phone在 Windows Phone 中嵌入 OTF 字体
【发布时间】:2014-06-26 05:11:03
【问题描述】:

我需要在 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

我猜是字体的问题。

【问题讨论】:

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


    【解决方案1】:

    如果您将 Build Action 设置为 Content,则不必在项目名称前加上您的项目名称,因此您可以使用:

    /Fonts/BrandonGrotesque-Regular.otf
    

    只是为了让你知道;-)

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

    你可以这样使用它:

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

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

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

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

    【讨论】:

    • 请务必注意,Windows 字体查看器并不总是显示正确的字体。在大多数情况下确实如此,但必须将“真实字体名称”设置为首选系列。我通常使用工具来找到正确的首选家庭。有关如何实现自定义字体的完整描述,您可以查看这篇博文:blendrocks.com/code-blend/2015/01/04/…
    • 正确,很棒的文章,Deani ;)
    • 谢谢...@艺术家和社会
    猜你喜欢
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-21
    • 2015-08-10
    • 2012-12-18
    • 2017-11-24
    相关资源
    最近更新 更多