کار با 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

See Also

 فارسی