4

不敢相信我已经不知道这个问题的答案,但是如果我使用用户尚未安装的字体会发生什么。

因此,如果我设置一个标签以使用 Segoe UI,然后 Win XP 上的用户(尚未安装 Segoe UI)运行该应用程序。它会抛出异常吗?

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

(在 C# .NET 中编程)

谢谢

4

3 回答 3

3

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

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

这里有详细的解释

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

于 2013-05-13T18:07:01.030 回答
2

不会抛出异常,系统将使用默认字体。此处已回答了类似的问题:如果我使用客户端计算机上未安装的字体会发生什么

于 2013-05-13T18:07:42.577 回答
0

根据这个先前的问题,如果字体丢失,MS Sans Serif 字体将被替换。

如果使用不存在的字体,为什么没有例外?

但是,根据个人经验,我发现如果安装了字体,但缺少样式,则会抛出异常。就我而言,尽管我有 Verdana,但我不知何故错过了 Verdana Regular,并且在尝试加载该样式时引发了异常。

于 2013-05-13T18:10:19.637 回答