THPDFHeadlessTextAppearanceOptions
HPDFHeadlessAppearance 中用于 Unicode Form XObject 的选项,支持度量布局与可选的复杂文字 Shaping
| 字段 | 默认值与约定 |
|---|---|
Width, Height | 200 x 30 PDF 单位;文档填充时会根据每个控件矩形推导这些值 |
FontSize | 12 PDF 单位;0 表示自动适配,上限 12 |
Padding | 每边 2 单位,保证内部裁剪矩形为正 |
TextColor[0..2] | 黑色 RGB 分量,各分量取值 0 到 1 |
PaintWhiteBackground | True,把控件整个背景刷成白色 |
Alignment | htaLeft;支持居中与右对齐,文档填充时继承的字段 Q 优先 |
Multiline, WrapText | False 与 True;CR/LF 段落换行和按度量做的逻辑行折行,文档填充时根据字段标志推导多行模式 |
CombCells | 0;正值会把直接标量字形在各自单元格中居中,comb 文本字段时从 MaxLen 推导 |
Rotation | 0;90 度的倍数并按 360 取模归一,文档填充时从控件 MK.R 推导 |
LineSpacing | 字号的 1.2 倍,范围 1 到 10 |
CharacterSpacing, WordSpacing | 0 PDF 点;有限的正负间距,绝对值上限 1000000;word spacing 作用于 U+0020,character spacing 在每个直接标量或 Shaping 簇之后施加一次,包括最后一个簇 |
ShapeComplexText | True;仅当复杂文字需要 Shaping 时才加载匹配的 HarfBuzz 与 FriBidi 运行时 |
FallbackFontFamilies | False;True 会在显式提供的富文本字体族之间启用完整字素级字体回退,并保留原值与已编写的样式;单字体文本构建器不会搜索其他字体族 |
HighlightLines | 空动态整数数组;每个非负可见行索引都会绘制蓝色背景,行数受 MaxGlyphs 约束,屏幕外的行会被裁剪 |
HighlightLine | -1;非负可见行索引会为列表框外观绘制蓝色选择背景 |
Border | habNone;habRectangle 或 habCircle 绘制有界按钮轮廓 |
MaxFontBytes | 8 MiB,覆盖选中的字体程序与提供字体族回退时检查过的候选程序 |
MaxObjectBytes | 每个字典或流 16 MiB,含其负载 |
MaxGlyphs | 65535 个输入标量与生成字形,受 16 位 CID 空间约束 |
CancellationToken | Nil,或调用方自有且在整个操作期间保持存活的 Token |
尺寸、padding 与字号必须是有限值;尺寸与非零字号的取值范围为 0.000001 到 1000000 单位,内部裁剪矩形在每根轴上必须保持至少 0.000001 单位
会序列化出零字号的自动适配会被拒绝;固定字号文本则裁剪到内部控件矩形
文本间距参与度量宽度、对齐、折行与自动适配;生成的 CID 文本使用绝对字形定位,因为 PDF Tw 不作用于两字节的 Identity-H 空格码
文档填充还会按文档选项进一步收紧对象与字形预算、按解码流预算收紧字号字节上限,并把新增对象总量对照剩余文件预算准入