โหลดไฟล์ฟอนต์จากอาร์เรย์ไบต์

โซลูชัน C++ API เพื่อโหลดฟอนต์ TTF, WOFF, EOT, Type 1 และ CFF จาก MemoryStream

 

โซลูชัน Aspose.Font API มอบความสามารถมากมายสำหรับการทำงานกับฟอนต์ รวมถึงการแปลง การจัดการสัญลักษณ์ การตรวจจับสัญลักษณ์ละติน และอื่นๆ อีกมากมาย แต่ขั้นตอนแรกในการจัดการฟอนต์คือการโหลดไฟล์ฟอนต์เพื่อใช้ในภายหลัง

บทความนี้สรุปวิธีการโหลดไฟล์ฟอนต์จากสตรีม แต่สำหรับข้อมูลเพิ่มเติมโดยละเอียดเกี่ยวกับการโหลดฟอนต์ โปรดดูบทความ How to Load Files? ที่นั่น คุณจะพบตัวอย่างโค้ด C++ จำนวนมาก และเข้าใจวัตถุและพารามิเตอร์ที่จำเป็นสำหรับการโหลดแบบอักษร

API รองรับรูปแบบฟอนต์หลายรูปแบบ รวมถึง TrueType (ฟอนต์เดียว), TrueType (ชุดฟอนต์), Web Open Font Format, Web Open Font Format เวอร์ชัน 2.0, Embedded OpenType, Adobe Type 1 font (pfa, pfb, afm, pfm) และ รูปแบบตัวอักษรกะทัดรัด ข้อมูลโค้ดแสดงวิธีโหลดไฟล์ True Type Font (TTF) จากสตรีม

เราสามารถเรียนรู้ได้จาก Wikipedia TTF ย่อมาจาก TrueType Font และเป็นรูปแบบไฟล์สำหรับแบบอักษรคอมพิวเตอร์ที่ปรับขนาดได้ เดิมพัฒนาโดย Apple Computer แต่ปัจจุบันใช้กันอย่างแพร่หลายในระบบปฏิบัติการ Mac และ Windows ไฟล์ TTF มีคำแนะนำเกี่ยวกับวิธีแสดงอักขระแต่ละตัวของฟอนต์ด้วยขนาดและสไตล์ฟอนต์ต่างๆ และสามารถปรับขนาดและใช้งานในแอปพลิเคชันต่างๆ ได้อย่างง่ายดายโดยไม่สูญเสียคุณภาพ ฟอนต์ TTF ใช้กันอย่างแพร่หลายสำหรับการพิมพ์ดิจิทัล และมักใช้ในการออกแบบเว็บ การประมวลผลคำ และการเผยแพร่บนเดสก์ท็อป

ในการโหลดฟอนต์ คุณจะต้องใช้ Aspose.Font สำหรับ C++ API ซึ่งเป็น API การจัดการและการแปลงเอกสารที่มีประสิทธิภาพและใช้งานง่ายสำหรับแพลตฟอร์ม C++ ในการรับ API ให้เปิดตัวจัดการแพ็คเกจ NuGet และค้นหา Aspose.Font จากนั้นติดตั้ง คุณยังสามารถใช้คำสั่งต่อไปนี้ใน Package Manager Console

Package Manager Console Command


    PM> Install-Package Aspose.Font

โหลด TTF จากอาร์เรย์ไบต์/MemoryStream โดยใช้ C++

ข้อมูลโค้ดนี้เขียนด้วยภาษา C++ และสาธิตวิธีโหลดไฟล์ TrueType Font (TTF) โดยใช้ Aspose.Font API รหัสทำตามขั้นตอนต่อไปนี้:

  1. สร้างพาธไปยังไฟล์ฟอนต์ ที่นี่ DataDir เป็นตัวแปรที่กำหนดไว้ล่วงหน้าซึ่งมีพาธไปยังไดเร็กทอรีซึ่งเป็นที่ตั้งของไฟล์ฟอนต์ Montserrat-Regular.ttf เมธอด Path.Combine รวมสองพาธเพื่อสร้างพาธแบบเต็มไปยังไฟล์ฟอนต์
  2. โหลดข้อมูลไบนารีของแบบอักษรลงในอาร์เรย์ไบต์ เมธอด File.ReadAllBytes() อ่านเนื้อหาของไฟล์ฟอนต์และส่งคืนข้อมูลเป็นอาร์เรย์ไบต์
  3. เริ่มต้นวัตถุ FontDefinition FontType.TTF ระบุว่าไฟล์ฟอนต์เป็น TrueType Font(.ttf) และ ByteContentStreamSource ใหม่ (fontBytes) สร้างวัตถุ ByteContentStreamSource ตามข้อมูลไบนารีแบบอักษรที่จัดเก็บไว้ในอาร์เรย์ fontBytes
  4. โหลดฟอนต์. เมธอด Font.Open() ใช้วัตถุ FontDefinition เป็นพารามิเตอร์และส่งกลับแบบอักษรที่โหลด ซึ่งสามารถนำไปใช้ในการจัดการต่อไปได้

โค้ด C++ สำหรับโหลดฟอนต์จากสตรีม

    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);



คำถามที่พบบ่อย

1. พารามิเตอร์ในการโหลดแบบอักษรโดยทางโปรแกรมคืออะไร

สำหรับการโหลดฟอนต์ที่ถูกต้อง คุณจำเป็นต้องรู้พารามิเตอร์หลักสองตัว เป็นรูปแบบตัวอักษรและการจัดเก็บ

2. แบบอักษรอยู่ที่ไหนในคอมพิวเตอร์ของฉัน

หากต้องการดูแบบอักษรที่มีในคอมพิวเตอร์ของคุณ ให้ไปที่ไดเร็กทอรี C:>Windows>Fonts คุณจะสามารถจัดการแบบอักษรของคุณได้ที่นั่น

3. จะโหลดฟอนต์จากสตรีมได้อย่างไร?

ตั้งค่าบาธอาร์เรย์โดยใช้ FontFileDefinition และสร้างวัตถุโดยใช้เมธอด Open() ระบุรูปแบบตัวอักษร เสร็จสิ้นการโหลดโดยใช้เมธอด Aspose.Font.Font.Open()