在WPF桌面应用程序中使用Google Web字体的任何方法

在WPF桌面应用程序中使用Google Web字体的任何方法,wpf,webfonts,Wpf,Webfonts,我正在创建一个WPF应用程序,并尝试将用户界面的样式与现有网站相匹配。该网站正在使用默认字体,默认情况下Windows上不提供该字体。我想使用Lato,但我不能要求用户安装字体。有没有办法让WPF使用Google Web字体服务提供的字体定义,或者通过其他方式进行设置,以便不需要手动安装字体?当然可以,简单的方法是将字体资源编译到应用程序中: 首先,从GoogleWebFonts下载TTF。从您的示例链接中,找到页面底部的链接“在Google Web字体中打开Lato”。这会将字体添加到“集合”

我正在创建一个WPF应用程序,并尝试将用户界面的样式与现有网站相匹配。该网站正在使用默认字体,默认情况下Windows上不提供该字体。我想使用Lato,但我不能要求用户安装字体。有没有办法让WPF使用Google Web字体服务提供的字体定义,或者通过其他方式进行设置,以便不需要手动安装字体?

当然可以,简单的方法是将字体资源编译到应用程序中:

首先,从GoogleWebFonts下载TTF。从您的示例链接中,找到页面底部的链接“在Google Web字体中打开Lato”。这会将字体添加到“集合”中。在生成的页面中,靠近顶部的是一个较小的链接,标题为“下载您的收藏”,它将以zip文件的形式为您提供TTF字体文件

接下来,将字体作为资源嵌入到WPF应用程序中。将文件添加到项目中,并确保为编译操作选择“资源”。然后,只需将
FontFamily
属性更改为资源名称而不是字体名称,即可在XAML中使用字体:
Lato Text Here
。有关更多信息,请参阅

您还可以在代码中按需下载字体,方法是将任何元素或容器的
FontFamily
属性设置为新的
FontFamily
对象-使用获取URI的构造函数并使用TTF的URI。我不相信您可以直接使用谷歌URL来实现这一点,因为谷歌API假定可以访问网页,并提供脚本和/或CSS以及字体。还请注意,这可能需要应用程序已经要求的一些额外权限