Inscriptional font format
The .lapidary format defines inscriptional fonts — letterforms carved into stone. Unlike additive mark-making (pen on paper), lapidary uses subtractive techniques: a chisel removes material to create letterforms.
This changes everything about type design. Serifs aren't decorative — they're functional techniques for cleanly terminating a cut. V-cuts create shadows that make letters readable from distance.
.font-begin Trajan
units-per-em 1000
ascender 800
.v-chisel-begin roman
angle 60
width 40
.v-chisel-end
.serif-begin triangular
style Triangular
width 60
depth 25
.serif-end
.glyph-begin I U+0049
advance-width 400
cut roman 200,0⌵30 ⏤ 200,700⌵30 serif-entry triangular serif-exit triangular
.glyph-end
.font-end
| Profile | Description | Use |
|---|---|---|
V { angle } | V-shaped cut | Classic Roman inscriptions, sharp shadows |
U { radius } | Rounded cut | Softer shadows, more forgiving |
Flat | Flat-bottomed | Relief backgrounds, cleaning |
.v-chisel-begin roman
angle 60 .* included angle in degrees
width 40 .* cutting edge width
.v-chisel-end
.u-chisel-begin soft
radius 20 .* radius of rounded bottom
width 50
.u-chisel-end
| Material | Hardness | Grain | Notes |
|---|---|---|---|
Marble | 60 | Fine | Classic for inscriptions |
Limestone | 40 | Medium | Softer, easier to carve |
Sandstone | 30 | Coarse | Weathers distinctively |
Granite | 90 | Coarse | Very hard, requires patience |
Slate | 50 | Fine | Splits in layers |
.stone-begin carrara
material Marble
hardness 60
grain Fine
.stone-end
Serifs are functional — they cleanly terminate a chisel cut in stone:
| Style | Description |
|---|---|
None | Clean stop, no serif (modern) |
Triangular { width, depth } | Classic Roman — three cuts meeting at a point |
Bracketed { width, bracket_radius } | Smooth curved transition to stem |
Slab { width, thickness } | Flat rectangular termination |
Wedge { width, angle } | Angled, tapering termination |
Hairline { width } | Very thin, delicate |
.serif-begin roman-entry
style Triangular
width 60
depth 25
.serif-end
.glyph-begin A U+0041
advance-width 700
.* Left diagonal
cut roman 50,0⌵30 ⏤ 350,700⌵30 serif-entry triangular
.* Right diagonal
cut roman 350,700⌵30 ⏤ 650,0⌵30 serif-exit triangular
.* Crossbar
cut roman 175,250⌵20 ⏤ 525,250⌵20
.glyph-end
| Symbol | Unicode | Meaning |
|---|---|---|
⏤ | U+23E4 | Straight line cut |
⌒ | U+2312 | Smooth curve cut |
∠ | U+2220 | Corner / angle |
↻ | U+21BB | Close path |
⌵ | U+2335 | Depth at point |
| Style | Description |
|---|---|
Incised | Letters cut INTO the stone (most inscriptions) |
Relief { background_depth } | Background cut away, letters RAISED |
V-cut inscriptions depend on light for legibility. The format can specify light source for rendering:
.light
angle 315 .* from top-left (classic)
elevation 45 .* 45 degrees above horizon
intensity 100
Classic inscriptions like Trajan's Column are designed for top-left lighting, creating consistent shadows that make letters readable from ground level.
.glyph-begin I U+0049
advance-width 400
.* Main stem
cut roman 200,0⌵30 ⏤ 200,700⌵30 serif-entry triangular serif-exit triangular
.* Top crossbar (if using)
cut roman 100,700⌵20 ⏤ 300,700⌵20
.* Bottom crossbar
cut roman 100,0⌵20 ⏤ 300,0⌵20
.glyph-end