我一直在尝试在WP7应用程序中使用一些自定义字体。
我按照http://www.jeffblankenburg.com/2010/10/24/31-days-of-windows-phone-day-24-embedding-fonts/按照示例进行操作,但在我的项目中,它根本不会选择自定义字体。 我已经在这个例子中下载了示例项目,这个工作正常。
所以,我现在使用了那里使用的相同字体,并包含在我的项目中。我已确保文件上的属性相同(Build Action ='Content'和Copy To Output Directory =“Always”)
我在XAML中使用的方式完全相同,即
FontFamily="Fonts/DigitalDream.ttf#Digital Dream" FontSize="24"
但无济于事。自定义字体只是被忽略。有什么东西我缺少,或设置..任何允许这在一个项目中工作,但不是另一个项目?
我发现如果我的XAML页面是在根级别定义的,即在项目的正下方,它会起作用,但在我的情况下,我将它放在'Views'文件夹中。
我的理解是这样的 FontFamily =“/ Fonts / DigitalDream.ttf #Digital Dream”FontSize =“24”
应该从项目的根文件夹开始吗?
答案 0 :(得分:4)
自定义字体可能有点棘手。我曾经花了几个小时试图嵌入一个.otf字体,却发现它似乎并不可行。
但是,你走在正确的轨道上。 .ttf字体应该是可嵌入的。但是,很难获得正确的路径和文件名组合来使字体工作。我发现在XAML中处理这些更困难的“魔术字符串”类型情况的最简单方法是让Expression Blend完成繁重的任务。
这是关于使用Blend嵌入字体的blog post。使用Blend的好处在于它为您提供了一些正确设置的视觉指示 - 即。您可以在字体选择菜单中看到所需的字体。这是最终让我了解.otf问题的原因。我在Blend中看不到字体。
以下是我在其中一个应用中使用的自定义字体示例:
<TextBlock Name="MyTextblock"
FontFamily="/MyAppName;component/fonts/Fonts.zip#Segoe UI Mono">
这是FontFamily
URI是一件很难的事情。我很确定这是你的问题。
答案 1 :(得分:0)
我实际上遇到了同样的问题。我跟着一切都到了点,但我还是无法嵌入一个特定的字体。所以我创建了一个新项目并尝试在那里嵌入字体。仍然没有运气。然后我尝试嵌入其他字体。而且,只要我输入FontFamily属性,我就可以看到它已经嵌入了。这特别奇怪,因为我不必更改字体的任何属性。
我在Blend中打开了项目,然后单击右侧的字体属性框。花了几秒钟,然后它首先嵌入了我遇到问题的字体。