Windows 原生 headless 複雜文字

在 Windows 上,原生外觀建構器透過配套的 HarfBuzz 與 FriBidi DLL shaping 阿拉伯文、希伯來文、結合序列與混合雙向文字

在第一次複雜 shaping 操作前,把 HOTPDF_HARFBUZZ_LIBRARY 與 HOTPDF_FRIBIDI_LIBRARY 設為可信任的絕對程式庫路徑;預設為 libharfbuzz-0.dll 與 libfribidi-0.dll

為程序架構提供 DLL 及其傳遞依賴:Win32 應用程式需要 x86 二進位檔,Win64 應用程式需要 x64 二進位檔

載入 shaping 程式庫前,先把依賴 DLL 放進應用程式可控的搜尋目錄;主 DLL 的絕對路徑本身不會補齊所有依賴程式庫

簡單的直接 Unicode glyph 繼續使用內嵌字型而不載入 shaping runtime;需要複雜 shaping 時,若 runtime 無法載入或缺必要符號則回報失敗

API 在欄位值、ToUnicode cluster 與 ActualText 中保留邏輯 Unicode,繪製時依視覺順序輸出實際的 context glyph

CharacterSpacing 與 WordSpacing 對每個 shaped cluster 套用一次並參與量測版面;呼叫端取消與 glyph、字型、物件預算同樣適用

原生驗收套件在兩種 Windows 架構上驗證真實的 Delphi 與 FPC 程序,並以獨立的 glyph、前進量與 MuPDF 像素檢查對照 Linux 輸出

shaping 與外觀契約見 HPDFShapeHeadlessText 與 THPDFHeadlessTextAppearanceOptions