使用用户没有安装的字体

本文关键字:安装 字体 用户 | 更新日期: 2023-09-27 18:13:16

真不敢相信我还不知道这个问题的答案,但是如果我使用了一个用户没有安装的字体,会发生什么呢?

所以如果我设置一个标签使用Segoe UI,然后一个用户在winxp(谁没有Segoe UI已经安装)运行应用程序。它会抛出异常吗?

我知道我可以获取系统默认字体并使用它来兼容,但我想知道如果有人没有这样做会发生什么。

(c# .NET编程)

谢谢

使用用户没有安装的字体

如上所述,您将不会得到错误。它将默认为标准字体。处理这个问题的最好方法是将字体嵌入到应用程序中。

我知道如何做到这一点的最简单的方法是在Blend中打开你的程序(与visual studio免费),然后从这里你可以从一个巨大的字体列表中选择。一旦你找到你想要的点击嵌入。这就是它!

这里有详细的解释

http://msdn.microsoft.com/en-us/library/cc296385.aspx

不会抛出异常,系统将使用默认字体。这里已经回答了类似的问题:如果我使用客户端机器上没有安装的字体会发生什么

根据上一个问题,如果缺少该字体,则用MS Sans Serif字体代替。

为什么使用不存在的字体没有异常?

然而,从个人经验来看,我发现如果安装了字体,但缺少样式,则会抛出异常。在我的情况下,我不知何故缺少Verdana Regular,尽管我有Verdana,并且在试图加载该样式时抛出异常。