کار با CFF Fonts
کار با CFF Fonts
این راهنمای نشان می دهد که چگونه برای بارگذاری و بررسی فونت های CFF - چارز، جدول رمزگذاران، دیکشنری ها و ساختارهای شاخص - با استفاده از Aspose.Font FOSS برای Python.
فاکتورهای کامپکت فونت (CFF) ذخیره گلیف ها به عنوان برنامه های چارستینگ نوع 2 است. Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff نام فضایی برای خواندن چارزهای CFF، رمزگذاری جدول ها، دیکشنری ها و شاخص ها.
CFF شارژر
CffCharset نقشه ها گلیف IDs به PostScript نام های گلیف. CffCharset.standard() برای استفاده از ISO Adobe، از آن استفاده کنید. name_for() و gid_for() ترجمه بین Glyph ID ها و نام ها.
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 ها. کدگذاری استاندارد شامل مجموعه ای از کاراکترهای Adobe Latin است؛ استفاده از 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 Parsing
CffDict.from_bytes() هر اپراتور نقشه های کلیدی را به یک لیست از ارزش های عددی که فونت را تنظیم می کند، مانند عرض پیش فرض یا اسلاید زیر رویتین.
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() ساختار INDEX ریشه های داده های متغیر طول مورد استفاده برای جدول نام، جدول خط و ذخیره سازی چارچوب در داخل فونت 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)}")نوع 2 تفسیر شریفی
Type2Interpreter.interpret() یک نوع 2 را اجرا می کند و به آن بازگردانده می شود. 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()اجازه دهید کلمات را دوباره به صورت مجدد ویرایش کنید.- تفسیر شارستینگ تنها برای استخراج خروجی گلیف خام مورد نیاز است.;
GlyphAccessorبیشتر موارد مورد استفاده را در سطح بالاتر پوشش می دهد.
API خلاصه ای از ارجاعات
| کلاس / روش | Description |
|---|---|
CffCharset.standard() | استاندارد ISO Adobe Charse |
CffCharset.name_for(gid) | نام PostScript برای یک Glyph 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 را ثبت کنید |
Type2Interpreter.interpret(cs, pd) | کارگردانی نوع 2 |