Portable XFA runtime

Natywny model danych, layoutu i zdarzeń TXFAWidgetRuntime wykonuje z Delphi albo FPC na Windows i z FPC na Linux x86-64

Wykonanie rdzenia Linux nie wymaga LCL, sesji pulpitu ani warstwy kompatybilności Windows; build FPC Windows zachowuje istniejącą inicjalizację RTL Lazarus UTF-8

Native JavaScript bridge

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

Most Linux buduje się z pakietowych źródeł QuickJS kompilacją zgodną z GCC i używa tej samej wersjonowanej ABI HPDFQJS co DLL Windows

QuickJSDLLPath i HOTPDF_QUICKJS_DLL akceptują jawną ścieżkę biblioteki współdzielonej na Linuksie; istniejące nazwy API są zachowywane dla kompatybilności źródłowej

Domyślne odkrywanie sprawdza libhpdfquickjs.so obok wykonywalnego i Lib/thirdparty/QuickJS/bin/Linux64 w katalogach przodków wykonywalnego

Każda sesja posiada referencję do swojego dokładnie załadowanego modułu, dopóki jej natywny silnik, konteksty i callbacki nie zostaną zwolnione; sesje zachowują niezależny stan skryptów i dzienniki

Natywne zegary monotonne wymuszają istniejące budżety zdarzeń, XML i layoutu; deterministyczne wartości epoch, odpowiedzi losowe i zewnętrzne odpowiedzi transportu pozostają rejestrowane i odtwarzane transakcyjnie

Linux locales

Natywny backend locale Linux czyta systemowe nazwy kalendarza ICU, symbole dziesiętne i grupowania, symbole i kody walut, znaczniki AM/PM oraz wzorce liczb/daty/czasu

Lokale nazwane użyją w pełni sparsowanych identyfikatorów BCP47 i znanych danych językowych ICU; separatory podkreśleń są kanonizowane, a nieobsługiwane języki albo wadliwe identyfikatory zwracają False

Pusta nazwa wybiera skonfigurowane domyślne locale ICU; definicje localeSet dokumentu i jawne providery locale aplikacji zachowują istniejący priorytet

Obie libicuuc i libicui18n są wymagane; loader rozpoznaje pasujące wersje eksportów ICU, łącznie z wersjonowanymi bibliotekami runtime bez dowiązań deweloperskich

ICU i Windows mogą dostarczać różne wzorce regionalne i białe znaki na podstawie zainstalowanych danych locale; jawne definicje locale dokumentu mogą wybierać deterministyczne formatowanie aplikacji

Persistence and PDF consumers

SaveToBytes utrwala natywne XDP, łącznie z importami Data DOM, wartościami per-instance, mapowaniami przestrzeni nazw, komentarzami i instrukcjami przetwarzania, z tym samym zachowaniem rollbacku na obu platformach

Fixture konsumenta zapisanego-XDP Linux przeładowuje TXFAWidgetRuntime i stosuje rzeczywiste wartości przez settery pól THPDFHeadlessDocument i natywne generowanie wyglądów

Ten konsument używa niezależnie przygotowanego szablonu pól PDF; automatyczne tworzenie pól XFA-to-PDF na Linuksie i kompletny interaktywny rendering pozostają odrębną pracą integracyjną