是否可以在C ++应用程序中嵌入TTF或OTF字体文件?

时间:2010-03-18 07:29:27

标签: windows cocoa fonts macos

是否可以在C ++应用程序中嵌入TTF或OTF字体文件,以便应用程序可以在不将其安装到目标计算机上的情况下使用它?欢迎任何想法。 (目标平台将是Windows和Macintosh)。目的:字体是私有字体,不应对用户可用。

2 个答案:

答案 0 :(得分:2)

OS X:在应用程序的Resources目录中包含该字体,然后将值ATSApplicationFontsPath添加到应用程序的Info.plist,其中包含相对于Resources目录的路径。

Windows:MSDN有一篇文章for Windows Forms使用System.Drawing.Text.PrivateFontCollection类,一篇for WPF使用System.Windows.Media.FontFamily类。假设您正在使用C ++ / CLI和.NET GUI框架;它可能不适用于MFC。

答案 1 :(得分:0)

最近,我们知道TTF字体只是一个字节数组。只需进行一个十六进制转储并准备字节数组(注意字节序,大多数现代体系结构都是小字节序)。

以下线程具有详细信息:

https://twitter.com/awmanoj/status/1071718063647580161

在golang中,还有字节数组的生成器。根据需要,用另一种语言(例如Java / C ++)实现相同的功能很简单。