Appearances portátiles de contraseñas XFA

Unit: HPDFXFAHeadless

HPDFXFAWriteHeadlessPDF consume los campos XFA passwordEdit como widgets de texto nativos con el flag de contraseña PDF y una appearance enmascarada de fuente incrustada en Windows y Linux

La appearance 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 signos combinantes y ZWJ aportan cada uno su propio asterisco

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

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

Límites y cancelación

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

TXFAHeadlessPDFResult.GlyphUnits cuenta los asteriscos realmente generados para las appearances de contraseñas; la contabilidad UTF-16 existente para texto ordinario y los demás consumidores de appearances no cambia

Dos caracteres suplementarios caben en un presupuesto MaxGlyphs restante 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 appearances

Los fallos de preparación, presupuesto y cancelación dejan la posición de destino, la longitud y los bytes existentes del llamador sin cambios; los errores de escritura en destino siguen el comportamiento de escritura parcial del propio stream

Verificación

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

El verificador independiente comprueba los valores nativos, flags, secuencias CID reales del AP, ToUnicode e IDs de glifos incrustados, y luego renderiza y extrae los PDFs guardados con MuPDF

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