โหลดและบันทึกฟอนต์ TTF และ OTF ใน Java

จัดการ ตรวจสอบ แก้ไข และบันทึกฟอนต์ TrueType (.ttf) และ OpenType (.otf) ในแอปพลิเคชัน Java ของคุณได้อย่างง่ายดาย Aspose.Font for Java มอบ API ที่มีประสิทธิภาพและประสิทธิภาพสูงสำหรับการโหลดไฟล์ฟอนต์จากพื้นที่จัดเก็บภายในเครื่องหรือสตรีมไบต์ การดึงข้อมูลเมตาดาต้า และการบันทึกโครงสร้างฟอนต์ที่อัปเดตแล้ว โดยไม่ต้องพึ่งพาเอนจินฟอนต์ดั้งเดิมของระบบปฏิบัติการ

 

TrueType และ OpenType เป็นรูปแบบฟอนต์มาตรฐานที่ใช้ในระบบปฏิบัติการสมัยใหม่ แอปพลิเคชันเว็บ และกระบวนการเผยแพร่แบบดิจิทัล การประมวลผลฟอนต์ด้วยโปรแกรมช่วยให้สามารถรองรับความสามารถที่สำคัญสำหรับองค์กรได้ดังนี้:

  • การจัดการไฟล์ฟอนต์แบบไดนามิก: - อ่านฟอนต์ TTF/OTF โดยตรงจากดิสก์ สตรีมฐานข้อมูล หรือบัฟเฟอร์หน่วยความจำ
  • การตรวจสอบฟอนต์และการดึงข้อมูลเมตาดาต้า: - เข้าถึงข้อมูลส่วนหัวของฟอนต์ แผนผังอักขระ คำจำกัดความของกลีฟ และข้อมูลใบอนุญาต
  • ความเข้ากันได้ข้ามแพลตฟอร์ม: - เรียกใช้งานเวิร์กโหลดการประมวลผลฟอนต์ได้อย่างราบรื่นบน Linux, Windows, macOS และสภาพแวดล้อมการปรับใช้บนคลาวด์
  • ไม่มีการพึ่งพาไลบรารีดั้งเดิม: - ลดการพึ่งพาสคริปต์การติดตั้งฟอนต์เฉพาะระบบปฏิบัติการหรือไดรเวอร์กราฟิก GUI (เช่น GDI หรือ X11)

ความสามารถหลักด้านการเรนเดอร์

การโหลดจากสตรีมและดิสก์ - เปิดไฟล์ TTF และ OTF โดยใช้ FileSystemStreamSource หรือ ByteContentStreamSource

การเข้าถึงเมตาดาต้าและเมตริก - ตรวจสอบเมตริกของกลีฟ ความกว้างการเลื่อน ตลอดจนกรอบขอบเขตและตารางการตั้งชื่อฟอนต์

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

ตัวเลือกการแปลงรูปแบบ - แปลงฟอนต์ TrueType/OpenType เป็นรูปแบบเว็บสมัยใหม่ เช่น WOFF, WOFF2 หรือ SVG

วิธีโหลดฟอนต์ TrueType ใน Java

การโหลดฟอนต์ TrueType หรือ OpenType จำเป็นต้องสร้างอินสแตนซ์ของ FontDefinition พร้อม FontType ที่เหมาะสม และเปิดฟอนต์ผ่านคลาสโรงงาน Font

import com.aspose.font.FileSystemStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;

public class LoadTrueTypeFont {
    public static void main(String[] args) {
        // Define path to the TrueType font file (.ttf / .otf)
        String fontFilePath = "path/to/Montserrat-Regular.ttf";

        // Initialize FontDefinition for TTF font type
        FontDefinition fontDef = new FontDefinition(
            FontType.TTF, 
            new FontFileDefinition("ttf", new FileSystemStreamSource(fontFilePath))
        );

        // Open and load the TtfFont object
        TtfFont font = (TtfFont) Font.open(fontDef);

        // Access basic font properties
        System.out.println("Font Name: " + font.getFontName());
        System.out.println("Glyph Count: " + font.getNumGlyphs());
    }
}

วิธีบันทึกฟอนต์ TrueType ใน Java

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

import com.aspose.font.ByteContentStreamSource;
import com.aspose.font.Font;
import com.aspose.font.FontDefinition;
import com.aspose.font.FontFileDefinition;
import com.aspose.font.FontType;
import com.aspose.font.TtfFont;

import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;

public class SaveTrueTypeFont {
    public static void main(String[] args) throws IOException {
        // Read font file into byte array stream
        String inputPath = "path/to/source.ttf";
        byte[] fontBytes = Files.readAllBytes(Paths.get(inputPath));

        // Define font source using ByteContentStreamSource
        FontDefinition fontDef = new FontDefinition(
            FontType.TTF, 
            new FontFileDefinition("ttf", new ByteContentStreamSource(fontBytes))
        );

        // Open TTF font object
        TtfFont font = (TtfFont) Font.open(fontDef);

        // Perform font processing or inspection here...

        // Save the updated TtfFont object back to disk
        String outputPath = "path/to/output_saved.ttf";
        font.save(outputPath);

        System.out.println("TrueType font successfully saved to: " + outputPath);
    }
}

การติดตั้งและการตั้งค่า

เพิ่ม Aspose.Font for Java ลงในโปรเจ็กต์ของคุณผ่าน Maven

Package Manager Console Command

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-font</artifactId>
    <version>Latest</version>
</dependency>

FAQ

1. สามารถโหลดฟอนต์ OpenType (.otf) โดยใช้วิธีเดียวกับฟอนต์ TrueType ได้หรือไม่?

ได้ Aspose.Font for Java รองรับทั้งรูปแบบฟอนต์ TrueType (.ttf) และ OpenType (.otf) ผ่านสถาปัตยกรรม TtfFont และ FontDefinition

2. การโหลดและบันทึกฟอนต์จำเป็นต้องติดตั้งฟอนต์บนระบบปฏิบัติการของโฮสต์หรือไม่?

ไม่ Aspose.Font for Java อ่านโครงสร้างฟอนต์โดยตรงในรูปแบบ file streams หรือ byte buffers โดยทำงานได้อย่างอิสระโดยไม่จำเป็นต้องติดตั้งฟอนต์ในไดเรกทอรีระบบ

3. สามารถแปลงฟอนต์ TTF หรือ OTF เป็นรูปแบบที่พร้อมใช้งานบนเว็บ เช่น WOFF หรือ SVG ได้หรือไม่?

ได้ Aspose.Font for Java มีฟังก์ชันการแปลงในตัวสำหรับแปลงฟอนต์ TrueType และ OpenType ที่โหลดแล้วเป็นรูปแบบ WOFF, WOFF2, SVG และ CFF