Làm việc với Fonts CFF

Làm việc với Fonts CFF

Làm việc với Fonts CFF

Hướng dẫn này cho bạn thấy cách tải và kiểm tra nội bộ chữ cái CFF - charsets, mã hóa bảng, từ điển, và cấu trúc chỉ số - bằng cách sử dụng Aspose.Font FOSS for Python.

Các phông chữ Compact Font Format (CFF) lưu trữ các bản ghi glyph như là chương trình chart 2 . Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff Tên miền để đọc các bảng CFF, mã hóa bảng, từ điển và chỉ số.


CFF Charset Đánh giá

CffCharset maps glyph IDs to PostScript glyf names. gọi điện thoại CffCharset.standard() để có được cài đặt Adobe ISO tích hợp, sau đó sử dụng name_for()gid_for() để dịch giữa các ID glyph và tên.

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 mã hóa

CffEncoding maps characters codes to glyph IDs. mã hóa tiêu chuẩn bao gồm Adobe Latin character set; sử dụng unicode_to_gid() Xem thêm các điểm mã cá nhân và get_all_codepoints() - Đặt danh sách mỗi giá trị được mapped.

from aspose_font.cff.encoding import CffEncoding

enc = CffEncoding.standard()
gid = enc.unicode_to_gid(0x41)
codepoints = enc.get_all_codepoints()

Từ điển CFF Parsing

CffDict.from_bytes() mỗi nhà khai thác bản đồ chìa khóa vào một danh sách các giá trị số cấu hình chữ, chẳng hạn như chiều rộng mặc định hoặc offset subroutine.

from aspose_font.cff.dict_ import CffDict

d = CffDict.from_bytes(raw_bytes)
vals = d.get(21)   # retrieve values for operator 21

Mức độ CFF Index

CffIndex.from_reader() Các cấu trúc INDEX là các gốc của dữ liệu chiều dài biến được sử dụng cho bảng tên, bảng dòng và lưu trữ charting trong các phông chữ 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)}")

Loại 2 - Charting Interpretation

Type2Interpreter.interpret() chạy một loại 2 chart và trả về một GlyphPath.

from aspose_font.cff.type2 import Type2Interpreter

interpreter = Type2Interpreter()
glyph_path = interpreter.interpret(charstring_bytes, private_dict)

Mẹo và Thực hành Tốt nhất

  • Sử dụng CffEncoding.standard() như một đường băng; vượt qua với from_reader() cho các mã hóa tích hợp
  • CffDict.to_bytes() Để bạn tái tạo các từ điển được sửa đổi
  • Hiệu luận chọc chỉ cần thiết cho chiết xuất rễ glyph; GlyphAccessor bao gồm hầu hết các trường hợp sử dụng ở mức cao hơn

Tóm tắt Tham chiếu API

Class / Phương phápDescription
CffCharset.standard()Tiêu chuẩn ISO Adobe Charse
CffCharset.name_for(gid)PostScript tên cho một Glyph ID
CffCharset.gid_for(name)Glyph ID cho PostScript
CffEncoding.standard()Tiêu chuẩn CFF mã hóa bảng
CffEncoding.unicode_to_gid(cp)Mã bản đồ điểm đến GID
CffDict.from_bytes(data)Đánh giá về CFF DICT
CffDict.get(operator)Nhận giá trị cho một nhà điều hành DICT
CffIndex.from_reader(reader)Tính năng của CFF Index
Type2Interpreter.interpret(cs, pd)Chạy loại 2 charstring

See Also

 Tiếng Việt