Muat file font dari array byte
Solusi API C++ untuk memuat font TTF, WOFF, EOT, Type 1, dan CFF dari MemoryStream.
Solusi API Aspose.Font memberikan Anda kemampuan luas untuk bekerja dengan font, termasuk konversi, manipulasi glif, deteksi simbol Latin, dan banyak lagi. Tetapi langkah pertama dalam manipulasi font adalah memuat file font untuk digunakan kemudian.
Artikel ini menjelaskan cara memuat file font dari aliran, tetapi untuk informasi lebih detail tentang pemuatan font, lihat artikel How to Load Files? . Di sana Anda akan menemukan banyak contoh kode C++ dan memahami objek serta parameter yang diperlukan untuk memuat font.
API mendukung beberapa format font, termasuk TrueType (font tunggal), TrueType (koleksi font), Web Open Font Format, Web Open Font Format versi 2.0, Embedded OpenType, font Adobe Type 1 (pfa, pfb, afm, pfm), dan Compact Font Format. Potongan kode yang disediakan menunjukkan cara memuat file True Type Font (TTF) dari aliran.
Seperti yang dapat kita pelajari dari Wikipedia , TTF adalah singkatan dari TrueType Font dan merupakan format file untuk font komputer skalabel. Format ini awalnya dikembangkan oleh Apple Computer, namun kini banyak digunakan pada sistem operasi Mac dan Windows. File TTF berisi instruksi tentang cara merender setiap karakter font pada berbagai ukuran dan gaya, sehingga dapat dengan mudah diubah ukurannya dan digunakan dalam aplikasi berbeda tanpa kehilangan kualitas. Font TTF banyak dipakai dalam tipografi digital dan umum digunakan dalam desain web, pengolah kata, serta penerbitan desktop.
Untuk memuat font, Anda memerlukan Aspose.Font untuk C++ API, yaitu API manipulasi dokumen dan konversi yang kuat serta mudah digunakan untuk platform C++. Untuk mendapatkan API ini, buka pengelola paket NuGet, cari Aspose.Font, lalu instal. Anda juga dapat menggunakan perintah berikut di Package Manager Console.
Package Manager Console Command
PM> Install-Package Aspose.Font
Muat TTF dari array byte/MemoryStream menggunakan C++
Potongan kode ini ditulis dalam C++ dan memperlihatkan cara memuat file TrueType Font (TTF) menggunakan Aspose.Font API. Kode tersebut melakukan langkah‑langkah berikut:
- Menyusun jalur ke file font. Di sini, DataDir adalah variabel yang telah didefinisikan sebelumnya berisi jalur ke direktori tempat file font Montserrat-Regular.ttf berada. Metode Path.Combine menggabungkan dua jalur untuk membuat jalur lengkap ke file font.
- Memuat data biner font ke dalam array byte. Metode File.ReadAllBytes() membaca isi file font dan mengembalikan data sebagai array byte.
- Menginisialisasi objek FontDefinition . FontType.TTF menunjukkan bahwa file font adalah TrueType Font (.ttf) dan ByteContentStreamSource (fontBytes) membuat objek ByteContentStreamSource berdasarkan data biner font yang disimpan dalam array fontBytes.
- Memuat font. Metode Font.Open() menerima objek FontDefinition sebagai parameter dan mengembalikan font yang telah dimuat, yang kemudian dapat digunakan untuk manipulasi lebih lanjut.
Kode C++ untuk memuat font dari aliran
using Aspose::Font;
using Aspose::Font::Sources;
using Aspose::Font::Ttf; // Construct the path to the file
System::String fontPath = System::IO::Path::Combine(get_DataDir(), u"Montserrat-Regular.ttf");
// Load font binary data into the byte array
System::ArrayPtr<uint8_t> fontBytes = System::IO::File::ReadAllBytes(fontPath);
// Initialize the FontDefinition object passing TTF as the FontType value, "ttf" as the fileExtension value,
// and ByteContentStreamSource object based on the fontBytes array
System::SharedPtr<FontDefinition> fontDef = System::MakeObject<FontDefinition (Aspose::Font::FontType::TTF, u"ttf", System::MakeObject<ByteContentStreamSource>(fontBytes));
// Load the font
System::SharedPtr<Aspose::Font::Font> font = Aspose::Font::Font::Open(fontDef);