从磁盘加载字体文件

C++ API 解决方案,用于从磁盘加载 TTF、WOFF、EOT、Type 1 和 CFF 字体。

 

Aspose.Font API 提供了一套全面的字体管理功能,包括转换、字形操作、拉丁符号检测等。字体操作的关键步骤是加载字体文件,以便进行后续操作。

本页说明如何从磁盘加载字体文件,但若想更深入了解此功能,请查看文章 How to Load Fonts 。它包含大量 C++ 代码示例以及有关加载字体所需对象和参数的详细信息。

Aspose.Font API 支持以下字体格式:TrueType(单个字体)、TrueType(字体集合)、Web Open Font Format、Web Open Font Format 2.0、Embedded OpenType、Adobe Type 1 字体(pfa、pfb、afm、pfm)、SVG 和 Compact Font Format。附带的代码片段演示了如何从磁盘加载字体集合(TTF)。

加载字体我们需要:

  • Aspose.Font for C++ API,它是功能丰富、强大且易于使用的文档操作和转换 API。

  • 打开 NuGet 包管理器,搜索 Aspose.Font 并安装。您也可以在包管理器控制台中使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Font

使用 Aspose.Font for C++ API 从磁盘加载 TrueType 字体

TrueType 字体作为文件存储在磁盘上,Aspose.Font for C++ API 可用于加载它们并读取字体信息。此代码演示了如何从磁盘加载 TrueType 字体文件并读取其信息。接下来的步骤如下:

  1. 创建 FontDefinition 类的实例。
  2. 将 FontType 指定为 TTF,FontFileDefinition 指定为 .ttf
  3. 声明一个 TtfFont 对象,并从前一步创建的 FontDefinition 对象中打开字体文件。
  4. 声明一个名为 ttfFontTtfFont 对象,并从先前创建的 FontDefinition 对象中打开字体文件。使用 Font 类的 Open() 方法打开字体文件。随后将返回的对象强制转换为 TtfFont 类型。这样即可访问字体信息并对其进行操作。

用于从磁盘加载字体的 C++ 代码

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
    System::String fileName = dataDir + u"Montserrat-Regular.ttf";
    //Font file name with full path
    
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF
    System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<FileSystemStreamSource>(fileName)));
    System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));