Custom Iosevka build
Anthrosevka Mono
A custom Iosevka build inspired by Anthropic Mono.
Live specimen
Edit the sample, adjust the texture, and check punctuation, numerals, operators, and brackets at working sizes.
Controls and edited text are saved in local storage for this browser.
Code specimen
Snippets use compact columns, operators, comments, brackets, string marks, and digits that are easy to compare across languages.
# Inspect alignment, digits, and ambiguous glyphs.
from dataclasses import dataclass
@dataclass(frozen=True)
class GlyphRun:
name: str
width: int
marks: tuple[str, ...]
rows = [
GlyphRun("zero", 1, ("0", "O", "o")),
GlyphRun("one", 1, ("1", "l", "I", "|")),
GlyphRun("ops", 1, ("<=", ">=", "==", "!=")),
]
for index, row in enumerate(rows, start=1):
print(f"{index:02d} | {row.name:<6} | {row.width:>2} | {row.marks!r}")
# Compact columns with readable punctuation.
glyphs <- data.frame(
name = c("zero", "one", "pipe", "arrow"),
sample = c("0O oO", "1lI", "|I", "<- -> =>"),
width = c(1, 1, 1, 1),
score = c(0.94, 0.91, 0.86, 0.89)
)
glyphs$clear <- glyphs$score >= 0.88 & glyphs$width == 1
glyphs[glyphs$clear, c("name", "sample", "score")]
// Types, brackets, template strings, and padded output.
type GlyphRange = {
name: "ASCII" | "Arrows" | "Math";
from: number;
to: number;
marks?: readonly string[];
};
const ranges: readonly GlyphRange[] = [
{ name: "ASCII", from: 0x20, to: 0x7e, marks: ["0O", "1lI"] },
{ name: "Arrows", from: 0x2190, to: 0x21ff, marks: ["<-", "->", "=>"] },
{ name: "Math", from: 0x2200, to: 0x22ff },
];
function cell(label: string, value: number): string {
return `${label.padEnd(12)} :: ${String(value).padStart(4, "0")}`;
}
for (const { name, from, to } of ranges) {
const total = to - from + 1;
console.log(cell(name, total));
}
// Lifetimes, references, ranges, padding, and aligned output.
#[derive(Debug)]
struct GlyphRun<'a> {
name: &'a str,
width: u8,
marks: &'a [&'a str],
}
let rows = [
GlyphRun { name: "zero", width: 1, marks: &["0", "O", "o"] },
GlyphRun { name: "one", width: 1, marks: &["1", "l", "I", "|"] },
GlyphRun { name: "ops", width: 1, marks: &["<=", ">=", "==", "!="] },
];
for (index, row) in rows.iter().enumerate() {
println!("{:02} | {:<6} | {:>2} | {:?}", index + 1, row.name, row.width, row.marks);
}
#!/usr/bin/env sh
set -eu
font_dir="$HOME/Library/Fonts"
release="AnthrosevkaMono-ttf-unhinted.zip"
mkdir -p "$font_dir"
cp build/*.ttf "$font_dir"/
fc-match "Anthrosevka Mono" || true
printf '%-18s %8s\n' "regular" "400"
printf '%-18s %8s\n' "bold" "700"
printf '%-18s %8s\n' "release" "$release"
Glyph texture
Inspect letterforms, numerals, ambiguous forms, operators, and punctuation in a compact bordered grid.
Numbers
Uppercase
Lowercase
Ambiguity
Operators
Brackets
Symbols
About
Source, visual influence, and practical coding goals.
Anthrosevka Mono is a custom build of Iosevka, configured for programming and terminal use. It favors terminal spacing, regular and bold weights, a 600 width default, and unhinted TTF files for high-resolution displays.
Its visual direction is inspired by Anthropic Mono. The aim is pragmatic: readable columns, distinguishable punctuation, stable symbols, and a texture that stays quiet during long coding sessions.