HPDFBuildHeadlessTextAppearance
function HPDFBuildHeadlessTextAppearance(const Text: UnicodeString;
const TrueTypeFont: SysUtils.TBytes; FirstObjectNumber: Integer;
const Options: THPDFHeadlessTextAppearanceOptions): THPDFHeadlessTextAppearance;
以共用的 HotPDF 解析器、物件類別、cmap 讀取器、實際 TrueType 前進量與描述中繼資料,以及選用的 HarfBuzz/FriBidi shaping,建立真實的 Unicode Form XObject 與其字型物件
回傳的組合自有七個連續物件,從正的 FirstObjectNumber 開始;物件註冊、欄位連結、加密與有界增量輸出,請使用文件外觀方法
字型必須有具名 TrueType glyf/loca 輪廓、一致的 sfnt 簽章與 head magic、有序且有界的 glyph 偏移,以及完整有效的 Unicode cmap,且落在宣告的表範圍內
Unicode 查找不會退回 Symbol 或 MacRoman 對應;缺 glyph 會被拒絕,不會以視覺上無關的 glyph 頂替
支援的文字是直接的橫排拉丁、希臘、西里爾、簡單 CJK、預組 Hangul、選定的數學符號,以及 supplied 字型含每個 scalar 時的獨立 emoji
多行 CR/LF 版面、量測換行、comb 儲存格、90 度旋轉與矩形或圓形邊框,都由選項記錄控制
ShapeComplexText 啟用時,複雜文字、combining 序列、bidi 與連字使用原生 HarfBuzz shaping 與 FriBidi run 排序;格式錯誤的 surrogate、不支援的控制字元、缺 glyph、無效字型權限與預算耗盡仍是錯誤
複雜 glyph 取得含 shaping 偏移的個別定位、感知 cluster 的 ToUnicode 對應,以及保留邏輯來源的 marked-content ActualText;閱讀器可能使用自己的標註文字擷取順序
Linux 載入 libharfbuzz.so.0 與 libfribidi.so.0;Windows 需要符合架構的 libharfbuzz-0.dll 與 libfribidi-0.dll,可透過 HOTPDF_HARFBUZZ_LIBRARY 與 HOTPDF_FRIBIDI_LIBRARY 選擇明確路徑
完整原始字型位元組連同實際的 PostScript 名稱、邊界、ascent、descent、斜體角度與定距旗標一起內嵌;cap height 優先使用 OS/2,否則用 hhea ascender;StemV 採保守的固定 descriptor 估算
必須允許 installable 或 editable 內嵌;完整內嵌遵守 no-subsetting,restricted、preview-and-print、bitmap-only、缺失或未知的內嵌權限都會被拒
建構器在回傳自有組合之前,檢查字型位元組、glyph 數、stream 與 dictionary 大小、scalar 有效性與取消
請參閱 THPDFHeadlessTextAppearanceOptions、THPDFHeadlessTextAppearance 與 SetTextFieldValueWithAppearance
OpenType CFF 1 字型經由緊湊字型外觀後端支援,保留完整字型、實際 CID 映射、Unicode 文字、寬度與嵌入政策