THPDFHeadlessTextAppearanceOptions

HPDFHeadlessAppearance 的選項,用於具量測版面與選用複雜 shaping 的 Unicode Form XObject

欄位預設值與契約
Width, Height200 × 30 PDF 單位;document filling 時會依各 widget 矩形推導這些值
FontSize12 PDF 單位;0 表示要求 auto-fit,上限 12
Padding每個邊緣 2 單位,留下面積為正的內部裁切矩形
TextColor[0..2]黑色的 RGB 分量,各介於 0 到 1
PaintWhiteBackgroundTrue,把整個 widget 背景塗白
AlignmenthtaLeft;支援置中與靠右,document filling 時繼承的欄位 Q 具有較高優先權
Multiline, WrapTextFalse 與 True;CR/LF 分段與量測的邏輯行換行,document filling 時由欄位旗標推導 multiline 模式
CombCells0;正值會把直接的 scalar glyph 置中放到各自的儲存格,comb 文字欄位由 MaxLen 推導
Rotation0;以 90 度的倍數並對 360 取模正規化,document filling 時由 widget 的 MK.R 推導
LineSpacing字型大小的 1.2 倍,界限 1 到 10
CharacterSpacing, WordSpacing0 PDF points;有限的正負間距,絕對值以 1000000 為界;word spacing 套用在 U+0020,character spacing 則在每個直接 scalar 或 shaped cluster 之後各套用一次,包含最後一個 cluster
ShapeComplexTextTrue;只有複雜文字需要 shaping 時,才載入對應的 HarfBuzz 與 FriBidi runtime
FallbackFontFamiliesFalse;True 會在明確提供的 rich-text 家族之間啟用完整 grapheme 的字型 fallback,並保留原始值與既有樣式;單字型的文字建構器不會搜尋其他家族
HighlightLines空的動態整數陣列;每個非負的可見行索引都會繪上藍色背景,列數受 MaxGlyphs 限制,畫面外的行會被裁掉
HighlightLine-1;非負的可見行索引會為 list box 外觀繪上藍色選取背景
BorderhabNone;habRectangle 或 habCircle 會繪出有界的按鈕外框
MaxFontBytes8 MiB,涵蓋選用的程式與 supplied-family fallback 時檢查的候選程式
MaxObjectBytes每個 dictionary 或 stream(含 payload)16 MiB
MaxGlyphs65535 個輸入 scalar 與產生的 glyph,受 16 位元 CID 空間限制
CancellationTokenNil,或由呼叫端持有並在整個操作期間存活的 token

尺寸、padding 與字型大小必須是有限值;尺寸與非零字型大小的界限為 0.000001 到 1000000 單位,內部裁切矩形在每個軸上都必須至少 0.000001 單位

會把字型大小序列化成 0 的 auto-fit 會被拒絕;固定大小的文字則裁切到內部 widget 矩形

文字間距會參與量測寬度、對齊、換行與 auto-fit;產生的 CID 文字採用絕對 glyph 定位,因為 PDF 的 Tw 對兩位元組的 Identity-H 空白碼不生效

document filling 會再依文件選項收緊物件與 glyph 預算、以 decoded-stream 預算限制字型大小佔用的位元組,並把新增物件的總量對照剩餘檔案預算准入