【发布时间】:2010-03-18 07:29:27
【问题描述】:
是否可以在 C++ 应用程序中嵌入 TTF 或 OTF 字体文件,以便应用程序无需在目标计算机上安装即可使用它?欢迎任何想法。 (目标平台将是 Windows 和 Macintosh)。目的:字体是私有的,不应该提供给用户。
【问题讨论】:
是否可以在 C++ 应用程序中嵌入 TTF 或 OTF 字体文件,以便应用程序无需在目标计算机上安装即可使用它?欢迎任何想法。 (目标平台将是 Windows 和 Macintosh)。目的:字体是私有的,不应该提供给用户。
【问题讨论】:
OS X:将字体包含在应用程序的Resources 目录中,然后将值ATSApplicationFontsPath 添加到应用程序的Info.plist 包含相对于资源目录的路径。
Windows:MSDN 有一篇文章 for Windows Forms 使用 System.Drawing.Text.PrivateFontCollection 类和一篇 for WPF 使用 System.Windows.Media.FontFamily 类。这是假设您使用 C++/CLI 和 .NET GUI 框架;它可能不会申请MFC。
【讨论】:
最近,了解到 TTF 字体只是一个字节数组。只需进行 hexdump 并准备字节数组(注意字节序,大多数现代架构都是小字节序)。
以下线程有详细信息:
https://twitter.com/awmanoj/status/1071718063647580161
在golang中,也有字节数组的生成器。根据需要在另一种语言(如 Java/C++)中实现相同的功能非常简单。
【讨论】: