Laden Sie eine Schriftart aus einer CFF-Datei | C++

Auf dieser Seite sehen wir uns Beispiele für das Laden der Schriftart „CenturyGothic“ an, die in der Datei CenturyGothic.cff platziert ist.


Wenn Sie die Grundlagen zum Laden von Aspose.Font nicht gelesen haben, gehen Sie zu Wie lade ich Schriftarten? Seite.

Zuerst müssen Sie die nächsten Namespaces am Kopf der Datei benachrichtigen:

1using namespace Aspose::Font;
2using namespace Aspose::Font::Sources;
3using namespace System.IO;

Laden aus der Datei mithilfe des FileInfo-Objekts

Befolgen Sie den Algorithmus, um das Laden der Schriftart durchzuführen:

  1. Pfad zur Datei erstellen.
  2. Initiieren Sie das FontDefiniton-Objekt und übergeben Sie „CFF“ als FontType-Wert.
  3. Rufen Sie den automatisch berechneten Wert FileExtension ab.
  4. Laden Sie die Schriftart.
 1    // Construct path to the file.
 2    System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"CenturyGothic.cff");
 3
 4    // Initialize FontDefinition object passing CFF as FontType value and using FontFileDefinition
 5    // based on FileInfo object, fileExtension value is calculated automatically from FileInfo fields.
 6    System::SharedPtr<FontFileDefinition> fileDef = System::MakeObject<FontFileDefinition>(System::MakeObject<System::IO::FileInfo>(fontPath));
 7    System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::CFF, fileDef);
 8
 9    // Load the font 
10    System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);

Laden von Schriftarten mit der Variablen vom Typ byte[] und unter Verwendung des Objekts vom Typ ByteContentStreamSource

Um die Schriftart auf diese Weise zu laden, müssen Sie die folgenden Schritte ausführen:

  1. Pfad zur Datei erstellen.
  2. Initialisieren Sie das Objekt FontDefiniton, indem Sie „CFF“ als FontType-Wert, „cff“ als FileExtension-Wert und ByteContentStreamSource übergeben. Objekt basierend auf dem FontBytes-Array.
  3. Laden Sie die Schriftart.
 1    // Construct path to the file
 2    System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"CenturyGothic.cff");
 3
 4    // Load font binary data into byte array
 5    System::ArrayPtr<uint8_t> fontBytes = System::IO::File::ReadAllBytes(fontPath);
 6    
 7    // Initialize FontDefinition object  passing CFF as FontType value, "cff" as fileExtension value, 
 8    // and ByteContentStreamSource object based on fontBytes array
 9    System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::CFF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));
10    
11    // Load font and print results
12    System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);

More examples on how to use Aspose.Font are in Aspose.Font.Examples.CPP.sln solution, in the cpp-examples of the Aspose.Font Documentation.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.