Appearance dell'istanza predefinita OpenType CFF2
I builder di appearance nativi plain, rich, shaped e family accettano un font OpenType OTTO completo contenente contorni CFF2 alle sue coordinate di variazione predefinite
Il font originale resta la sorgente del mapping dei caratteri Unicode, degli indici dei glifi, degli avanzamenti orizzontali e dello shaping; HarfBuzz risolve i suoi contorni dell'istanza predefinita, inclusi i contorni selezionati attraverso più dizionari di font
Il builder converte ogni glifo in un programma CFF 1 statico con chiave CID e lo incorpora come FontFile3 con Subtype CIDFontType0C, una collezione Adobe Identity e CID uguali agli indici dei glifi originali
L'encoding, i width e il mapping ToUnicode generati conservano l'identità dei glifi originali e le sequenze Unicode logiche, inclusi caratteri supplementari, legature e segni combinanti
Il risultato è un programma di font PDF 1.7 che usa le strutture CFF 1 descritte da ISO 32000-1:2008 9.7 e 9.9; CFF2 non viene incorporato direttamente in uno stream di font PDF
È richiesta una libreria HarfBuzz di architettura corrispondente che esponga hb_font_draw_glyph e callback di disegno immutabili, incluso per testo non shaped; queste API sono disponibili da HarfBuzz 7, e HOTPDF_HARFBUZZ_LIBRARY seleziona una libreria esplicita
Lo shaping complesso usa anche la dipendenza FriBidi esistente e l'esistente contratto di avanzamento intero scale-1000; gli avanzamenti ideali non quantizzati al unitsPerEm originale sono una limitazione di precisione separata
Le appearance modificabili richiedono il permesso di incorporamento installable o editable; la generazione di appearance read-only consente il permesso preview-and-print, mentre i permessi restricted e bitmap-only restano rifiutati
No-subsetting conserva ogni glifo originale nel programma convertito, inclusi i glifi inutilizzati; la conversione cambia il formato del programma di font e non promette la conservazione byte per byte del contenitore OpenType originale
Il programma convertito usa un nome primario distinto e conserva avvisi di copyright e licenza legibili più i byte originali della name-table
I limiti di font sorgente, buffer di lavoro, layout del font completo, dimensione oggetto, aggregato del font rich, cancellazione e rendering nativo vengono verificati prima della pubblicazione; i programmi malformed del glifo mancante restano errori mentre i glifi vuoti validi vengono conservati
L'output Type 2 ha precisione delle coordinate 16.16 e delta degli operandi limitati, al massimo 65.535 glifi e al massimo 65.535 byte per programma di glifo
Le tabelle CFF2 raw autonome, gli stream di font CFF2 diretti nelle risorse di appearance predefinita PDF esistenti, la selezione di assi di variazione non predefinita e un layout di testo complesso più ampio restano fuori da questo backend
L'input OpenType CFF 1 esistente continua a usare il backend di appearance compatte, mentre le risorse di annotazione incorporate Type1, Type1C e CIDFontType0C usano il fallback raw-font originale
TryGetCFF2FontTable è una query limitata di capacità di formato, non una validazione completa di contorni o permessi