Appearance di password XFA portabili

Unità: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF consuma i campi XFA passwordEdit come widget di testo nativi con il flag password dei PDF e un'appearance mascherata a font incorporato su Windows e Linux

L'appearance contiene un asterisco per ciascun valore scalare Unicode: un carattere supplementare rappresentato da una coppia di surrogate UTF-16 produce un asterisco, mentre combining mark e ZWJ contribuiscono ciascuno con il proprio asterisco

Il /V nativo conserva il valore Unicode completo scritto dall'autore; la mascheratura dell'appearance non fornisce cifratura né rimuove quel valore dal PDF

Ad esempio, A😀B produce tre asterischi, ed é ne produce due perché l'accento combinante è uno scalare separato

Limiti e cancellazione

L'adapter controlla la cancellazione durante il conteggio degli scalari e verifica il budget aggregato residuo di glifi prima di allocare la stringa maschera

TXFAHeadlessPDFResult.GlyphUnits conta gli asterischi effettivamente generati per le appearance di password; il conteggio UTF-16 esistente per il testo ordinario e gli altri consumer di appearance resta invariato

Due caratteri supplementari entrano in un budget MaxGlyphs residuo di due; un budget pari a uno fallisce prima dell'allocazione della maschera

Il valore originale resta soggetto ai limiti di input e byte per oggetto, e tutti i campi condividono il budget aggregato di appearance

I fallimenti di preparazione, budget e cancellazione lasciano invariate posizione, lunghezza e byte esistenti della destinazione del chiamante; gli errori di scrittura a destinazione seguono il comportamento di scrittura parziale proprio dello stream

Verifica

Tests/Linux/XFAHeadlessPasswordTests.pas e i runner password Windows e Linux verificano budget esatti, confini di cancellazione, preservazione degli stream e comportamento di retry

Il verifier indipendente controlla valori nativi, flag, sequenze CID reali negli AP, ToUnicode e ID dei glifi incorporati, poi renderizza ed estrae i PDF salvati con MuPDF

Creazione XFA automatica descrive gli altri consumer nativi di campi e disegno