buena mono
A writer-first monospace typeface
buena mono is designed for the place where writing and code meet. Optimized for markdown editors, code editors, and terminals with carefully tuned ligatures, small caps, and a variable weight axis spanning Thin to ExtraBold.
3509 glyphs
1 axis
4 masters
50 features
Type Tester
Weight Ramp
Coding Ligatures
159 coding ligatures via calt + 5 standard (liga) + 11 discretionary (dlig)
Arrows
Comparison
Operators
Comments & JSX
Arrows — Extended
Pipes & Bars
Slashes & Comments
Tildes
Assignment
Question Marks
Hash / Pound
Arrows — Exotic
Plus / Asterisk / Dollar
Brackets & Braces
Logical & Arithmetic
Miscellaneous
Extended Operators
On / Off Comparison
calt ON (default)
=> -> !== === <= >= |> :: ... ?? <> ==> <== ~> |= := ?. /// && || <=>
calt OFF
=> -> !== === <= >= |> :: ... ?? <> ==> <== ~> |= := ?. /// && || <=>
Code Sample
// TypeScript — pipe operators and null coalescing
const process = (input: string) => {
const result = input
|> parse
|> validate
|> transform;
if (result !== null && result !== undefined) {
return result??"default";
}
/* fallback */
const fallback = config?.settings?.default ?? "none";
return <>{fallback}</Fragment>;
};
Stylistic Alternates
13 alternates across 12 stylistic sets — mix and match for your preferred coding style
ss01: single-storey a
a a
ss02: f
f f
ss03: l
l l
ss04: Rounded dots
i j i j
ss05: g open tail
g g
ss06: g ear
g g
ss07: i tailed
i i
ss08: y straight
y y
ss09: y cursive
y y
ss10: Plain Zero
0 0
ss11: Dotted Zero
0 0
ss12: r
r r
All Alternates Combined
Default
a f g i l r y 0 — Agile algorithms juggle logarithmic indices.
All stylistic sets + zero
a f g i l r y 0 — Agile algorithms juggle logarithmic indices.
Small Caps
847 mappings — smcp (457 lowercase → small caps) and c2sc (390 uppercase → small caps)
Normal
Hamburgefontsiv
smcp
Hamburgefontsiv
c2sc + smcp
Hamburgefontsiv
The quick brown fox jumps over the lazy dog. Pack my box with five dozen liquor jugs. How vexingly quick daft zebras jump!
Variable Weight
Size Waterfall
Box Drawing & TUI
128 box drawing glyphs — light, heavy, double, rounded, dashed, and diagonal
Tiling Test
Light
┌──────────┬────────┐
│ Name │ Age │
├──────────┼────────┤
│ Alice │ 32 │
│ Bob │ 28 │
└──────────┴────────┘
Double
╔══════════╦════════╗
║ Name ║ Age ║
╠══════════╬════════╣
║ Alice ║ 32 ║
║ Bob ║ 28 ║
╚══════════╩════════╝
Rounded
╭──────────┬────────╮
│ Name │ Age │
├──────────┼────────┤
│ Alice │ 32 │
│ Bob │ 28 │
╰──────────┴────────╯
TUI Demos
╭─ Search ───────────────────────────────────────╮
│ > find . -name "*.rs" -type f │
╰────────────────────────────────────────────────╯
╭─ Results ──────────────────────────────────────╮
│ 1 src/main.rs │
│ 2 src/lib.rs │
│ 3 src/parser/mod.rs │
│ 4 src/parser/lexer.rs │
│ 5 tests/integration.rs │
╰────────────────────────────────────────────────╯
┌─ Files ───────┬─ Preview ─────────────────────┐
│ ▸ src/ │ fn main() { │
│ ├── main.rs │ let config = Config::new │
│ ├── lib.rs │ .with_flag("verbose")│
│ └── util/ │ .build(); │
│ ▸ tests/ │ run(config); │
│ Cargo.toml │ } │
├───────────────┼───────────────────────────────┤
│ 7 items 2 dir│ 7 lines UTF-8 Rust │
└───────────────┴───────────────────────────────┘
╔══════════════════════════════════════════════╗
║ SYSTEM DIAGNOSTICS ║
╠════════════════╦═════════════════════════════╣
║ CPU ████░░░░║ Temp 42°C ║
║ Memory ██████░░║ Uptime 3d 14h 22m ║
║ Disk ██░░░░░░║ Processes 247 ║
╠════════════════╩═════════════════════════════╣
║ Network ┄┄┄┄┄ ↑ 12.4 MB/s ↓ 3.2 MB/s ║
╚══════════════════════════════════════════════╝
Glyph Browser
Hover over any glyph to inspect it with metric guidelines.
A
A
Latin Capital Letter A U+0041
Language Support
80+ languages across Latin, Cyrillic, and Greek scripts
Latin
EnglishThe quick brown fox jumps over the lazy dog.
FrenchPortez ce vieux whisky au juge blond qui fume.
GermanFalsches Üben von Xylophonmusik quält jeden größeren Zwerg.
SpanishEl veloz murciélago hindú comía feliz cardillo y kiwi.
ItalianMa la volpe, col suo balzo, ha raggiunto il quieto Fido.
PortugueseÀ noite, vovô Kowalsky vê o ímã cair no pé do pinguim queixoso.
PolishPchnąć w tę łódź jeża lub ośm skrzyń fig.
CzechPříliš žluťoučký kůň úpěl ďábelské ódy.
HungarianÁrvíztűrő tükörfúrógép.
TurkishPijamalı hasta yağız şoföre çabucak güvendi.
RomanianÎnjurând clanța, rîdea și ștergea.
IcelandicKæmi ný öxi hér ykist þjófum nú bæði víl og ádrepa.
DanishQuizdeltagerne spiste jordbær med fløde.
SwedishFlygande bäckasiner söka hwila på mjuka tuvor.
NorwegianBlåbærsyltetøy på kjøkkenbordet fristet den lille vårharens unge.
VietnameseƠn giời, cậu đây rồi! Tôi yêu Việt Nam.
PinyinMāmā qí mǎ mà? Māma qí mǎ mà.
Cyrillic
RussianСъешь ещё этих мягких французских булок, да выпей же чаю.
UkrainianЖиття надто прожити так, щоб не було боляче соромно.
BulgarianБързата кафява лисица прескача над ленивото куче.
Serbian (Cyrillic)Лијеп је овај свијет и вриједи за њ живјети.
KazakhҚазақ тілі — қазақ халқының ана тілі.
Greek
GreekΤαχίστη αλώπηξ βαφής ψημένη γη, δρασκελίζει υπέρ νωθρού κυνός.
Metrics & Coverage
Glyphs
2849
ASCII + Latin + Cyrillic + Greek + Polytonic + Braille + Combining + Box + Powerline + Small Caps + Ligatures
Axis
1
wght 100–800
Masters
4
Thin (100), Regular (400), Bold (700), ExtraBold (800)
Features
46
liga, calt, dlig, smcp, c2sc, ss01–12, cv01–13, subs, sups, sinf, numr, dnom, tnum, frac, ordn, case, zero, onum, locl, aalt, ccmp, mark, mkmk
Languages
80+
Latin + Cyrillic + Greek + Polytonic
Output
3
TTF (712 KB), WOFF2 (168 KB), OTF/CFF2 (239 KB)
Metrics
| Metric | Value |
|---|---|
| Units per Em | 1000 |
| Advance Width | 618 |
| Cap Height | 699 |
| x-Height | 524 |
| Ascender | 950 |
| Descender | -250 |
Variable Axes
| Axis | Tag | Range | Default |
|---|---|---|---|
| Weight | wght | 100–800 | 400 |
OpenType Features
| Feature | Tag | Count |
|---|---|---|
| Standard Ligatures | liga | 5 |
| Coding Ligatures | calt | 159 |
| Discretionary Ligatures | dlig | 11 |
| Small Caps | smcp | 457 |
| Caps to Small Caps | c2sc | 390 |
| Slashed Zero | zero | 1 |
| Stylistic Sets | ss01–ss12 | 13 |
| Character Variants | cv01–cv13 | 13 |
| Oldstyle Figures | onum | 10 |
| Tabular Figures | tnum | 10 |
| Subscripts | subs | 10 |
| Superscripts | sups | 10 |
| Scientific Inferiors | sinf | 10 |
| Numerators / Denominators | numr / dnom | 20 |
| Fractions | frac | 9 |
| Ordinal Indicators | ordn | 2 |
| Case-Sensitive Forms | case | 7 |
| Localized Forms | locl | 3 |
| Composition/Decomposition | ccmp | — |
| Mark Positioning | mark | — |
| Mark-to-Mark Positioning | mkmk | — |
| Access All Alternates | aalt | — |