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

Vedere HPDFBuildHeadlessTextAppearance e THPDFTrueTypeData