Typography Tags
Control font weight, style, decoration, and font family within any text element (p, th, td, h1–h5).
Bold
{ "p": "This is [b]bold text[/b] in a sentence." }
Long form: [bold]...[/bold] · HTML alias: [strong]...[/strong]
Italic
{ "p": "This is [i]italic text[/i] in a sentence." }
Long form: [italic]...[/italic] · HTML aliases: [em]...[/em], [cite]...[/cite]
Bold italic
{ "p": "This is [bi]bold italic[/bi] in a sentence." }
Also accepted: [ib], [bolditalic], [italicbold]
Underline
{ "p": "This is [u]underlined text[/u] in a sentence." }
Long form: [underline]...[/underline] · HTML alias: [ins]...[/ins]
Strikethrough
{ "p": "Old price: [s]$99[/s] new price: $79" }
Long form: [strike]...[/strike] · HTML alias: [del]...[/del]
Strikethrough composes with underline — both decorations render on the same run:
{ "p": "[u][s]deprecated link[/s][/u]" }
All caps
Render text visually uppercase without changing the underlying string — useful for display headings, eyebrow labels, and stylized acronyms where you want to keep the data mixed-case for search/copy.
{ "p": "[caps]quarterly business review[/caps]" }
The example renders QUARTERLY BUSINESS REVIEW but the source text in the document — and what users get when they copy/paste — stays mixed-case.
[caps] composes with the rest of the typography toolkit:
{ "p": "[b][caps][ls, 1.5][fontcolor, #888888]executive summary[/fontcolor][/ls][/caps][/b]" }
That's a tracked-out, gray, bold all-caps eyebrow heading from a single mixed-case source string — change the wording without retyping in caps.
Font switch
Switch to a registered custom font family mid-text. The font must be declared in the document's fonts property.
{
"fonts": {
"NotoSerif": { "regular": "fonts/NotoSerif-Regular.ttf" }
},
"content": [
{ "p": "Default sans-serif [font, NotoSerif]switched to serif[/font] back to default." }
]
}
This is how icon fonts work — register Font Awesome, then inline the icon character:
{
"fonts": {
"FA": { "regular": "fonts/fa-solid-900.otf" }
},
"content": [
{ "p": "Status: [font, FA]\uf00c[/font] Approved" }
]
}
Combining
All typography tags nest freely:
{ "p": "[b]Bold with [i]bold italic[/i] inside[/b]" }
{ "p": "[u][b]Bold underlined[/b] just underlined[/u]" }
{ "p": "[font, NotoSerif][b]Bold serif[/b] regular serif[/font]" }
Example: styled invoice line
{ "p": "[b]Invoice #INV-2026-0042[/b] — [i]$data.client.name[/i] — [u]Amount Due: $data.invoice.total[/u]" }