Portable XFA password appearances

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF konsumuje pola passwordEdit XFA jako natywne widgety tekstowe z flagą password PDF i maskowanym wyglądem z osadzonym fontem na Windows i Linux

Wygląd zawiera jedną gwiazdkę na każdą wartość skalarną Unicode: znak uzupełniający reprezentowany parą surrogate UTF-16 daje jedną gwiazdkę, a znaki łączące i ZWJ wnoszą po własnej gwieździe

Natywny /V zachowuje kompletną autorską wartość Unicode; maskowanie wyglądu nie dostarcza szyfrowania ani nie usuwa tej wartości z PDF

Na przykład A😀B daje trzy gwiazdki, a é dwie, bo akcent łączący jest osobnym skalarem

Limits and cancellation

Adapter sprawdza anulowanie podczas liczenia skalarów i sprawdza pozostały zagregowany budżet glifów przed alokacją ciągu maski

TXFAHeadlessPDFResult.GlyphUnits liczy rzeczywiście wygenerowane gwiazdki dla wyglądów password; istniejące rozliczenie UTF-16 zwykłego tekstu i innych konsumentów wyglądów pozostaje niezmienione

Dwa znaki uzupełniające mieszczą się w pozostałym budżecie MaxGlyphs równym dwa; budżet jeden zawodzi przed alokacją maski

Oryginalna wartość pozostaje poddana limitom wejścia i bajtów obiektów, a wszystkie pola dzielą zagregowany budżet wyglądów

Awarie przygotowania, budżetu i anulowania pozostawiają pozycję, długość i istniejące bajty celu wywołującego niezmienione; błędy zapisu do celu podążają za własnym zachowaniem częściowych zapisów strumienia

Verification

Tests/Linux/XFAHeadlessPasswordTests.pas i runery haseł Windows oraz Linux weryfikują dokładne limity, granice anulowania, zachowanie strumieni i zachowanie ponowienia

Niezależny weryfikator sprawdza natywne wartości, flagi, rzeczywiste sekwencje CID AP, ToUnicode i osadzone identyfikatory glifów, a potem renderuje i ekstrahuje zapisane PDF-y MuPDF-em

Automatyczne tworzenie XFA opisuje pozostałych natywnych konsumentów pól i rysowania