Portable XFA runtime

Het native TXFAWidgetRuntime data-, layout- en event-model draait met Delphi of FPC op Windows en met FPC op Linux x86-64

Linux core-executie vraagt geen LCL, een desktopsessie of een Windows-compatibiliteitslaag; de Windows FPC-build behoudt diens bestaande Lazarus UTF-8 RTL-initialisatie

Native JavaScript-brug

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

De Linux-brug bouwt vanuit de meegeleverde QuickJS-bronnen met GCC-compatibele compilatie en gebruikt dezelfde versioned HPDFQJS ABI als de Windows-DLL

QuickJSDLLPath en HOTPDF_QUICKJS_DLL accepteren een expliciet shared-library-pad op Linux; de bestaande API-namen blijven behouden voor broncompatibiliteit

Default discovery checkt libhpdfquickjs.so naast de executable en Lib/thirdparty/QuickJS/bin/Linux64 in uitvoerbare voorouderdirectories

Elke session is eigenaar van een referentie naar diens exact geladen module totdat diens native engine, contexten en callbacks zijn vrijgegeven; sessions behouden onafhankelijke script-status en journals

Native monotone klokken handhaven de bestaande event-, XML- en layout-budgetten; deterministische epoch-waarden, random-responses en externe transport-responses blijven transactioneel geregistreerd en gereplayed

Linux-locales

De native Linux locale-backend leest system ICU-kalendernamen, decimale en groeperingssymbolen, valutasymbolen en -codes, AM/PM-markers en getal/datum/tijd-patronen

Benoemde locales gebruiken volledig geparsde BCP47-identificatoren en bekende ICU-taaldata; underscore-separators worden gecanoniseerd, en niet-ondersteunde talen of misvormde identificatoren geven False terug

Een lege naam kiest ICU's geconfigureerde default-locale; document localeSet-definities en expliciete applicatie-locale-providers behouden diens bestaande prioriteit

Zowel libicuuc als libicui18n zijn vereist; de loader lost matchende ICU-exportversies op, inclusief versioned runtime-libraries zonder development-symlinks

ICU en Windows kunnen verschillende regionale patronen en whitespace leveren op basis van diens geïnstalleerde locale-data; expliciete document-locatiedefinities kunnen deterministische applicatieformatting kiezen

Persistentie en PDF-consumers

SaveToBytes persisteert de native XDP, inclusief Data DOM-imports, per-instance waarden, namespace-mappings, comments en processing instructions, met hetzelfde rollback-gedrag op beide platforms

Een Linux opgeslagen-XDP-consumer-fixture herlaadt TXFAWidgetRuntime en past diens echte waarden toe via THPDFHeadlessDocument veld-setters en native appearance-generatie

Die consumer gebruikt een onafhankelijk voorbereide PDF-veld-template; automatische Linux XFA-naar-PDF-veldcreatie en complete interactieve rendering blijven apart integratiewerk