CFF Fonts ile çalışmak

CFF Fonts ile çalışmak

Bu kılavuz, Aspose.Font FOSS’u Python için kullanarak CFF yazı tipi içeriği - çarşetler, kodlama tabloları, sözlükler ve endeks yapıları - nasıl yüklemek ve kontrol etmektir.

Compact Font Format (CFF) yazı tipleri, tip 2 çarşaf programları olarak glif çıkışlarını kaydeder. Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff Namespace İlanı CFF çarşetleri okumak, kodlama tabloları, sözlükler ve endeksler.


CFF Çarşamba

CffCharset Glyph Adı: PostScript Glif Adları CffCharset.standard() ISO Adobe karseti almak için, sonra kullanın name_for() ve gid_for() Glyph ID’leri ve isimleri arasında çevirmek için.

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 kodlama

CffEncoding haritalar karakter kodları glif ID’ler. standart kodlama Adobe Latin karakter setini kapsamaktadır; kullanın unicode_to_gid() Bireysel kod noktalarını incelemek ve get_all_codepoints() Her haritalan değerini listeleme.

from aspose_font.cff.encoding import CffEncoding

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

CFF Sözlük Parsing

CffDict.from_bytes() Her operatör anahtarlı bir harita içine bir CFF DICT çubuk parsa. her operatörü, yazı tipi ayarlayan sayısal değerlerin listesine anahtardır, örneğin varsayılan genişlik veya subroutin offsetler.

from aspose_font.cff.dict_ import CffDict

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

CFF Endeksi

CffIndex.from_reader() INDEX yapıları, isim tabloları, çerçeve tablosu ve CFF yazı tiplerinde çarşaf depolama için kullanılan değişken uzunluk verilerinin köküdür.

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)}")

Tip 2 Çerçeve Yorumları

Type2Interpreter.interpret() 2. Tipi bir çarşaf yaptırır ve geri döner. GlyphPath.

from aspose_font.cff.type2 import Type2Interpreter

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

İpuçları ve En İyi Uygulamalar

  • Kullanım CffEncoding.standard() bir baseline; üstü ile from_reader() İçerideki kodlama için
  • CffDict.to_bytes() Değiştirilmiş Sözlüklerin yeniden seriye dönüştürülmesine izin verin.
  • Çerçeve yorumlanması yalnızca ham glif çıkış ekstraksiyonu için gereklidir; GlyphAccessor Çoğu kullanım durumunu daha yüksek bir seviyede kapsar.

API Referans Özetleri

Sınıf / YöntemDescription
CffCharset.standard()ISO standart Adobe çarşet
CffCharset.name_for(gid)Glyph ID için PostScript adı
CffCharset.gid_for(name)PostScript Adı için Glyph ID
CffEncoding.standard()Standart CFF kodlama tablosu
CffEncoding.unicode_to_gid(cp)GID’e harita kodu noktası
CffDict.from_bytes(data)Bir CFF DICT’ye Çıkarma
CffDict.get(operator)DICT operatörü için değerler alın
CffIndex.from_reader(reader)CFF Endeksi ile ilgili bilgiler
Type2Interpreter.interpret(cs, pd)Tip 2 Charstring’i gerçekleştirmek

See Also

 Türkçe