Apariencias de password XFA portátiles

Unidad: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF consume los campos XFA passwordEdit como widgets de texto nativos con el flag de password PDF y una apariencia enmascarada con fuente embebida en Windows y Linux

La apariencia contiene un asterisco por cada valor escalar Unicode: un carácter suplementario representado por un par surrogate UTF-16 produce un asterisco, mientras que los combining marks y ZWJ aportan cada uno su propio asterisco

El /V nativo retiene el valor Unicode completo escrito; el enmascaramiento de apariencia no proporciona cifrado ni elimina ese valor del PDF

Por ejemplo, A😀B produce tres asteriscos, y é produce dos porque el acento combining es un escalar separado

Límites y cancelación

El adapter comprueba la cancelación mientras cuenta los escalares y comprueba el presupuesto agregado restante de glifos antes de asignar la cadena de máscara

TXFAHeadlessPDFResult.GlyphUnits cuenta los asteriscos realmente generados para las apariencias de password; la contabilidad UTF-16 existente para texto ordinario y otros consumidores de apariencias no cambia

Dos caracteres suplementarios caben en un presupuesto restante de MaxGlyphs de dos; un presupuesto de uno falla antes de asignar la máscara

El valor original sigue sujeto a los límites de entrada y de bytes de objetos, y todos los campos comparten el presupuesto agregado de apariencias

Las fallas de preparación, presupuesto y cancelación dejan la posición, longitud y bytes existentes del destino del llamador sin cambios; los errores de escritura en destino siguen el comportamiento de partial-write del propio stream

Verificación

Tests/Linux/XFAHeadlessPasswordTests.pas y los runners de password de Windows y Linux verifican presupuestos exactos, límites de cancelación, preservación de streams y comportamiento de reintento

El verificador independiente comprueba los valores nativos, los flags, las secuencias AP CID reales, ToUnicode y los glyph IDs embebidos, luego renderiza y extrae los PDFs guardados con MuPDF

Creación automática de XFA describe los demás consumidores nativos de campos y dibujo