วิธีการทํางานกับ CFF Font ใน Python
CFF (Compact Font Format) เป็นรูปแบบแนวทางที่ใช้ในตัวอักษร OpenType และเป็นตัวอิสระ .cff ภาพไฟล์ Aspose.Font FOSS แสดง CFF แฟนเป็น CffFont ในกรณีที่ขยายไปยัง ฐาน Font ประเภทและแสดงข้อมูลเฉพาะ CFF.
คู่มือขั้นตอนตามขั้นตอนนี้
ขั้นตอนที่ 1: ติดตั้งแพคเกจ
pip install "aspose-font>=1.0.0"ขั้นตอนที่ 2: นําเข้าชั้นเรียนที่จําเป็น
from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
from aspose_font import FontTypeขั้นตอน 3: อัตราการอัด CFF Font
Call FontLoader.open() กับทางไปยังของคุณ .cff ไฟล์. อัตถุที่กลับคือ CffFont ตัวอย่างที่แสดงจํานวน glyph, ชื่อตัวอักษร และคุณสมบัติเฉพาะ CFF:
font = FontLoader.open("MyFont.cff")
print(font.font_name)
print(font.num_glyphs)ขั้นตอน 4: เข้าสู่คาร์นเปอร์
วางตัวอักษรที่ติดตั้งเป็น CffFont,แล้วโทรหาฉันนะ get_kern_pairs() เพื่อหารายการของบันทึกคู่คาร์น. ไม่ใช่กราฟ CFF ทุกตัวที่มีข้อมูลคାର୍น; ตรวจสอบความยาวก่อนทําซ้ํา:
from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
cff_font: CffFont = FontLoader.open("MyFont.cff")
kern_pairs = cff_font.get_kern_pairs()
print(f"kern pairs: {len(kern_pairs)}")ขั้นตอนที่ 5: เปลี่ยน CFF เป็น TTF
ย้ายที่บรรทุก CffFont ไปยัง FontConverter.convert() มี FontType.TTF เพื่อผลิตใหม่ TtfFont ในรูปแบบการออกแบบ TTF:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("MyFont.cff")
ttf = FontConverter.convert(font, FontType.TTF)ปัญหาทั่วไปและข้อกําหนด
CffFont has no attribute cff_font — cff_font เป็นที่ดินบน TtfFont ที่ว่า การส่งข้อมูล CFF ที่ติดตัวไม่อยู่ในฐาน Font สําหรับการใช้ไฟล์ CFF ตัวอย่างเดียว CffFont โดยตรง.
คู่เมล็ดไร้สาร ไม่ใช่กราฟ CFF ทุกตัวที่มีข้อมูลคู่คาร์น. ตรวจสอบกับ len(cff_font.get_kern_pairs()) > 0 ก่อนการซ้ํา.
คําถามที่พบบ่อย
ความแตกต่างระหว่าง CffFont และ TtfFon คืออะไร?
CffFont เป็นตัวแทนของไฟล์ CFF ที่แยกกันเอง. TtfFont ตัวแทนของไฟล์ TTF/OTF; OTF สามารถนํารหัส CFF เข้าถึงได้ผ่าน ttf_font.cff_font.
ผมสามารถแปลง CFF เป็น WOFF2 ได้หรือไม่?
ใช่แล้ว. FontConverter.convert(font, FontType.WOFF2) ใช้กับอะไรก็ได้ Font ตัวอย่าง รวมถึง CffFont.