将第三方字体作为Win32应用程序的资源嵌入

3

我想知道如何将第三方字体嵌入我的应用程序中(并使用它),以便我可以为没有安装该字体的用户分发我选择的字体。这是可能的吗,还是我必须分发字体,如果我想让用户能够使用所需的字体。谢谢。


你能假设你有合法的分发字体的许可吗? - Billy ONeal
“嵌入”一词的意思是字体必须成为可执行文件的一部分吗?还是说你可以将其作为应用程序的另一个文件进行打包? - Agnel Kurian
2个回答

2

嗨@Billy:我尝试了一下,但是资源编译器报错了。字体文件的许可证很宽松,是一种免费字体。它是一种OpenType字体。@Mark:实际上,我正在尝试找到一种方法,不必将实际文件作为包的一部分分发,有没有什么办法可以避免这种情况?我可能已经找到了一个解决方案,它包括使用TTEmbedFont函数和一些GDI技巧,我会尝试并报告结果。如果其他人有任何意见,我全听着:)或看着。 - gandolf
1
@gandolf:你从资源编译器得到了什么错误?如果你不告诉我们,我们就无法帮助你进行故障排除 :) - Billy ONeal

0

很少有字体拥有允许此操作的许可证。即使是免费字体也应该进行检查。

您可以使用CreateScalableFontResource和AddFontResource将字体文件提供给您的应用程序使用。为了使其有效,字体必须作为单独的文件可用。


在我们的应用程序中,我们正在使用"Segoe UI Light"字体,我能否将其嵌入EXE文件中(即我们不会将字体文件作为单独的文件包含在软件包中,字体文件是EXE文件的一部分)。像这样嵌入字体存在许可问题。 - Umesha MS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接