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

วิธีการทํางานกับ 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_fontcff_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.

See Also

 ภาษาไทย