Laden Sie eine Schriftart aus der TTF-Datei | C++
Hier werden vier unterschiedlich erfüllte Beispiele zum Laden einer Schriftart aus der Datei Montserrat-Regular.ttf beschrieben.
Lernen Sie zunächst die Ladegrundlagen auf der Seite Wie lade ich Schriftarten? kennen.
Fügen Sie am Kopf der Datei die nächsten Namespaces hinzu:
1using namespace Aspose::Font;
2using namespace Aspose::Font::Sources;
3using namespace System.IO;
Laden aus der Datei mit dem FileSystemStreamSource-Objekt
Führen Sie die nächsten Schritte aus, um den Vorgang abzuschließen:
- Pfad zur Datei erstellen.
- Initiieren Sie das Objekt FontDefiniton.
- Setzen Sie fileExtension auf „ttf“.
- Laden Sie die Schriftart.
1 // Construct path to the file
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
3
4 // Initialize FontDefinition object passing TTF as FontType value and using FontFileDefinition
5 // based on FileSystemStreamSource object, set fileExtension to "ttf"
6 System::SharedPtr<FontFileDefinition> fileDef = System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<FileSystemStreamSource>(fontPath));
7 System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, fileDef);
8
9 // Load font
10 System::SharedPtr<Font> font = Font::Open(fontDef);
Laden aus der Datei mithilfe des FileInfo-Objekts
Um den Ladevorgang abzuschließen, gehen Sie wie folgt vor:
- Pfad zur Datei erstellen.
- Initiieren Sie das FontDefiniton-Objekt und übergeben Sie „TTF“ als FontType-Wert.
- Rufen Sie den automatisch berechneten Wert fileExtension ab.
- Laden Sie die Schriftart.
1 // Construct path to the file
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
3
4 // Initialize FontDefinition object passing TTF 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::TTF, fileDef);
8
9 // Load the font
10 System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);
Laden aus der Datei, wobei das FontFileDefinition-Objekt aus der Initialisierungskette ausgeschlossen wird
Um die Schriftart auf diese Weise zu laden, müssen die nächsten Schritte ausgeführt werden:
- Pfad zur Datei erstellen.
- Initiieren Sie das FontDefiniton-Objekt und übergeben Sie „TTF“ als FontType-Wert, „ttf“ als fileExtension-Wert und FileSystemStreamSource-Objekt . Der Parameter fileExtension ist hier kein doppelter Wert für den Parameter FontType.
- Laden Sie die Schriftart.
1 // Construct path to the file
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
3
4 // Initialize FontDefinition object passing TTF as FontType value, "ttf" as fileExtension value,
5 // and FileSystemStreamSource object. Parameter 'fileExtension' here is not duplicate value
6 // for parameter 'FontType' and it's needed for correct font format detection
7 System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, u"ttf", System::MakeObject<FileSystemStreamSource>(fontPath));
8
9 // Load the font
10 System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);
Laden der Schriftart aus dem Byte-Array
So laden Sie die Schriftart aus dem Byte-Array:
- Pfad zur Datei erstellen.
- Laden Sie Schriftart-Binärdaten in das Byte-Array.
- Initialisieren Sie das Objekt FontDefiniton, indem Sie „TTF“ als FontType-Wert, „ttf“ als fileExtension-Wert und ByteContentStreamSource übergeben. Objekt basierend auf dem FontBytes-Array.
- Laden Sie die Schriftart.
1 // Construct path to the file
2 System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
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 TTF as FontType value, "ttf" as fileExtension value,
8 // and ByteContentStreamSource object based on fontBytes array
9 System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));
10
11 // Load the font
12 System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);
Weitere Beispiele zur Verwendung von Aspose.Font finden Sie in der Aspose.Font.Examples.CPP.sln-Lösung, in den cpp-examples der Aspose.Font-Dokumentation.