【问题标题】:Custom font in WPF application only works in design mode but not in the buildWPF 应用程序中的自定义字体仅适用于设计模式,但不适用于构建
【发布时间】:2013-07-17 05:24:42
【问题描述】:

最近在我的 WPF 应用程序中使用自定义字体时遇到问题。我使用Packaging Fonts with Applications 中描述的方法在我的项目中添加了自定义字体。它在设计模式下工作正常,但是当我运行应用程序时,它不起作用,似乎改用默认字体。查找原因:

  • 我从网上下载了一个免费字体,并用同样的方法来引用它。它在这两种情况下都非常有效。

  • 我创建了一个新的 WPF 项目,并在这个新项目中添加了自定义字体。它出乎意料地奏效了。我比较了新项目和我的问题项目,不同之处在于我在旧项目中使用.Net 3.5,而在新项目中使用.Net 4.0。在我将旧项目更改为使用 .Net 4.0 后,问题就解决了。但是我的旧项目中不允许.Net 4.0,所以我想找到一个基于.Net 3.5的解决方案。

  • 顺便说一句。我尝试将字体文件构建为内容和资源。另外,我尝试使用绝对和相关路径。它没有用。

期待您的帮助。非常感谢。

问候, 宇鹏

【问题讨论】:

  • 你至少应该分享你引用字体的示例行,这里有太多东西来猜测你做错了什么。

标签: wpf fonts


【解决方案1】:

我发现名称中包含Medium/Light或其他字体关键字的字体家族会出现上述问题。当我使用代码加载字体文件时,加载的字体系列名称与字体文件中显示的不同。所以我假设加载时会自动删除字体名称中的关键字。

为了解决这个问题,我重新编码了名称(由代码加载)并使用它们来引用我的自定义字体系列。它在构建中运行良好,但现在在设计模式下运行。评论/取消评论将有助于切换。

我觉得最简单的方法应该是通过去掉关键词来更改字体族名,但是我没有权限,也没试过。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2012-10-30
    • 1970-01-01
    相关资源
    最近更新 更多