Skip to content

Ornamental fonts

Decorative pictograms for fiction: fleurons between scenes, ornamental chapter openers, floral separators, and pointing-hand manicules. Keystone ships three ornamental font families that plug into the font shortcut like any other family — no new syntax.

Key Glyphs
fourier-ornaments Fleurons, aldine leaves, manicules, swashes
imfell-flowers-1 Square foliate printer's blocks
imfell-flowers-2 Floral headers, dividers, manicules, florets

These are single-variant faces — no bold or italic — and render in PDF and EPUB only. DOCX and ODT have no ornament fallback; see Cross-format behavior.

Placing an ornament

Wrap the character in a .font span and point family= at an ornament face:

An inline fleuron [❦]{.font family="fourier-ornaments"} between clauses.

The catch is which character produces which ornament, and it differs per font. An ornament font does not map ornaments to the Unicode code points you might expect ( U+273F, U+2740, …); it maps them to whatever slots its designer chose — usually Latin letters and digits. Type the character the font actually carries, not the Unicode ornament you have in mind. A character the font does not carry renders as a missing glyph.

  • fourier-ornaments carries three real Unicode fleurons — (U+2766), (U+2767), and (U+2619) — so those work directly. Its remaining ornaments live on AZ, 09, and c d e m n.
  • imfell-flowers-1 and imfell-flowers-2 carry no Unicode ornaments. Every ornament sits on a Latin letter — and, in imfell-flowers-2, a few digits. Use the glyph reference to pick one.

Apply .font to the ornament characters themselves, not to running prose. An ornament font has no normal letters, so wrapping a whole paragraph turns it into boxes and stray ornaments.

Recipes

Each recipe is a thin shortcut over an existing handler — see Writing your own shortcuts. Define them in your project's shortcuts.yaml; they are not built-in, because ornaments compose from the font registry and existing handlers, so the convenience layer is yours to name. The scene-break recipes pair the ornament with scene-break, which supplies centering and page-break protection.

Scene break with a fleuron. The body injects the ornament; scene-break handles placement.

fleuron-break:
  class: scene-break
  body: |
    [❦]{.font family="fourier-ornaments"}
::: fleuron-break
:::

Scene break with an aldine leaf pair.

aldine-break:
  class: scene-break
  body: |
    [☙]{.font family="fourier-ornaments"} · [❧]{.font family="fourier-ornaments"}

Scene break with flowers. fourier-ornaments puts a five-petal flower on E (the Unicode flower is not in the font):

flower-break:
  class: scene-break
  body: |
    [E E E]{.font family="fourier-ornaments"}

Overridable scene break. Leave the body off and choose the glyph inline. Author content takes priority over body injection, so the glyph is author-controlled while scene-break still centers and protects it.

ornament-break:
  class: scene-break
::: ornament-break
[❧]{.font family="fourier-ornaments"}
:::

Chapter decoration. A symmetric header centered on its own line. imfell-flowers-2's E is a complete floral header ornament:

chapter-ornament:
  class: align
  interface:
    style:
      bind: class.style
      default: center
  body: |
    [E]{.font family="imfell-flowers-2"}

Or swap the body for smaller fourier-ornaments glyphs — an aldine leaf, a fleuron, a leaf:

  body: |
    [G · ❧ · H]{.font family="fourier-ornaments"}

Glyph reference

Each table lists the decorative slots worth using; preview the full set to see everything a font carries.

fourier-ornaments

Character Ornament
Floral-heart fleurons (Unicode U+2766 / U+2767 / U+2619)
G H Aldine leaf (hedera) pointing right / left
I J Filled leaf pointing right / left
K L Slim leaf, right / horizontal
E F Five-petal flower with foliage
9 A B Floral pairs
C c D d Curled leaves and doves
M N Manicule (pointing hand) right / left, outline
m n Manicule right / left, solid
O P Q R Horizontal swash and wave ornaments
U Four-petal floral cross
V X Four-pointed star, open / filled
W Pendant bud ornament
S T Crossed swords, outline / filled

The remaining slots are non-decorative pictograms (0 no-entry, 1 warning, 8 bomb, e euro, Y frown, …) — usable but rarely what a novel wants.

imfell-flowers-1

Each of AZ and ac is a distinct square foliate printer's block — dense symmetric ornaments suited to borders and heavy separators. They have no individual names; pick one by previewing the full set. The PUA slots (U+E001, U+E002) are empty.

imfell-flowers-2

The richest family for fiction. Highlights:

Character Ornament
1 2 Manicule (pointing hand) right / left
E F Symmetric floral header ornament (chapter opener)
H I g Wide ornate floral band
Y r v Floral crown spray
Z z B b U Horizontal divider with central motif
A a Large solid paisley leaf
O o Five-petal flower
C c Four-petal floret
Q q w Trefoil / clover
N n Floral vine spray
JM, jm Individual swirl flourishes
x Butterfly floral

The digits 3 4 5 and the PUA slots (U+E000–U+E002) are empty.

Previewing the full set

To see every glyph a font carries, set a run of its letters and digits in the ornament family and build a PDF — this block is glyphs to inspect, not prose. Each position shows the glyph on that slot, or a blank where the slot is empty:

::: {.font family="imfell-flowers-1"}
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9
:::

Cross-format behavior

Format Ornament rendering
PDF Embedded and rendered exactly
EPUB Embedded with an @font-face rule; renders in readers that honor embedded fonts
DOCX / ODT No ornament fallback exists, so the character renders in the document font: a letter- or digit-mapped ornament shows that plain character, a Unicode ornament a missing glyph. Treat ornaments as a PDF/EPUB feature

An ornament font has no web-safe equivalent, so there is nothing to fall back to in a word processor.

Zero-setup fleurons

Two of the classic fleurons need no ornament font at all: Linux Libertine, the default document font, already covers (U+2619) and (U+2767). If you only need an occasional fleuron and are not changing fonts, type those characters directly with no .font wrapper. The ornament families exist for the much wider decorative repertoire and for consistent rendering regardless of document font.

See also