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 可以指定显式的原生模块路径

另请参阅

GetOpenTypeTextWidth、GetOpenTypeGlyphRun、DrawShapedText