使用用户尚未安装的字体

时间:2013-05-13 18:02:44

标签: c# .net windows visual-studio fonts

无法相信我已经不知道答案了,但是如果我使用的是用户尚未安装的字体会发生什么。

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

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

(在C#.NET中编程)

由于

3 个答案:

答案 0 :(得分:3)

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

我知道如何执行此操作的最简单方法是在Blend中打开您的程序(免费使用可视工作室)然后从这里您可以选择一个巨大的字体列表。找到想要的点击嵌入后。而已!

以下是详细说明

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

答案 1 :(得分:2)

不会抛出异常,系统将使用默认字体。 类似问题已在此处回答:what happens if i use a font that isn't installed on the client machine

答案 2 :(得分:0)

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

Why is there no exception if using not existing font?

但是,根据个人经验,我发现如果安装了字体,但缺少样式,则会抛出异常。在我的情况下,我在某种程度上错过了Verdana Regular,虽然我有Verdana,并且在尝试加载该样式时抛出异常。