DrawOpenTypeText
文字、字型、OpenType shaping
描述
以既有字型控制代碼關聯的記憶體內字型程式,對 Unicode 文字做 shaping 並繪製
語法
Delphi
Function TPDFlib.DrawOpenTypeText(XPos, YPos: Double; FontID: Integer; Size: Double; Const Text: WideString; Options: Integer): Integer;參數
| XPos, YPos | 文字原點,以頁面單位計 |
|---|---|
| FontID | 來源字型程式可取得的 TrueType 或 OpenType 字型控制代碼 |
| Size | The text size in points |
| Text | 要做 shaping 並繪製的 Unicode 文字 |
| Options | 位元 0 選擇由右至左方向;位元 1 強制使用有界的 Pascal 後備,取代原生 OpenType 引擎 |
傳回值
shaping 後的文字被接受時傳回 1;字型無效、文字為空、大小非正值、字型程式遺失或 shaping 失敗則傳回 0
備註
可攜的原生引擎直接從字型位元組套用 OpenType 文字塑形、GSUB 替換、GPOS 定位與視覺字形排序,不需要安裝系統字型
原生模組無法使用時,有大小上限的 Pascal 回退實作支援 cmap 對應、阿拉伯文接合、預設 GSUB 替換,以及常見的 GPOS 單一、成對、草書與標記附著查找
輸出使用可重用的 Identity-H 伴隨字型、依字形閉包對內嵌程式做子集化、保留必要的可變與彩色字型表,並把來源叢集寫入 ToUnicode 供文字擷取
Windows 上請把 PDFlibOpenType32.dll 或 PDFlibOpenType64.dll 部署在執行檔旁;Linux 用 libPDFlibOpenType.so,macOS 用 libPDFlibOpenType.dylib
PDFLIB_OPENTYPE_ENGINE 可指定明確的原生模組路徑