Runtime XFA portable
El modelo nativo de datos, layout y eventos de TXFAWidgetRuntime se ejecuta con Delphi o FPC en Windows y con FPC en Linux x86-64
La ejecución del núcleo en Linux no requiere LCL, sesión de escritorio ni capa de compatibilidad con Windows; el build FPC de Windows conserva su inicialización RTL UTF-8 de Lazarus existente
Bridge JavaScript nativo
bash tools/Build-HotPDFQuickJSLinux.sh /var/tmp/hotpdf-native
export HOTPDF_QUICKJS_DLL=/var/tmp/hotpdf-native/libhpdfquickjs.so
export HOTPDF_SUPPRESS_AUTO_LAUNCH=1
El bridge de Linux se construye a partir de los sources de QuickJS incluidos con compilación compatible con GCC y usa la misma ABI HPDFQJS versionada que la DLL de Windows
QuickJSDLLPath y HOTPDF_QUICKJS_DLL aceptan una ruta explícita de librería compartida en Linux; los nombres de API existentes se conservan por compatibilidad de source
El descubrimiento por defecto comprueba libhpdfquickjs.so junto al ejecutable y Lib/thirdparty/QuickJS/bin/Linux64 en los directorios ancestro del ejecutable
Cada sesión posee una referencia a su módulo cargado exacto hasta que su engine nativo, contextos y callbacks hayan sido liberados; las sesiones conservan estado de script y journals independientes
Los relojes monótonos nativos hacen cumplir los presupuestos existentes de eventos, XML y layout; los valores de epoch deterministas, las respuestas aleatorias y las respuestas de transporte externo siguen grabadas y se reproducen transaccionalmente
Locales de Linux
El backend de locales de Linux nativo lee nombres de calendario ICU del sistema, símbolos decimales y de agrupación, símbolos y códigos de moneda, marcadores AM/PM y patrones de número/fecha/hora
Los locales con nombre usan identificadores BCP47 completamente parseados y datos de idioma ICU conocidos; los separadores de guion bajo se canonicalizan, y los idiomas no soportados o los identificadores mal formados devuelven False
Un nombre vacío selecciona el locale por defecto configurado de ICU; las definiciones localeSet del documento y los providers de locale explícitos de la aplicación conservan su prioridad existente
Se requieren tanto libicuuc como libicui18n; el loader resuelve versiones de export de ICU coincidentes, incluidas librerías runtime versionadas sin symlinks de desarrollo
ICU y Windows pueden aportar patrones regionales y espacios en blanco distintos según sus datos de locale instalados; las definiciones de locale explícitas del documento pueden seleccionar un formateo de aplicación determinista
Persistencia y consumidores PDF
SaveToBytes persiste el XDP nativo, incluidas las importaciones del Data DOM, los valores por instancia, los mapeos de namespace, los comentarios y las instrucciones de procesamiento, con el mismo comportamiento de rollback en ambas plataformas
Un fixture consumidor de XDP guardados de Linux recarga TXFAWidgetRuntime y aplica sus valores reales a través de los field setters de THPDFHeadlessDocument y la generación nativa de apariencias
Ese consumidor usa una plantilla de campos PDF preparada de forma independiente; la creación automática de campos XFA a PDF en Linux y el rendering interactivo completo siguen siendo trabajo de integración aparte