GNU Unifont
38 comments
·December 12, 2025phkahler
graypegg
That's such a cool effect from just the choice of font. (Though I guess there are countless human hours spent on unifont and unicode as a whole)
But I love the idea that even if your bronze age CAD guy wrote all the solid names in Linear A, no problem!
stn8188
Wow, the web version is neat in its simplicity! Thank you for the work on Solvespace. It's far and away my favorite MCAD program and always my first go-to when I need to crank out a quick fixture to test PCBs. It's really so pleasant and easy to work with as long as my geometry is relatively basic (which it almost always is given my limited scope of work with mechanical design). I'm sorry I don't have any comments on the relevant topic of the fonts, just was excited to see Solvespace mentioned.
hackshack
+1; thanks from another satisfied user. I have an annual SOLIDWORKS plan, but SolveSpace is my go-to for quick stuff. It makes CAD fun. There is a clarity of design behind the software that gives it a zen-like feel.
KronisLV
Really like the idea of a font with extremely broad glyph support, sadly it looks really blurry on any custom size, like if I'd try to use this font in my IDE but would want to make it smaller so I can fit more text on the screen.
For that particular use case (tbh mostly aesthetics than glyph support), I also found the TTF version of Terminus to be pleasant: https://files.ax86.net/terminus-ttf/ though JetBrains Mono is good enough for me to not venture far away from defaults, albeit maybe Liberation Mono / Cousine was the peak of readability at somewhat small sizes out of any font out there for me.
Wonder if the Potrace approach of Terminus TTF version would work for Unifont. I imagine that Unifont is a pretty good default when doing shipping labels and for such utilitarian use cases.
nycticorax
Shouldn't the first sentence on that website describe what GNU Unifont actually is? I guess it's a single copyleft font designed to have coverage of all (or nearly all?) unicode code points?
adrian_b
Well, the second and the third sentence describe very precisely what Unifont is:
"This page contains the latest release of GNU Unifont, with glyphs for every printable code point in the Unicode Basic Multilingual Plane (BMP). The BMP occupies the first 65,536 code points of the Unicode space, denoted as U+0000..U+FFFF."
This is suitable as a last resort font, which should display any character for which no match was found in the other available fonts.
This is normally preferable to a last resort font that just displays the number of a character not available in your preferred fonts.
modeless
No mention there of the fact that this is a bitmap font. I think that's kind of important.
crazygringo
Indeed. Plus basic facts like: is it serif or sans? Proportional or monospace? Designed for GUI interfaces, terminals, or print? I still don't know.
Just showing a single screenshot of it in its intended use would go a long way.
I clicked on one of the charts and had no idea if the font itself was bitmap, or if it had just been rendered at a tiny size without antialiasing.
hnfong
Note that "nearly all" isn't "all". I have some side project that require rendering of very uncommon CJK characters, and Unifont does not display them as expected. (For that project, I used https://kamichikoichi.github.io/jigmo/ which was the font that was most complete in terms of CJK glyphs )
Unifont seems to have about the same glyph coverage as my system default CJK font (unfortunately I don't know what it is).
syncsynchalt
Do you know if those characters are in supplemental planes? The BMP would only be glyphs from U+0000 through U+FFFF (though the first 32 and last two aren't printable, and wouldn't be included in this font).
Another example would be emoji, which would probably now be considered "basic" by most people but have always been in a supplemental plane.
amake
Lots of the rarer CJK ideographs are outside the BMP.
jayde2767
I was also confused, until I clicked “Home” and realized the link was not to the landing page.
IvyMike
> GNU Unifont is part of the GNU Project. This page contains the latest release of GNU Unifont, with glyphs for every printable code point in the Unicode Basic Multilingual Plane (BMP)
I mean that's pretty close no?
smlacy
Still doesn't exactly say what it is? I get that it's glyphs for printable characters, but honestly it could be a PDF, video, collection of PNGs or SVG files, an Adobe Illustrator file, a linux distribution, a web browser, or pretty much any other piece of software or data format. I presume it's a TTF or OTF font file?
mariusor
It's a bitmap font: https://en.wikipedia.org/wiki/Computer_font#BITMAP
remywang
I also made some fonts for playdate based on unifont: https://github.com/remysucre/cuniform
magios
i use this font system wide, forced as the only font in firefox, with web or downloadable fonts disabled. i also have my some of my own characters in csur, the conscript unicode registry, that is mapped to u+e000 thru u+f8ff so the unicode codepoints used by random webpages for various glyphs show up as my own. qt is a pain to use sometimes with unifont only but iirc QT_FONT_DPI=128 environment variable fixes that. i just wish i could get unifont only to work in games like rimworld.
ekjhgkejhgk
You know, when I see GNU, I don't necessarily think it's the best software in all dimensions, but it's almost the best in terms of respecting its users.
aidenn0
I had to uninstall unifont to get nice looking CJK fonts in Firefox; somehow the font-fallback for my font was picking unifont over all of the other fonts installed...
adrian_b
The right way to solve your problem is to go to Firefox Settings/Language and Apperance/Fonts, then click on "Advanced".
There you can set what fonts should be used by Firefox to display each script/language, including Chinese, Japanese and other CJK variants.
If you do not configure this, then it is indeed unpredictable which fonts will be used by Firefox to render the Web pages, unless it can match exactly a font requested by the page.
Elfener
I've reproduced issues with Unifont's glyphs being invisible in firefox and chrome (at different times, on what seems like certain versions), with much confusion. There are a few issues on the nixpkgs issue tracker about this, including one about Noto Color Emoji doing the same thing.
I love fonts...
TheRealPomax
The problem with Unifont is that is was never designed to actually support real text, it just has glyph support. So if you need "it can do every language I might want, while looking pretty good" you're far better off with the (much newer) family of NoTo fonts, which aren't just free to use, but explicitly use the modern SIL Open Font License.
duskwuff
Noto is also a scalable font with multiple weights and styles (e.g. bold, italic, etc). Unifont is a 16-pixel bitmap with no styles, so it's only really usable at one size (or maybe two if you want 32px text).
foxrider
Yeah, I can't really speak well about other languages, but these Armenian letters look really rough.
asgs
it is so nice of them to explain the fact using the GNU Unifont in commercial non-free softwares clarifying when it is required to be published to public domain.
outside1234
Are these woke fonts?
jarbus
Been a proud user for a while at jarbus.net :)
joeel84
Amazing work!
We use GNU Unifont in Solvespace for the text window/property browser. It's built right into the executable. This turned out to be amazingly useful. Some people have CJK stuff in their designs and it "just works" on all platforms. I was also looking into hole annotations in CAD and was pleased to see the symbols for counter-bore and counter-sink are both already there in unifont.
You can see unifont in the experimental web version here: https://cad.apps.dgramop.xyz/