Rad s CFF fontovima
Rad s CFF fontovima
Ovaj vodič pokazuje kako učitati i pregledati CFF font interne karakterizacije, kodiranje tabele, rječnike i strukture indeksa ?? pomoću Aspose.Font FOSS za Python .
Kompaktični fontni format (CFF) čipovi pohranjuju skice glifa kao programe tipa 2 za grafičke veze. Aspose.Font FOSS for Python provides dedicated classes in the aspose_font.cff ime-svijest za čitanje znakova CFF, kodiranja tabela, rječnika i indeksa.
CFF Charset
CffCharset mapira ID-ove glifa na imena postskriptskih glifova. CffCharset.standard() da biste dobili ugrađen ISO Adobe znakovnog seta, zatim koristite name_for() i u članku 1. gid_for() za prevod između identifikacijskih znakova i imena.
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"Kodiranje CFF-a
CffEncoding standardno kodiranje obuhvaća Adobe Latin set znakova; upotrebljava se unicode_to_gid() da se traže pojedinačne kodne točke i get_all_codepoints() Da se popise sve mapirane vrijednosti.
from aspose_font.cff.encoding import CffEncoding
enc = CffEncoding.standard()
gid = enc.unicode_to_gid(0x41)
codepoints = enc.get_all_codepoints()CFF rječnik Proučavanje
CffDict.from_bytes() Parser je jedan od glavnih korisnika koji se koristi za upravljanje brojem bitova u obliku CFF DICT blob-a.
from aspose_font.cff.dict_ import CffDict
d = CffDict.from_bytes(raw_bytes)
vals = d.get(21) # retrieve values for operator 21Indeks CFF-a
CffIndex.from_reader() INDEX strukture su nizovi podataka promjenjive dužine koji se koriste za imenovne tabele, tablice niza i pohranu čarstringa unutar fontova 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)}")Interpretacija Charstringa tipa 2
Type2Interpreter.interpret() izvršava Type 2 charstring i vraća a GlyphPath.
from aspose_font.cff.type2 import Type2Interpreter
interpreter = Type2Interpreter()
glyph_path = interpreter.interpret(charstring_bytes, private_dict)Savjeti i najbolje prakse
- Upotreba:
CffEncoding.standard()kao osnovna linija; prebacivanje s:from_reader()za ugrađene kodiranje CffDict.to_bytes()omogućuje re-serijalizirati modificirane rječnike- U ovom slučaju, u skladu s člankom 7. stavkom 1. točkom (a) i podstavkom 8. stavku 2. točkama 3. i 4. ovog članka.;
GlyphAccessorobuhvaća većinu slučajeva upotrebe na višoj razini.
Svrha referentnog API-a
| Klasa / metoda | Opisivanje |
|---|---|
CffCharset.standard() | Standardni ISO Adobe znakovnik |
CffCharset.name_for(gid) | Ime za identifikaciju glifa u PostScript-u |
CffCharset.gid_for(name) | Glyph ID za ime PostScript-a |
CffEncoding.standard() | Standardna tabela kodiranja CFF-a |
CffEncoding.unicode_to_gid(cp) | Uređenje i provedba: |
CffDict.from_bytes(data) | Proučavanje sirovog CFF DICT-a |
CffDict.get(operator) | Prikupiti vrijednosti za operatora DICT-a |
CffIndex.from_reader(reader) | Proučiti CFF INDEX |
Type2Interpreter.interpret(cs, pd) | Izvršiti tip 2 charstring |