Carica un carattere dal file TTF | C++
Contents
[
Hide
Show
]Qui sono descritti quattro esempi diversamente soddisfatti su come caricare un carattere dal file montserrat-regolare.ttf.
Prima impara i fondamentali di caricamento alla pagina come caricare i caratteri?.
Aggiungi gli spazi dei nomi successivi alla testa del file:
1using namespace Aspose::Font;
2using namespace Aspose::Font::Sources;
3using namespace System.IO;
Caricamento dal file utilizzando FilesystemStreamSource Object
Prendi i passaggi successivi per eseguire l’operazione:
- Costruisci percorso al file.
- Inizia FontDefiniton.
- Imposta
fileextension su
ttf
. - Carica il carattere.
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);
Caricamento dal file usando l’oggetto fileinfo
Per soddisfare il caricamento fai il prossimo:
- Costruisci percorso al file.
- Inizia
FontDefiniton Passando
ttf
as FontType valore. - Ottenere valore calcolato automaticamente fileextension.
- Carica il carattere.
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);
Caricamento dal file escluso l’oggetto FontFileDefinition dalla catena di inizializzazione
Le prossime azioni devono essere intraprese per caricare il carattere in questo modo:
- Costruisci percorso al file.
- Avvia l’oggetto
FontDefiniton passando
TTF
come valore FontType,ttf
come valore fileExtension e l’oggetto FileSystemStreamSource. Il parametro fileExtension qui non è un valore duplicato per il parametro FontType. - Carica il carattere.
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);
Caricamento del carattere dall’array di byte
Per caricare il carattere dall’array di byte:
- Costruisci percorso al file.
- Carica i dati binari del carattere nell’array di byte.
- Inizializza l’oggetto
FontDefiniton passando
TTF
come valore FontType,ttf
come valore fileExtension e l’oggetto ByteContentStreamSource in base all’array fontBytes. - Carica il carattere.
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);
Altri esempi su come usare Aspose.Font sono nella soluzione aspose.font.examples.cpp.sln, nell’example CPP-Examples della documentazione Aspose.Font.