GaramontoCode

Garamonto Code is a monospace serif based off Garamond meant for coding

This is the real font. Click in and write something of your own.

It still looks like Garamond

Most coding fonts are drawn with one even line. These letters come from a type cut for books, so they keep their bowls, their tapered strokes and their small x-height, even at one fixed width.

O0 il1

Nothing to mistake

The zero has a slash, and the i, l and 1 each have their own shape. The stylistic set ss01 swaps in a plain zero.

1534 1534

Two sets of figures

Lining figures for code, and old-style figures for prose and comments, through the onum feature.

→ ⇒ ↩

Arrows with a pen behind them

Hairline shafts and swept heads, built from Garamond's own arrows rather than bolted on.

A true italic for your comments

Not the roman on a slant. The italic has its own cursive letters and a swash ampersand, so a comment reads like a note in the margin. Operators and arrows stay upright, so they still line up with the code around them.

// first find the bug, & only then fix it;
// the quick fox can wait for a green build.

Ligatures that respect the grid

More than 150 sequences join up as you type, and all of them are built from the font's own glyphs. A ligature takes exactly the cells of the characters it replaces, so nothing shifts and your cursor still lands on each one.

Arrows

-> <- <-> => <=> --> <== |-> ->>

Equality

== === != !== <= >= :=

Pipes

|> <| <|> || >>= =<<

Waves

~> <~ <~> ~~> <~~

Logic

&& &&& :: // >> <<

Comments

<!-- {!-- {{-- --}}

Functors

<*> <$> <+> >=>

Italic too

=> != && |> ~>

const total = items.filter(x => x.price >= 10); const visible = items.filter(x => x.seen !== true); const ready = total.length > 0 && visible.length <= 99;

At home in the terminal

Box drawing joins from row to row, block elements fill the cell, and prompts, trees, graphs and braille all work. A sixteenth-century letter next to a build log turns out to be good company.

➜ ~/press git:(main) ✓ ./status

┌─────────────┬─────────┬──────────────────┬───────┐
│ service     │ region  │ load             │       │
├─────────────┼─────────┼──────────────────┼───────┤
│ compositor  │ paris   │ ██████████░░░░░░ │ ✓ up  │
│ proofreader │ lyon    │ █████░░░░░░░░░░░ │ ✓ up  │
│ bindery     │ antwerp │ ███████████████▌ │ ✗ hot │
└─────────────┴─────────┴──────────────────┴───────┘

fonts/                 cpu  ▁▂▃▅▇█▇▅▃▂▁▂▃▄▅▆
├── regular.ttf        mem  ⣀⣀⣠⣤⣤⣴⣶⣶⣾⣿⣿⣿⣿⣷⣶⣦
├── italic.ttf         net  ░░▒▒▓▓██▓▓▒▒░░▒▒
└── bold.ttf

➜ ~/press git:(main) ✗ █

Six styles

Regular, Medium and Bold, each with its italic. Medium is there for dark themes and small sizes, where a Garamond can start to look thin.

Latin, Ελληνικά, Кириллица, and λx → x² ∀ ∈ ≡ ⌘ ⌥ ⏎

Install

Download the fonts, unzip them and install the six fonts in the ttf folder, then point your editor at it. It's free, under the SIL Open Font License.

VS Code

"editor.fontFamily": "Garamonto Code",
"editor.fontLigatures": true,
"editor.fontSize": 15

Ghostty

font-family = Garamonto Code
font-size = 15

kitty

font_family Garamonto Code
font_size 15

On the web

@font-face {
  font-family: "Garamonto Code";
  src: url("GaramontoCode.woff2") format("woff2");
}
code { font-family: "Garamonto Code"; }

Garamond's small x-height makes it look a size smaller than most coding fonts, so start a point or two above your usual size. On dark themes, try Medium.

Every character

The whole font, cell by cell. Click any character to copy it.