บันทึกไฟล์ฟอนต์ที่อัปเดตลงแผ่นดิสก์

โซลูชัน C++ API เพื่อบันทึกโหลดก่อนหน้านี้จากสตรีมฟอนต์

 

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

การบันทึกฟอนต์ลงในดิสก์ทำให้สามารถจัดเก็บและแชร์ข้อมูลฟอนต์ได้ในระยะยาว จากนั้นจึงสามารถใช้ฟอนต์สำหรับโครงการในอนาคต หรือคุณสามารถแชร์กับผู้อื่นเพื่อให้แน่ใจว่ามีฟอนต์เฉพาะสำหรับใช้ในคอมพิวเตอร์ของพวกเขา

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

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

หน้านี้อธิบายตัวเลือกเกี่ยวกับวิธีบันทึกแบบอักษร TrueType ลงในดิสก์ แต่ข้อมูลโค้ดที่เหลือทั้งหมดเกี่ยวกับวิธีใช้โซลูชันจะอยู่ใน Aspose Github Project .

ในการบันทึกไฟล์ฟอนต์เราต้องการ:

  • Aspose.Font สำหรับ C++ API ซึ่งเป็น API การจัดการและการแปลงเอกสารที่มีคุณลักษณะหลากหลาย ทรงพลัง และใช้งานง่ายสำหรับแพลตฟอร์ม C++

  • เปิดตัวจัดการแพ็คเกจ NuGet และค้นหา Aspose.Font และติดตั้ง คุณสามารถใช้คำสั่งต่อไปนี้จาก Package Manager Console

Package Manager Console Command


    PM> Install-Package Aspose.Font

ขั้นตอนในการบันทึกฟอนต์ก่อนการเปลี่ยนแปลงโดยใช้ C++:

Aspose.Font สำหรับ C++ มีความสามารถในการแก้ไขไฟล์ฟอนต์และจัดเก็บฟอนต์ที่เปลี่ยนแปลงบนดิสก์ ตัวอย่างโค้ดด้านล่างแสดงวิธีบันทึกไฟล์ฟอนต์ TTF ที่แก้ไขแล้ว

  1. สร้างวัตถุ FontFileDefinition ใหม่
  2. ตั้งค่า FontType เป็น TTF และ FontFileDefinition เป็น .ttf
  3. สร้างวัตถุ TtfFont และเปิดไฟล์แบบอักษรโดยใช้วัตถุ FontDefinition ที่กำหนดไว้ก่อนหน้านี้
  4. บันทึก TtfFont ลงในดิสก์โดยเรียกเมธอด Save() และส่งชื่อไฟล์เอาต์พุตพร้อมพาธแบบเต็ม ไฟล์ฟอนต์ที่บันทึกไว้จะมีการเปลี่ยนแปลงที่อัปเดต

รหัส C++ สำหรับบันทึกแบบอักษร TrueType ลงในดิสก์

    using Aspose::Font;
    using Aspose::Font::Sources;
    using Aspose::Font::Ttf;
    //byte array to load Font from
    System::String dataDir = RunExamples::GetDataDir_Data();
    
    System::ArrayPtr<uint8_t> fontMemoryData = System::IO::File::ReadAllBytes(dataDir + u"Montserrat-Regular.ttf");
    System::SharedPtr<FontDefinition> fd = System::MakeObject<FontDefinition>(Aspose::Font::FontType::TTF, System::MakeObject<FontFileDefinition>(u"ttf", System::MakeObject<ByteContentStreamSource>(fontMemoryData)));
    System::SharedPtr<TtfFont> ttfFont = System::DynamicCast_noexcept<Aspose::Font::Ttf::TtfFont>(Aspose::Font::Font::Open(fd));
    
    //Work with data from the just loaded TtfFont object
    
    //Save The TtfFont to disk
    //Output the Font file name with the full path
    System::String outputFile = RunExamples::GetDataDir_Data() + u"Montserrat-Regular_out.ttf";
    
    ttfFont->Save(outputFile);



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

1. ฉันจะบันทึกแบบอักษรลงในฮาร์ดไดรฟ์ได้อย่างไร

เมื่อคุณดาวน์โหลดฟอนต์และต้องการบันทึกลงในไดรฟ์ของคุณ คุณต้องวางไฟล์ฟอนต์ลงในโฟลเดอร์ฟอนต์ เช่น C:>Windows>ฟอนต์ หากระบบปฏิบัติการเป็น Windows

2. ฉันสามารถคัดลอกแบบอักษรจากคอมพิวเตอร์เครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้หรือไม่

หากอุปกรณ์ที่คุณต้องการโอนฟอนต์ไปใช้มีระบบปฏิบัติการเดียวกัน คุณเพียงแค่คัดลอกและวางไฟล์ฟอนต์จาก/ไปยังโฟลเดอร์ฟอนต์ หากระบบปฏิบัติการหรือแอปต่างกัน คุณต้องแปลงแบบอักษรเป็น รูปแบบ ที่รองรับโดย อุปกรณ์หรือสภาพแวดล้อมดังกล่าว

3. จะบันทึกฟอนต์ที่เปลี่ยนได้อย่างไร?

ในการบันทึกฟอนต์ลงในดิสก์ ก่อนอื่น ให้ประกาศชื่อไฟล์ฟอนต์เอาต์พุตด้วยพาธแบบเต็ม จากนั้นใช้เมธอด Save()