การตรวจสอบตารางตัวอักษร

การตรวจสอบตารางตัวอักษร

การตรวจสอบตารางตัวอักษร

คู่มือนี้แสดงวิธีการอ่านคุณสมบัติตารางที่มีชื่อ, การค้นหาข้อมูลตราคู่ไร้ผล และเขียนไบต์ตลาดที่เปลี่ยนแปลงกลับสู่ตัวอักษร TrueType.

TrueType และ OpenTybe แฟนต์ประกอบด้วยตารางไบนารี แต่ละตัวถูกระบุโดย tag 4 ไบท์. TtfTableSet เปิดตัว Properties Python ที่มีชื่อสําหรับตารางทั่วไป และ TtfFont เสนอให้ การเข้าถึงไบต์สดสําหรับตารางทั้งหมด.


การอ่านตารางที่มีชื่อ

TtfTableSet เปิดตัว head, hhea, maxp, os2, ชื่อ, post, cmap, loca, hmtx และตารางคาร์น.

from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
tables = ttf_font.ttf_tables

print("head table:", tables.head is not None)
print("kern table:", tables.kern is not None)

การอ่านบายต์ตาราง Raw

TtfFont.get_table_bytes(tag) กลับเนื้อหาไบนารีเต็มของตารางใดที่ระบุด้วยแท็ก 4 ตัวอักษรของมัน เพื่อให้สามารถตรวจสอบในระดับต่ําหรือพาร์สตามความต้องการ.

ttf_font: TtfFont = FontLoader.open(“Roboto-Regular.ttf”) raw_name = ttf_font.get_table_bytes(“name”) print(f"name table: {len(raw_name)} bytes")


---

### การเขียนบายต์ตารางที่เปลี่ยนแปลง

`TtfFont.set_table_bytes(tag, data)` แทนเนื้อหาไบนารีของตาราง ทําให้สามารถปรับเปลี่ยนตราแบบพิเศษ เช่น การแก้ไขกฎ GSUB หรือการอัพเดทบันทึกชื่อ.

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
modified_bytes = b"..."  # your modified table
ttf_font.set_table_bytes("GSUB", modified_bytes)

เคล็ดลับและปฏิบัติที่ดีที่สุด

  • Check tables.kern is not None ก่อนการเข้าถึงข้อมูล kerning
  • TtfTableSet.get_raw(tag) และ set_raw(tag, data) เป็นชื่อฉายาสําหรับ get_table_bytes / set_table_bytes
  • การใช้งาน FontCleaner.clean_for_web() แทนที่จะลบตารางด้วยมือเพื่อหลีกเลี่ยงปัญหาความสอดคล้อง

คําอธิบายการพบบ่อย API

ประเภท / กลไกDescription
TtfFont.ttf_tablesการเข้าถึงสมบัติตารางที่มีชื่อ
TtfFont.get_table_bytes(tag)อ่านข้อมูลตารางไบนารีสด
TtfFont.set_table_bytes(tag, data)เขียนข้อมูลตารางที่เปลี่ยนแปลง
TtfTableSet.get_raw(tag)ชื่อฉายสําหรับ get_table_bytes
TtfTableSet.set_raw(tag, data)ชื่อฉายสําหรับ set_table_bytes

See Also

 ภาษาไทย