【问题标题】:WP7 - Not picking up embedded fontsWP7 - 不拾取嵌入字体
【发布时间】:2013-02-23 20:58:00
【问题描述】:

我一直在尝试在我的 WP7 应用中使用一些自定义字体。

我按照http://www.jeffblankenburg.com/2010/10/24/31-days-of-windows-phone-day-24-embedding-fonts/ 的示例进行了操作,但在我的项目中它根本不会选择自定义字体。 我已经下载了这个示例中的示例项目,这个项目运行正常。

所以,我现在使用了与那里相同的字体,并包含在我的项目中。我已确保文件上的属性相同(构建操作 = '内容' 和复制到输出目录 = "始终")

我在 XAML 中使用的方式完全相同,即

  FontFamily="Fonts/DigitalDream.ttf#Digital Dream" FontSize="24"

但无济于事。自定义字体被忽略。有什么我遗漏的东西,或者一个设置..任何可以让它在一个项目中工作但不能在另一个项目中工作的东西?

我发现如果我的 XAML 页面是在根级别定义的,即直接在项目下,它将起作用,但在我的情况下,我将它放在“视图”文件夹中。

我的理解是 FontFamily="/Fonts/DigitalDream.ttf#Digital Dream" FontSize="24"

应该从项目的根文件夹开始?

  • 谢谢

【问题讨论】:

    标签: windows-phone-7 fonts


    【解决方案1】:

    自定义字体可能有点棘手。有一次我花了几个小时试图嵌入一个 .otf 字体,却发现它似乎不可行。

    不过,您走在正确的轨道上。 .ttf 字体应该是可嵌入的。但是,很难获得正确的路径和文件名组合来使字体正常工作。

    我发现在 XAML 中处理其中一些更困难的“魔术字符串”类型情况的最简单方法是让 Expression Blend 完成繁重的工作。

    这里有一个blog post,关于使用 Blend 嵌入字体。使用 Blend 的好处是它给你一些视觉指示,表明事情设置正确——即您可以在字体选择菜单中看到您想要的字体。这就是最终让我了解 .otf 问题的原因。我在 Blend 中看不到字体。

    下面是我在我的一个应用中使用的自定义字体示例:

    <TextBlock Name="MyTextblock"
       FontFamily="/MyAppName;component/fonts/Fonts.zip#Segoe UI Mono">
    

    那是FontFamily URI 很难正确。我很确定这是你的问题。

    【讨论】:

    • 是的 - 谢谢 - 我相信你在正确的轨道上.. 我已经更新了查询。问题是我应该使用什么路径。根据我所阅读的内容,我尝试了多种组合......但没有任何乐趣。
    • 你试过/MyAppName;component/前缀吗?这应该带你到根目录。顺便说一句,注意到它在根级别的页面中有效。
    • 如果您可以在示例应用程序中重现该问题,我很乐意查看它。此外,请检查以确保 MyAppName 值与您的应用程序的程序集名称匹配。这可能与项目名称相同,但如果您重命名它,它们可能不匹配。
    • 我认为答案在这里 msdn.microsoft.com/en-us/library/cc296240%28v=vs.95%29.aspx 但我就是无法让它工作
    • 那将不胜感激。我如何为您提供示例应用程序? - 谢谢
    【解决方案2】:

    我实际上遇到了同样的问题。我将所有内容都跟踪到了点,但仍然无法嵌入一种特定的字体。所以我创建了一个新项目并尝试在那里嵌入字体。仍然没有运气。然后我尝试嵌入一些其他字体。你瞧,只要我输入 FontFamily 属性,我就可以看到它已经嵌入了。这特别奇怪,因为我不必更改字体的任何属性。

    我在 Blend 中打开项目,然后点击右侧的字体属性框。花了几秒钟,然后它嵌入了我最初遇到问题的字体。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-26
      • 2019-10-07
      • 2014-05-23
      • 1970-01-01
      • 2011-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多