DrawOpenTypeText
文本、字体、OpenType 整形
描述
从与现有字体句柄关联的内存字体程序中对 Unicode 文本进行整形并绘制
语法
Delphi
Function TPDFlib.DrawOpenTypeText(XPos, YPos: Double; FontID: Integer; Size: Double; Const Text: WideString; Options: Integer): Integer;参数
| XPos, YPos | 以页面单位表示的文本原点 |
|---|---|
| FontID | 源字体程序可用的 TrueType 或 OpenType 字体句柄 |
| Size | 以磅为单位的文本大小 |
| Text | 要成形并绘制的 Unicode 文本 |
| Options | 位 0 选择从右至左方向;位 1 强制使用受限的 Pascal 回退实现,而非原生 OpenType 引擎 |
返回值
成形文本被接受时返回 1;字体无效、文本为空、尺寸非正、缺少字体程序或成形失败时返回 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 可以指定显式的原生模块路径