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 21

Indeks 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.; GlyphAccessor obuhvaća većinu slučajeva upotrebe na višoj razini.

Svrha referentnog API-a

Klasa / metodaOpisivanje
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

Također pogledajte:

 Hrvatski