OpenType CFF2 default-instance appearances
Native plain-, rich-, shaped- en family-appearance-builders accepteren een complete OpenType OTTO-font met CFF2-outlines op diens default variation-coördinaten
Het oorspronkelijke font blijft de bron voor Unicode-charactermapping, glyph-indices, horizontale advances en shaping; HarfBuzz lost diens default-instance-outlines op, inclusief outlines die via meerdere font dictionaries zijn geselecteerd
De builder converteert elke glyph naar een statisch CID-keyed CFF 1-programma en embedt het als FontFile3 met Subtype CIDFontType0C, een Adobe Identity-collectie en CIDs gelijk aan de oorspronkelijke glyph-indices
De gegenereerde encoding, widths en ToUnicode-mapping behouden de oorspronkelijke glyph-identiteit en logische Unicode-sequenties, inclusief supplementary characters, ligatures en combining marks
Dit levert een PDF 1.7-fontprogramma op met de CFF 1-structuren uit ISO 32000-1:2008 9.7 en 9.9; CFF2 wordt niet rechtstreeks in een PDF-fontstream geëmbed
Een HarfBuzz-library met matchende architectuur die hb_font_draw_glyph en immutable draw-callbacks blootlegt is vereist, ook voor onshaped tekst; deze API's zijn beschikbaar vanaf HarfBuzz 7, en HOTPDF_HARFBUZZ_LIBRARY selecteert een expliciete library
Complex shaping gebruikt daarnaast de bestaande FriBidi-dependency en het bestaande scale-1000 integer-advance-contract; ideale ongequantiseerde advances op de oorspronkelijke unitsPerEm blijven een aparte precisiebeperking
Editable appearances vragen installable- of editable-embedding-permission; read-only appearance-generatie staat preview-and-print-permission toe, terwijl restricted- en bitmap-only-permission geweigerd blijven
No-subsetting behoudt elke oorspronkelijke glyph in het geconverteerde programma, inclusief ongebruikte glyphs; conversie verandert het font-programma-formaat en garandeert geen byte-voor-byte-behoud van de oorspronkelijke OpenType-container
Het geconverteerde programma gebruikt een afwijkende primaire naam en behoudt leesbare copyright- en license-notities plus de oorspronkelijke name-table-bytes
Source-font-, working-buffer-, complete-font-layout-, object-size-, rich-font-aggregate-, annulerings- en native rendering-bounds worden gecontroleerd vóór publicatie; misvormde missing-glyph-programma's blijven fouten, terwijl geldige lege glyphs behouden blijven
De Type 2-uitvoer heeft 16.16-coördinaatprecisie en begrensde operand-delta's, hoogstens 65.535 glyphs en hoogstens 65.535 bytes per glyph-programma
Standalone raw CFF2-tabellen, directe CFF2-fontstreams in bestaande PDF default-appearance-resources, niet-default variation-axis-selectie en bredere complex-text-layout vallen buiten deze backend
Bestaande CFF 1 OpenType-invoer blijft de compact appearance backend gebruiken, terwijl embedded Type1-, Type1C- en CIDFontType0C-annotatieresources de oorspronkelijke raw-font-fallback gebruiken
TryGetCFF2FontTable is een begrensde format-capability-query, geen volledige outline- of permission-validatie