Appearance predefinite FreeText native

Il fallback nativo di FreeText applica lo stato limitato dell'appearance predefinita al testo generato, al layout, al fitting automatico e alle decorazioni

Un'appearance normal fornita ha precedenza sulla generazione dall'appearance predefinita di FreeText e dal rich text

Operatori dell'appearance predefinita

OperatoriComportamento di fallback
TfSeleziona la risorsa di font originale e la dimensione del testo; dimensione zero richiede fitting automatico limitato
g rg kInizializza il colore di riempimento del testo in grigio, RGB o CMYK
Tc Tw TzApplica spaziatura di caratteri e parole e scala orizzontale del testo alle misurazioni di painting e layout
Ts TLApplica il rise del testo e la separazione esplicita della baseline, incluso un interlinea zero o negativo
TmAccetta al massimo una matrice; la sua parte lineare trasforma il testo generato, mentre il layout dell'annotazione determina il posizionamento
TrSeleziona le modalità di painting dei glifi e clipping del testo da zero a sette
G RG K w J j M dInizializza colore di stroke, width, cap, join, miter e stato del dash per testo e decorazioni generate

Gli operandi di traslazione della matrice sono validati ma non sostituiscono il posizionamento di FreeText dentro il suo rettangolo di annotazione

La scala orizzontale può essere zero o negativa; rise, spaziatura e la matrice lineare partecipano alla geometria trasformata di glifi, avanzamenti e decorazioni

Questo è un profilo limitato di appearance predefinita, non un interprete generale dei content-stream PDF; operatori non supportati, conteggi di operandi non validi, valori malformed e matrici di testo ripetute producono un errore di rendering

Le componenti del colore di stroke devono essere nell'intervallo da zero a uno, i valori di cap e join devono essere interi da zero a due, il width deve essere non negativo e il limite di miter almeno uno

Un array di dash può contenere al massimo 256 valori finiti non negativi e un array non vuoto deve contenere un valore positivo; un array vuoto seleziona tratti pieni, un array dispari ripete e la fase deve essere non negativa

Layout, wrapping e posizionamento

L'allineamento di FreeText usa avanzamenti visibili per il posizionamento a sinistra, centro o destra; gli spazi finali codificati e i loro mapping sorgente restano presenti quando lo stream generato conserva quei fragment

Il wrapping ai confini di parola e le interruzioni di paragrafo forzate hanno una gestione separata; uno spazio non divisibile non diventa un separatore soft ASCII ordinario

Il percorso raw-font originale conserva le sue regole limitate di wrapping con spazio e trattino; questo insieme di acceptance non stabilisce ogni caso di line-breaking Unicode, bidirezionalità o shaping complesso

Il rettangolo fisico dell'annotazione, i limiti del Form radice e il clip interno restano fissi; i limiti temporanei dei Form figli tengono conto dell'intera catena di antenati e posizionamento

Painting dei glifi e clipping del testo

TrPainting dei glifiContributo al clip
0RiempimentoNessuno
1StrokeNessuno
2Riempimento e strokeNessuno
3Nessun painting dei glifiNessuno
4RiempimentoContorni dei glifi
5StrokeContorni dei glifi
6Riempimento e strokeContorni dei glifi
7Nessun painting dei glifiContorni dei glifi

Le modalità da quattro a sette accumulano i contorni dei glifi attraverso i run generati in un unico oggetto testo; il clip di testo accumulato si applica dopo quell'oggetto testo alle successive decorazioni generate di sottolineato e barrato

Il clip usa i contorni dei glifi invece della silhouette dello stroke espanso; lo stato di painting resta specifico di ogni run e l'ambito di graphics-state che racchiude limita la vita del clip

Lo stato iniziale del stroke DA si applica nell'ambito di decorazione radice così come negli ambiti di testo; le sovrascritture per run e il save e restore del graphics-state conservano il loro significato

I quattro casi di clipping positivo sono un varco di acceptance separato con appearance a due run scritte a mano, decorazioni ritagliate positive e campioni bianchi fuori dall'unione dei glifi

Quel varco usa anche un testimone di riempimento di rettangolo a appearance esplicita per verificare il clipping del testo del backend; il testimone non afferma che la generazione con appearance mancante emette il riempimento del rettangolo

La validazione dei reader indipendente di Tr4 a Tr7 positivi ha passato i quattro casi finiti a due run con il MuPDF 1.28.5 ufficiale e Poppler, inclusi entrambi gli interni dei glifi, decorazioni ritagliate e campioni bianchi fuori dall'unione dei glifi

La revisione di test separata di solo clip usa Scale4 per selezionare celle di pixel complete da punti testimone invariati in spazio pagina; conserva le soglie di colore originali e lascia il rendering normal45 a Scale1

MuPDF 1.28.2 ha un problema di compatibilità dei limiti di clipping quando un cambio di colore scarica un run prima di un run successivo nello stesso oggetto testo; il run precedente può essere escluso dai limiti di clip accumulati

Il CLI ufficiale di MuPDF 1.28.5 e il Poppler fissato indipendentemente hanno accettato queste appearance invariate; le versioni dei reader e i controlli positivi finiti restano distinti da una garanzia per ogni pipeline di rendering

Fitting automatico

Una dimensione del font DA di zero avvia una ricerca limitata di riduzione e raffinamento dal layout generato iniziale, usando percorsi di glifi trasformati, avanzamenti e decorazioni invece di una sola altezza di riga non trasformata

L'espansione dello stroke include il supporto trasformato conservativo degli angoli con cap quadrato tratteggiati e giunzioni a miter

La ricerca conserva la quantizzazione dei percorsi consolidata di Cairo e FreeType; non promette la dimensione del font ideale matematicamente maggiore né un hinting identico tra i reader

Se nessuna prova si adatta prima che la ricerca limitata raggiunga la sua prova minima, il clip fisico limita comunque la pubblicazione; i contenuti molto lunghi non hanno garanzia di restare completamente visibili

Font originali e limiti delle risorse

Il fallback originale Type1C, CIDFontType0C e Type1 bare incorporato è già supportato; i percorsi di appearance dell'istanza predefinita OpenType CFF e CFF2 completi conservano le loro regole documentate di mapping e incorporamento

Gli stream CFF2 raw autonomi e la selezione di coordinate di variazione non predefinite restano fuori dal percorso CFF2 rilasciato

I limiti di token, oggetti, memoria di lavoro, operazioni, dati decodificati e output si applicano al parsing, alle risorse temporanee, al fitting e alla pubblicazione; la cancellazione viene interrogata durante il lavoro limitato

Il fallimento preserva il grafo sorgente e consente il recupero nello stesso documento; raggiungere un limite non trasforma un'appearance parzialmente generata in un risultato riuscito

Acceptance riproducibile e confini rimanenti

La suite pubblica è Tests/Linux/AnnotationDefaultAppearance/RunAnnotationDefaultAppearance.py, distribuita con i suoi asset e un manifesto completo dell'archivio

La sua modalità normale esegue 45 coppie candidato/AP-scritto-a-mano con differenza massima di canale due, sette gruppi di limiti originali e geometria continua originale-AP indipendente con epsilon 1e-6

I render dei reader originali-AP positivi e le osservazioni note di celle di pixel verticali vengono registrate separatamente dalla geometria continua; né l'uguaglianza delle coppie né quelle osservazioni finite provano geometria arbitraria dei candidati generati o inviluppi raster trasformati arbitrari

La modalità finite-AP verifica sei controlli affini e di dash di appearance esplicita conservati; non sostituisce l'acceptance normale, le verifiche dei candidati generati o i test dei limiti

Le 45 appearance generate conservate hanno passato la geometria continua indipendente con epsilon 1e-6; le loro 90 immagini di reader MuPDF e Poppler fissate hanno anche passato un modello indipendente di immagine completa su tutte le 3.168.000 celle di pixel con differenza massima di canale zero, nessuna immagine saltata e nessuna cella esclusa

Quel modello finito deriva glifi, trasformazioni, clipping, tratti e composizione attesi dalle appearance scritte a mano originali e dai contorni dei font, usando il kernel FreeType fissato di ciascun reader; non apprende i pixel attesi dalle immagini osservate

La differenza massima di canale originale resta due e la soglia di inchiostro resta 245; questi passaggi coprono il corpus conservato e le pipeline fissate, non font arbitrari, tutte le build dei renderer o una prova della dimensione adattata matematicamente maggiore

I target FPC Linux e Windows richiedono FPC 3.3.1 o successivo; il FPC Windows usa una build privata di dipendenze NoGUI verificata separatamente e non lancia reader desktop

Argomenti correlati: fallback delle annotazioni, decorazioni delle annotazioni, spaziatura dei run del rich text, appearance raw-font originali e appearance dell'istanza predefinita OpenType CFF2