ポータブル XFA ランタイム
ネイティブな TXFAWidgetRuntime のデータ・レイアウト・イベントモデルは、Windows では Delphi または FPC で、Linux x86-64 では FPC で実行されます
Linux のコア実行に、LCL、デスクトップセッション、Windows 互換レイヤーは不要です。Windows の FPC ビルドは、既存の Lazarus UTF-8 RTL 初期化を保持します
ネイティブ JavaScript ブリッジ
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
Linux ブリッジは同梱の QuickJS ソースから GCC 互換コンパイルでビルドされ、Windows DLL と同じバージョン付き HPDFQJS ABI を使います
Linux では QuickJSDLLPath と HOTPDF_QUICKJS_DLL が明示的な共有ライブラリーパスを受け付けます。既存の API 名はソース互換のために保持されます
デフォルトの検出は、実行ファイルの隣にある libhpdfquickjs.so と、実行ファイルの祖先ディレクトリにある Lib/thirdparty/QuickJS/bin/Linux64 を確認します
各セッションは、ネイティブエンジン、コンテキスト、コールバックが解放されるまで、読み込まれたモジュールへの参照を所有します。セッションは独立したスクリプト状態とジャーナルを保持します
ネイティブのモノトニッククロックが、既存のイベント・XML・レイアウト予算を強制します。決定論的なエポック値、乱数応答、外部トランスポート応答は、記録されたままトランザクション的に再生されます
Linux ロケール
ネイティブ Linux ロケールバックエンドは、システムの ICU カレンダー名、小数点と桁区切り記号、通貨記号とコード、AM/PM マーカー、数値/日付/時刻パターンを読みます
名前付きロケールは、完全に解析された BCP47 識別子と既知の ICU 言語データを使います。アンダースコア区切りは正規化され、未対応言語や不正な識別子は False を返します
空の名前は、ICU の設定済みデフォルトロケールを選びます。ドキュメントの localeSet 定義と明示的なアプリケーションロケールプロバイダーは、既存の優先度を保ちます
libicuuc と libicui18n の両方が必要です。ローダーは、開発用シンボリックリンクのないバージョン付きランタイムライブラリーを含め、一致する ICU エクスポートバージョンを解決します
ICU と Windows は、インストールされているロケールデータに応じて異なる地域パターンや空白を提供することがあります。決定論的なアプリケーション書式が必要なら、明示的なドキュメントロケール定義を選べます
永続化と PDF コンシューマー
SaveToBytes は、Data DOM インポート、インスタンスごとの値、名前空間マッピング、コメント、処理命令を含むネイティブ XDP を永続化します。両プラットフォームで同じロールバック動作です
Linux の保存済み XDP コンシューマーフィクスチャは、TXFAWidgetRuntime を再読み込みし、THPDFHeadlessDocument のフィールドセッターとネイティブ外観生成を通じて実際の値を適用します
このコンシューマーは独立に準備された PDF フィールドテンプレートを使います。Linux での自動 XFA → PDF フィールド生成と完全なインタラクティブレンダリングは、引き続き別の統合作業です