【问题标题】:Is it possible to embed a TTF or OTF font file in a C++ application?是否可以在 C++ 应用程序中嵌入 TTF 或 OTF 字体文件?
【发布时间】:2010-03-18 07:29:27
【问题描述】:

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

【问题讨论】:

    标签: windows cocoa fonts macos


    【解决方案1】:

    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。

    【讨论】:

    • 谢谢!我想我可以使用 PrivateFontCollection。使用 Win32 应用程序。
    【解决方案2】:

    最近,了解到 TTF 字体只是一个字节数组。只需进行 hexdump 并准备字节数组(注意字节序,大多数现代架构都是小字节序)。

    以下线程有详细信息:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-27
      • 2014-06-04
      • 1970-01-01
      • 2013-05-23
      • 2011-07-15
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多