Maple Mono
Smooth your coding flow
We use code to bring ideas to life as products, but the font we choose is the silent architect that shapes how we experience that journey. Crafted for programmers, Maple Mono boosts your productivity with a subtle elegance, making every line of code a joy and smooth to read and write.
Why Another One ?
With so many excellent monospace fonts on the market, designed by professional designers and looking neat and beautiful, it’s surprising how many fall short when I actually use them for coding. I’ve found myself consistently dissatisfied with certain aspects, for example:
- JetBrains Mono has a refined glyph design and uniform layout, but its style feels a bit too rigid.
- Fira Code has rich ligatures, but it lacks italics, and the automatically generated italic angle is too steep.
- Victor Mono features a cursive-style italic, but its slightly exaggerated style isn’t quite to my taste.
- Sarasa Gothic offers a 2:1 monospace ratio for Chinese and English, but the English portion feels too narrow, impacting readability.
- Very few monospace fonts have rounded corners.
- Very few monospace fonts prioritize support for Nerd-Font and Chinese characters.
Therefore, I created this font with clean glyphs, a cursive-style italic, fine-grained configuration, built-in Nerd-Font, and a 2:1 monospace ratio for Chinese and English. I create it to enhance my working experience, and hope that it can be useful to others.
Features
One Font, Infinity Weights
Variable font support, get whatever weight as you want.
Distinct Glyphs, Smooth Design
Round corner, brand-new glyph designs with cursive style in italic style.
% ->
k x y
Smart Ligatures, Large Amount
Plain text tags, connected letters, brings the font ability to next level.
Special Ligatures
[TODO] todo)) [FIXME] fIxMe))
ultra suffix
Vec<R<T>>
Beautiful Icons, Embrace Modern
First-Class Nerd-Font support, iconic your mordern terminal.
Your favor, Your Font
{
"$schema": "./source/schema.json",
"family_name": "Maple Mono",
"use_hinted": true,
"pool_size": 4,
"ligature": true,
"feature_freeze": {
// ...
}
}
Configure or freeze OpenType features as you want, create your own perfect font.
See GuideComparison
See how Maple Mono compares to other popular programming fonts.
Preview
See what the font looks like in real code snippets.
function Counter() {
const [count, setCount] = createSignal(1);
const inc = () =>
setCount(count => count + 1);
return (
<button type="button" onClick={inc}>
{count()}
</button>
);
}
<script setup>
import { ref, computed } from 'vue'
const count = ref(0)
const dbl = computed(() => count.value * 2)
</script>
<template>
{{ dbl }}
<button @click="count++">Count</button>
</template>
@SpringBootApplication
public class TodoApplication {
public static void main(String[] args) {
SpringApplication.run(TodoApplication.class, args);
Arrays.asList("foo", "bar", "baz")
.stream()
.map(String::toUpperCase)
.forEach(System.out::println)
}
}
func main() {
http.HandleFunc("/", func(writer http.ResponseWriter, request *http.Request) {
message := strings.Join([]string{"Hello", "world!"}, " ")
_, err := writer.Write([]byte(message))
if err != nil {
panic(err)
}
})
if err := http.ListenAndServe(":8080", nil); err != nil {
panic(err)
}
}
def merge(x1, x2):
if isinstance(x1, dict) and isinstance(x2, dict):
res = x1.copy()
for k, v in x2.items():
res[k] = merge(res[k], v) if k in res else v
return res
elif isinstance(x1, list) and isinstance(x2, list):
res = list(x1)
res.extend(x2)
return res
elif x1 == x2:
return x1
else:
raise ValueError(f"Cannot merge '{x1!r}' and '{x2!r}'")
if __main__ == "main":
merge(0x23, 0xa1)
void quicksort(auto begin, auto end) {
if (begin != end) {
Comparable auto pivot = *std::next(begin, std::distance(begin, end) / 2);
const auto [lt, gt] = ::partition(begin, end, pivot, std::less<>());
quicksort(begin, lt);
quicksort(gt, end);
}
}
int main() {
std::vector<int> Vec{5, 0, 1, 5, 3, 7, 4, 2};
quicksort(Vec.begin(), Vec.end());
std::for_each(
Vec.begin(),
Vec.end(),
[](const int Elem) {std::cout << Elem << " "; }
);
}
What people says
Join thousands of developers who have already fallen in love with Maple Mono.
┏Needed a font with some pazzazz🌟 and good italics. Maple Mono NF by @subframe7536 is my new favorite coding font. Just the font I was looking for after getting bored with JetBrains Mono. It takes inspiration from JBM and other great fonts┛
┏Been using Maple Mono for a month now. The Nerd Font support is fantastic, and being able to customize font features is exactly what I needed. Great work!┛
┏Having switched to the Maple Mono font and enabled italic ligatures for some parts, it feels a bit more lively on top of being clear and easy to use, which is nice.┛
┏For those who prefer a rounder, more "adorable" font, Maple Mono might be a great choice. It includes CJK fonts and ensures a 2:1 width ratio. I've had about two or three colleagues compliment me on how good my editor and terminal look.┛
┏I love Maple Mono because it is very similar to my handwriting. I write in a mixture of print and cursive so it feels like im looking at my handwriting. It also is very pleasing to look at the code with cursive flair instead of the more monotonous print.┛
Credits
Maple Mono standing on the shoulders of giants.