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 21CFF 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ü ilefrom_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öntem | Description |
|---|---|
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 |