การทํางานกับ CFF Fonts
การทํางานกับ CFF Fonts
คู่มือนี้แสดงวิธีการอัตราบรรจุและตรวจสอบ CFF แฟนตินาล ชาร์เซ็ท, ตารางโค้ด, พจนานุกรม และโครงสร้างอินเด็กซ์ ✓ โดยใช้ Aspose.Font FOSS สําหรับ Python .
แฟนต์ Compact Font Format (CFF) สังกัดการจัดสรร glyphs เป็นโปรแกรม charstring แบบ 2. Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff namespace สถานที่ชื่อ สําหรับการอ่านตัวอักษร CFF, ตารางโค้ด, พจนานุกรม และอินเด็กซ์.
CFF ชาร์เซต
CffCharset แผนที่ ID ไกลิฟ์ไปยังชื่อไกลีฟล์ PostScript. โทร CffCharset.standard() เพื่อรับตัวอักษร ISO Adobe ที่อยู่ในระบบ แล้วใช้ name_for() และ gid_for() เพื่อแปลระหว่างตัวเลขไกลิกฟ์และชื่อ.
from aspose_font.cff.charset import CffCharset
charset = CffCharset.standard()
name = charset.name_for(1) # PostScript name for GID 1
gid = charset.gid_for("A") # GID for PostScript name "A"การรหัส CFF
CffEncoding แผนที่รหัสตัวอักษรเป็น ID ของ glyph การโคดมาตรฐานครอบคลุมเซตตัว อาก็พ์ลาติก; ใช้ unicode_to_gid() เพื่อค้นหาจุดโค้ดแต่ละอัน และ get_all_codepoints() เพื่อรายการค่าที่ถูกแผนผังทั้งหมด.
from aspose_font.cff.encoding import CffEncoding
enc = CffEncoding.standard()
gid = enc.unicode_to_gid(0x41)
codepoints = enc.get_all_codepoints()การพารัสคําศัพท์ CFF
CffDict.from_bytes() การพารัส blob CFF DICT แร่ เป็นการผนอที่ใช้คีย์ผู้ประกอบการ แต่ละตัวเลือกของ operator key จะนําไปเป็นรายชื่อค่าจํานวน ที่ตั้งค่า font เช่น ความกว้างตามปกติ หรือชําระล่วงหน้า.
from aspose_font.cff.dict_ import CffDict
d = CffDict.from_bytes(raw_bytes)
vals = d.get(21) # retrieve values for operator 21อินเด็กซ์ CFF
CffIndex.from_reader() การพารสโครงสร้างข้อมูล CFF INDEX จากสายไบนารี สถาปนิก INDEX เป็นอาร์เรย์ของข้อมูลความยาวตัวแปรที่ใช้สําหรับตารางชื่อ ตารากลวด และการเก็บ Charstring ภายใน fonts ของ Cff.
from aspose_font.cff.index import CffIndex
from aspose_font._io import BinaryReader # internal API — may change between releases
import io
reader = BinaryReader(io.BytesIO(raw_index_bytes))
index = CffIndex.from_reader(reader)
print(f"INDEX entries: {len(index)}")การตีความ Charstring ประเภท 2
Type2Interpreter.interpret() ใช้ charstring แบบ 2 และคืน a GlyphPath.
from aspose_font.cff.type2 import Type2Interpreter
interpreter = Type2Interpreter()
glyph_path = interpreter.interpret(charstring_bytes, private_dict)เคล็ดลับและปฏิบัติที่ดีที่สุด
- การใช้งาน
CffEncoding.standard()เป็นระดับเบส; ยกเว้นด้วยfrom_reader()สําหรับการรหัสที่ติดตั้งในระบบ CffDict.to_bytes()ให้คุณซีเรียลใหม่วัตถุดิทานที่เปลี่ยนไป- การตีความ Charstring เพียงแค่จําเป็นสําหรับการสกัดรูปแบบ glyph แผ่นทรัพย์สิน;
GlyphAccessorครอบคลุมส่วนใหญ่ของกรณีการใช้ในระดับสูงกว่า
คําอธิบายการพบบ่อย API
| ประเภท / กลไก | Description |
|---|---|
CffCharset.standard() | เซ็นเตอร์ตัวอักษร ISO มาตรฐาน Adobe |
CffCharset.name_for(gid) | ชื่อ PostScript สําหรับ ID ไกลิฟ์ |
CffCharset.gid_for(name) | Glyph ID สําหรับชื่อ PostScript |
CffEncoding.standard() | ตารางการโค้ด CFF แบบมาตรฐาน |
CffEncoding.unicode_to_gid(cp) | คอร์ดแผนที่จุด GID |
CffDict.from_bytes(data) | การวิเคราะห์ CFF DICT แพร่ |
CffDict.get(operator) | รับค่าสําหรับผู้ประกอบการ DICT |
CffIndex.from_reader(reader) | การวิเคราะห์ CFF INDEX |
Type2Interpreter.interpret(cs, pd) | การดําเนินการ charstring ประเภท 2 |