วิธีการทํางานกับ Core Font Management ใน Python

วิธีการทํางานกับ Core Font Management ใน Python

Aspose.Font FOSS for Python provides FontLoader เป็นจุดเข้าหลักสําหรับการอัดตัวอักษร จากเส้นทางไฟล์, แอเรย์ไบต์ หรือสตรีม. กลับ Font อัตราแสดงเมตาเดท เช่น ชื่อ, ครอบครัว, สไตล์, การนับ glyphs และการรหัสแผนที่.

คู่มือขั้นตอนตามขั้นตอนนี้

ขั้นตอนที่ 1: ติดตั้งแพคเกจ

pip install "aspose-font>=1.0.0"

ขั้นตอนที่ 2: นําเข้าชั้นเรียนที่จําเป็น

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

ขั้นตอน 3: อัตราการอัด Font จากเส้นทางไฟล์

Call FontLoader.open() กับเส้นทางไปยังไฟล์ตัวอักษรของคุณ. วิธีการตรวจจับรูปแบบโดยอัตโนมัติและคืนที่เหมาะสม Font กลุ่มรอง (TtfFont, CffFont, ฯลฯ:

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)

ขั้นตอนที่ 4: เข้าถึงตัวเลขการวัด Font

การ Font.metrics property กลับ a FontMetrics วัตถุที่มีการขึ้น, การลด, ความว่างเส้น, สูงของหัวหินและวัดแบบพิมพ์อื่น ๆ สําหรับตัวอักษร:

from aspose_font.loader import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)

ขั้นตอนที่ 5: เปลี่ยนรูปแบบใหม่

ส่ง Font ที่ถูกบรรจุไปยัง FontConverter.convert() กับสิ่งที่ต้องการ FontType target. วิธีการนี้จะส่งตัวอัตถุ font ใหม่ในรูปแบบที่ต้องการโดยไม่เปลี่ยนแปลงเดิม:

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)

ปัญหาทั่วไปและข้อกําหนด

FontType ไม่พบ การนําเข้า FontType จากระดับบนสุด aspose_font แพ็คเกจ: from aspose_font import FontType.

Font has no attribute font_name ยืนยันว่าคุณกําลังใช้เครื่องมือที่ติดต่อกับการตรวจสอบ Font ตัวอย่างที่กลับ โดย: FontLoader.open(), ไม่ใช่วัตถุไบต์ที่ไม่ถูกผลิต.

ความผิดพลาดในการรหัสในเส้นทาง Windows การผ่านเส้นทางเป็นสตริงสด: r"C:\Fonts\MyFont.ttf".

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

FontLoader รองรับรูปแบบตัวอักษรอะไร?

FontLoader.open() รองรับ TTF, OTF , CFF, ประเภท 1, WOFF , WOff2 และ EOT.

ผมสามารถอัตราการใช้งานจากไบท์ได้หรือไม่?

ใช่แล้ว. FontLoader.open() รับการรหัสทางไฟล์, ไบต์ หรือวัตถุสตรีมผ่าน source ด้วยการโต้แย้งอย่างชัดแจ้ง font_type ปารามีเตอร์.

Font.to_bytes ((() มีหรือไม่?

ไม่นะครับ. Font.to_bytes() ไม่ได้ถูกนําไปใช้ในคลาสฐาน. ใช้ FontConverter.convert() เพื่อเปลี่ยนรูปแบบ, จากนั้นใช้วิธีการ Save ของซับคลาส.

See Also

 ภาษาไทย