โหลดและบันทึกฟอนต์ 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