Byte dizisinden font dosyalarını yükleyin
C++ API Çözümü, TTF, WOFF, EOT, Type 1 ve CFF fontlarını bir MemoryStream’ten yüklemek için.
Aspose.Font API Çözümü, dönüşüm, glif manipülasyonu, Latin simge tespiti ve daha fazlasını içeren kapsamlı font işlemleri yetenekleri sunar. Ancak font manipülasyonundaki ilk adım, font dosyalarını daha sonra kullanmak üzere yüklemektir.
Bu makale, font dosyalarının akışlardan nasıl yükleneceğini özetlemektedir, ancak font yükleme hakkında daha ayrıntılı bilgi için Dosyaları Nasıl Yüklenir? makalesine bakabilirsiniz. Orada çok sayıda C++ kod örneği bulacak ve font yükleme için gerekli nesneler ve parametreleri anlayacaksınız.
API, TrueType (tek font), TrueType (font koleksiyonu), Web Open Font Format, Web Open Font Format 2.0, Embedded OpenType, Adobe Type 1 fontu (pfa, pfb, afm, pfm) ve Compact Font Format gibi çeşitli font formatlarını destekler. Sağlanan kod parçacıkları, bir True Type Font (TTF) dosyasının akıştan nasıl yükleneceğini gösterir.
Vikipedi adresinden öğrenebileceğimiz gibi, TTF TrueType Font anlamına gelir ve ölçeklenebilir bilgisayar fontları için bir dosya formatıdır. Başlangıçta Apple Computer tarafından geliştirilmiş, ancak şu anda hem Mac hem de Windows işletim sistemlerinde yaygın olarak kullanılmaktadır. TTF dosyaları, bir fontun farklı boyut ve stillerde her karakterinin nasıl render edileceğine dair talimatlar içerir ve kalite kaybı olmadan yeniden boyutlandırılabilir ve çeşitli uygulamalarda kullanılabilir. TTF fontları dijital tipografi için yaygın olarak kullanılmakta ve web tasarımı, kelime işlem, masaüstü yayıncılık gibi alanlarda sıkça tercih edilmektedir.
Fontları yüklemek için C++ için Aspose.Font API'sine ihtiyaç duyacaksınız; bu, C++ platformu için güçlü, kullanımı kolay bir belge işleme ve dönüşüm API'sidir. API'yi elde etmek için NuGet paket yöneticisini açıp Aspose.Font arayın ve ardından kurun. Ayrıca aşağıdaki komutu Package Manager Console'da da kullanabilirsiniz.
Package Manager Console Command
PM> Install-Package Aspose.Font
C++ kullanarak byte dizisinden/MemoryStream'ten TTF yükleme
Bu kod parçacığı C++ dilinde yazılmıştır ve Aspose.Font API’yi kullanarak bir TrueType Font (TTF) dosyasını nasıl yükleyeceğinizi gösterir. Kod aşağıdaki adımları gerçekleştirir:
- Font dosyasının yolunu oluşturun. Burada, DataDir, Montserrat-Regular.ttf font dosyasının bulunduğu dizinin yolunu içeren önceden tanımlı bir değişkendir. Path.Combine yöntemi iki yolu birleştirerek font dosyasının tam yolunu oluşturur.
- Font ikili verilerini bir byte dizisine yükleyin. File.ReadAllBytes() metodu, font dosyasının içeriğini okuyarak veriyi bir byte dizisi olarak döndürür.
- Bir FontDefinition nesnesi başlatın. FontType.TTF font dosyasının TrueType Font (.ttf) olduğunu gösterir ve yeni ByteContentStreamSource (fontBytes), fontBytes dizisinde depolanan ikili veriye dayanarak bir ByteContentStreamSource nesnesi oluşturur.
- Fontu yükleyin. Font.Open() metodu, FontDefinition nesnesini parametre olarak alır ve yüklenen fontu döndürür; bu font daha sonra çeşitli işlemler için kullanılabilir.
Akıştan fontları yüklemek için C++ Kodu
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);