Skip to main content

Typography Tags

Control font weight, style, decoration, and font family within any text element (p, th, td, h1h5).

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]" }