This file covers text sizing, alignment, typography controls, text styles, case/decorations, and list formatting.
All text commands operate on TEXT nodes only.
Many text operations load fonts before writing:
- if a required font cannot be loaded, the plugin notifies instead of crashing the whole run
Some commands are intentionally guard-gated by style state:
fs,fw,tco,tcu,tcl,tct,tcs,tcsfare only shown when no text style is appliedrtsis only shown when a text style is applied
taw: setWIDTH_AND_HEIGHTtah: setHEIGHTtfs: setNONE
Behavior:
- loads the node font first
- then writes
textAutoResize
tt: toggle truncation or set max linesvt: toggle vertical trim
tt behavior:
- no value toggles
textTruncationbetweenDISABLEDandENDING - numeric value enables
ENDINGtruncation and writesmaxLines - max lines must be at least
1
vt behavior:
- toggles
leadingTrimbetweenNONEandCAP_HEIGHT
Horizontal:
tal: lefttac: centertar: righttaj: justified
Vertical:
tat: toptam: middletab: bottom
Behavior:
- loads all fonts used in the text node range
- applies only the requested horizontal or vertical dimension
ft: apply a text style from local or stored librariesrts: detach the currently applied text style
ft details:
- binding support is text styles and stored-library styles
- no-value
ftcurrently does nothing; there is no toggle path
rts details:
- calls
setTextStyleIdAsync('') - reports how many layers were detached
fs: font sizefw: font weight
fs details:
- delta-aware
- minimum resulting size is
1
fw details:
- accepts only
100to900in steps of100 - rewrites the current font using the same family and the requested style string
- if that style name does not exist for the family, the command notifies
ls: letter spacinglnh: line heightps: paragraph spacingpi: paragraph indent
Binding support:
- float variables
Value behavior:
lsaccepts px or%lnhaccepts px or%lnhwith no value sets line height toAUTOpsandpiare pixel values
Variable behavior:
- imports library float variables if needed
- binds the corresponding text property directly
Literal behavior:
lswrites{ value, unit }lnhwrites{ value, unit }or{ unit: 'AUTO' }psandpiwrite plain numeric values
tco: originaltcu: uppertcl: lowertct: titletcs: small capstcsf: forced small caps
Behavior:
- writes
textCasedirectly after loading the font - these commands are intentionally hidden when a text style is applied
rtd: remove decorationtu: toggle underlinets: toggle strikethrough
Behavior:
- underline and strikethrough are toggle commands
- if the target decoration is already active, the command resets to
NONE rtdexplicitly setsNONE
tol: ordered listtul: unordered listtrl: remove list formatting
Behavior:
- loads the font
- applies the list option over the full text range in the node
- all text formatting commands operate on the full node, not a user text selection inside the node
- commands that require fonts are tolerant of failures on a per-node basis
- variable-bound text metrics stay variable-bound; they are not flattened to literal numbers once set