THPDFHeadlessTextAppearanceOptions
HPDFHeadlessAppearance 的選項,用於具量測版面與選用複雜 shaping 的 Unicode Form XObject
| 欄位 | 預設值與契約 |
|---|---|
Width, Height | 200 × 30 PDF 單位;document filling 時會依各 widget 矩形推導這些值 |
FontSize | 12 PDF 單位;0 表示要求 auto-fit,上限 12 |
Padding | 每個邊緣 2 單位,留下面積為正的內部裁切矩形 |
TextColor[0..2] | 黑色的 RGB 分量,各介於 0 到 1 |
PaintWhiteBackground | True,把整個 widget 背景塗白 |
Alignment | htaLeft;支援置中與靠右,document filling 時繼承的欄位 Q 具有較高優先權 |
Multiline, WrapText | False 與 True;CR/LF 分段與量測的邏輯行換行,document filling 時由欄位旗標推導 multiline 模式 |
CombCells | 0;正值會把直接的 scalar glyph 置中放到各自的儲存格,comb 文字欄位由 MaxLen 推導 |
Rotation | 0;以 90 度的倍數並對 360 取模正規化,document filling 時由 widget 的 MK.R 推導 |
LineSpacing | 字型大小的 1.2 倍,界限 1 到 10 |
CharacterSpacing, WordSpacing | 0 PDF points;有限的正負間距,絕對值以 1000000 為界;word spacing 套用在 U+0020,character spacing 則在每個直接 scalar 或 shaped cluster 之後各套用一次,包含最後一個 cluster |
ShapeComplexText | True;只有複雜文字需要 shaping 時,才載入對應的 HarfBuzz 與 FriBidi runtime |
FallbackFontFamilies | False;True 會在明確提供的 rich-text 家族之間啟用完整 grapheme 的字型 fallback,並保留原始值與既有樣式;單字型的文字建構器不會搜尋其他家族 |
HighlightLines | 空的動態整數陣列;每個非負的可見行索引都會繪上藍色背景,列數受 MaxGlyphs 限制,畫面外的行會被裁掉 |
HighlightLine | -1;非負的可見行索引會為 list box 外觀繪上藍色選取背景 |
Border | habNone;habRectangle 或 habCircle 會繪出有界的按鈕外框 |
MaxFontBytes | 8 MiB,涵蓋選用的程式與 supplied-family fallback 時檢查的候選程式 |
MaxObjectBytes | 每個 dictionary 或 stream(含 payload)16 MiB |
MaxGlyphs | 65535 個輸入 scalar 與產生的 glyph,受 16 位元 CID 空間限制 |
CancellationToken | Nil,或由呼叫端持有並在整個操作期間存活的 token |
尺寸、padding 與字型大小必須是有限值;尺寸與非零字型大小的界限為 0.000001 到 1000000 單位,內部裁切矩形在每個軸上都必須至少 0.000001 單位
會把字型大小序列化成 0 的 auto-fit 會被拒絕;固定大小的文字則裁切到內部 widget 矩形
文字間距會參與量測寬度、對齊、換行與 auto-fit;產生的 CID 文字採用絕對 glyph 定位,因為 PDF 的 Tw 對兩位元組的 Identity-H 空白碼不生效
document filling 會再依文件選項收緊物件與 glyph 預算、以 decoded-stream 預算限制字型大小佔用的位元組,並把新增物件的總量對照剩餘檔案預算准入