Text
Format cell text including font weight, style, size, and family.
Novem is currently in closed alpha. This documentation is incomplete and subject to change.
The text file consists of a newline separated list of formatting instructions controlling cell text styles including font weight, style, size, and family.
The novem text instruction has the following composition:
row_slice col_slice style <size> <family>
Where:
- style (required): Text style characters or font weight
- size (optional): Font size (named or numeric)
- family (optional): Font family
Text styles can be specified as single characters or combined together.
Style characters:
bfor boldifor italicsforstrikethroughufor underlinerfor regular (no styling, removes underline for links)nfor noop (no change)-for blank display (cell appears empty but value is preserved)
Combined styles: You can combine multiple style characters in a single instruction:
bifor bold italicsibforstrikethrough italic boldubfor underline bold
The order of characters doesn't matter - bi and ib produce the same result.
0 : b -- bold the header row
1: : i -- italicize data rows
-1 : bi -- bold italic for totals row
The - style makes cells display as empty while preserving the underlying
data values. This is useful when you want to hide numeric values but still
use them for calculations, color scales, or bar charts.
: 1 - -- hide values in column 2 (data preserved)
1: -1 - -- hide values in last column for data rows
: : - lg -- blank display with large font (for bar chart labels)
Common use cases:
-
Bar charts without visible numbers - Apply
-to columns with bar charts when you only want to show the visual bar, not the numeric value. -
Color-coded cells - Hide the raw value but keep the background color that's calculated from it.
-
Calculations - The underlying value remains available for color scales, bar chart widths, and other calculations - only the display is affected.
Note: The blank display affects both HTML and terminal (ANSI) output.
For more precise control over text weight, you can specify numeric values from 100 to 900 (in increments of 100), following the CSS font-weight standard.
Common weight values:
100- Thin200- Extra Light300- Light400- Regular (same asr)500- Medium600- Semi Bold700- Bold (similar tob)800- Extra Bold900- Black
0 : 700 -- bold header (weight 700)
1: : 400 -- regular data rows
-1 : 600 -- semi-bold totals
Novem tables support Bootstrap-inspired named font sizes as well as custom pixel values for precise typography control.
Named sizes:
| Size | Pixels |
|---|---|
xxs | 10px |
xs | 12px |
sm | 14px |
base | 16px |
lg | 18px |
xl | 20px |
2xl | 24px |
3xl | 30px |
4xl | 36px |
5xl | 48px |
6xl | 64px |
7xl | 80px |
Special values:
n- Noop (no size change, useful when you only want to set family)
Numeric sizes:
Any number specifies the font size in pixels (e.g., 15 for 15px).
0 : b xl -- bold extra-large header
1: : n sm -- small data rows (n = noop for style)
-1 : b lg -- bold large totals row
: : n 14 -- 14px for entire table
: : n xxs -- extra extra small (10px)
Control the font family using shortcuts or specify custom font names.
Shortcuts:
mono- Monospace fontsans- Sans-serif fontserif- Serif font
Custom fonts:
Any other value is used as a font-family name (e.g., Arial, Georgia).
: : n base mono -- monospace for entire table
0 : b lg sans -- bold large sans-serif header
1: : n sm serif -- small serif data rows
: : b n mono -- bold monospace, keep current size (n = noop)
Combining style, size, and family for comprehensive text formatting:
: : 400 base sans -- base: regular 16px sans-serif
0 : 700 xl sans -- header: bold 20px sans-serif
: 0 i sm mono -- first column: italic small monospace
-1 : bi lg -- totals: bold italic large
: -1 n xs -- last column: extra small