THPDFPage 回退和竖排文本方法
输出带有文档回退链的 Unicode 文本或原生竖排 CID 书写模式
声明
procedure TextOutWithFallback(X, Y: Single; angle: Extended;
const Text: WideString);
procedure TextOutVertical(X, Y: Single; const Text: WideString);
function GetVerticalTextAdvance(const Text: WideString): Single;
成员主题
TextOutWithFallback
使用当前字体作为主字体,通过 THotPDF 回退链解析每一个 Unicode 标量,并输出使用相同已解析字体的最大相邻走向
当前的样式、字符集、大小和竖排状态会应用到每一个回退走向,并在方法返回之前还原
未解析的标量仍然分配给主字体,并被添加到 THotPDF.GetUnresolvedGlyphs
TextOutVertical
临时选择带 IsVertical=True 的当前字体,并通过 Identity-V 写入完整的走向
当存在并有效时,输出的 CID 字体使用 OpenType 竖直推进量和原点,否则使用 /DW2 和 /W2 默认值
GetVerticalTextAdvance
返回每一个 Unicode 标量的竖直推进量之和,以页面用户空间单位表示
使用该结果定位随后的回退走向、批注或并列竖排栏
示例
PDF.CurrentPage.SetFont('Arial', [], 12);
PDF.CurrentPage.TextOutWithFallback(72, 72, 0, MixedText);
PDF.CurrentPage.SetFont('Yu Gothic UI', [], 14);
PDF.CurrentPage.TextOutVertical(420, 72, VerticalText);
NextY := 72 + PDF.CurrentPage.GetVerticalTextAdvance(VerticalText);