วิธีการทํางานกับ TTF Font ใน Python
คู่มือนี้แสดงวิธีการอัตราบรรจุ TTF แฟนท์, ตรวจสอบ TtfFont คุณสมบัติ, อ่านตาราง, ตัวอย่างตัวอักษรที่เปลี่ยนแปลง และแปลงเป็นรูปแบบอื่น ๆ โดยใช้ Aspose.Font FOSS สําหรับ Python. TrueType fonts (.ttf) เป็นรูปแบบตัวอักษรที่ใช้กันทั่วไปที่สุด. Aspose.Font FOSS โหลดมันเป็น TtfFont ตัวอย่าง, ให้การเข้าถึงตาราง, แวร์แพร่ตัวอักษร, ข้อมูล glyph และอุปกรณ์บริการแปลง.
คู่มือขั้นตอนตามขั้นตอนนี้
ขั้นตอนที่ 1: ติดตั้งแพคเกจ
ติดตั้งแพคเกจ Aspose.Font FOSS จาก PyPI โดยใช้คําสั่ง pip ด้านล่างนี้:
pip install "aspose-font>=1.0.0"ขั้นตอนที่ 2: นําเข้าชั้นเรียนที่จําเป็น
Import FontLoader และ TtfFont เพื่ออัตราการโหลดตัวเขียน TTF และเข้าถึงคุณสมบัติที่ถูกตีพิมพ์ของมัน:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontขั้นตอน 3: อัตราบรรจุและตรวจสอบตัวอักษร TTF
อัตราการอัดไฟล์ TTF โดยใช้ FontLoader.open() และอ่านคุณสมบัติพื้นฐาน เช่น ชื่อ, ครอบครัวและจํานวน glyph:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)ขั้นตอนที่ 4: อ่านตารางเม็ดพันธุ์
เข้าถึง ttf_tables คุณสมบัติและตรวจสอบการมีของตาราง kern โดยชื่อ:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)ขั้นตอนที่ 5: การแสดงตัวอักษรของค่าเปลี่ยน
อัตราการอัดไฟล์ตัวแปร, ตรวจสอบ is_variable,และโทรหา instantiate() ด้วยคําศัพท์แกนเพื่อผลิตตัวอย่างที่ตั้งอยู่:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
static = ttf_font.instantiate({"wght": 700.0})
print("Instantiated:", static.font_name)ขั้นตอนที่ 6: แปลงเป็น WOFF2
เปลี่ยนรูปแบบอักษร TTF ที่ถูกบรรจุเป็น WOFF2 โดยการส่ง FontType.WOFF2 ไปยัง FontConverter.convert():
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)ปัญหาทั่วไปและข้อกําหนด
AttributeError: Font has no attribute ttf_tables การใช้งาน ttf_font: TtfFont = FontLoader.open(...). การ ttf_tables ที่ดินอยู่บน TtfFont, ไม่ใช่ฐาน Font.
is_variable คือ False ในตัวอักษรที่เปลี่ยนได้ บางตัวอักษรที่เปลี่ยนใช้แบบไม่มาตรฐาน fvar รูปแบบตาราง ตรวจสอบ ttf_font.fvar is not None ในทางเลือกหนึ่ง.
instantiate() การเพิ่มเงิน KeyError แท็กแกนต้องเป็นแท็ก 4 ชาร์ที่ลงทะเบียน (เช่น. "wght", "wdth") เช็ค ttf_font.axes สําหรับแท็กที่มีอยู่.
คําถามที่พบบ่อย
ความแตกต่างระหว่าง TTF และ OTF คืออะไร?
OTF และ TTF มีคอนเทนเนอร์ไบนารีเดียวกัน (SFNT) โฟน OFT มักใช้แนวโน้ม CFF ส่วนตัวอักษร TTF ใช้ TrueType วงโค้งกําลังสอง. ทั้งคู่ถูกบรรจุโดย FontLoader.open().
ผมสามารถหาคู่เมล็ดจากตัวอักษร TTF ได้หรือไม่?
ใช่ ใช้ TtfFont.get_kern_pairs() เพื่อการรับรายชื่อของ KernPair อัตถุประกอบ.
ห้องสมุดรองรับการสะสมตัวอักษร (.ttc) ไหม?
ใช่ ใช้ FontLoader.open(source, collection_index=N) เพื่อเลือกตัวอักษรเฉพาะจาก แฟชั่นการเก็บเงิน TTC.