5 ms·
Yeah, this was definitely a concern for me when building Mu. What do you think of the one font Mu has? It's http://unifoundry.com/unifont http://unifoundry.com/
by akkartik 5y ago
Yeah, this was definitely a concern for me when building Mu. What do you think of the one font Mu has? It's http://unifoundry.com/unifont http://unifoundry.com/unifont. I was trying to get to some minimum level of legibility while otherwise optimizing for simplicity. 1024x768 seemed like a reasonable compromise, though adjacent resolutions are also fine.
- andai 5y agoI like that font: I once saw it in a screenshot and spent a good amount of time trying to figure out which font it was.
- yorwba 5y agoNote the limitations section: > Unifont Limitations > Unifont only stores one glyph per printable Unicode code point. This means that complex scripts with special forms for letter combinations including consonant combinations and floating vowel marks such as with Indic scripts (Devanagari, Bengali, Tamil, etc.) or letters that change shape depending upon their position in a word (Indic and Arabic scripts) will not render well in Unifont. In those cases, Unifont is only suitable as a font of last resort. Users wishing to properly render such complex scripts should use full OpenType fonts that faithfully display such alternate forms. So if your intention when choosing unifont was to support all of Unicode, it would be good to make it not too difficult to add more fonts.
- akkartik 5y agoI definitely prioritize supporting all languages. (I don't care about flags and emoji and crap like that.) However I don't know enough yet. The current list of supported languages is enumerated at http://akkartik.github.io/mu/html/103glyph.subx.html#L98 http://akkartik.github.io/mu/html/103glyph.subx.html#L98 It's not just a matter of supporting more fonts. I need to support smarter fonts with ligatures and more. I think we could preserve the constraint of a single font and just make it smarter. But it'll take me some time to learn enough to do that.
- yorwba 5y agoYeah, ligatures are required for many languages. E.g. you list Myanmar, where it's possible to construct something like င်္င္င္င္ငြေေေေေေေောာာာာာာာ, which has "nga" င, "asat" ်, "virama" ္ combined to put င်္ on the following consonant, which in this case is four "nga" င separated by three "virama" ္ to form a cluster င္င္င္င (Noto Sans Myanmar apparently supports stacking up to height 3, the fourth "nga" င awkwardly overlaps), then there's a "medial ra" ြ which puts a box around the preceding consonant without overlapping, then 8 copies of "e" ေ which should be rendered to the left of the consonant it follows and then 8 copies of "aa" ာ which attach to the right. You're not going to encounter something crazy like this in the wild (in Burmese, there's at most one of each vowel sign on a consonant, and I don't think stacking four consonants is ever necessary) but it serves as a demonstration of the edge cases that a font needs to handle. The lookup tables end up getting quite large, which I think is one of the reasons Noto isn't usually used as one file with all scripts.
- akkartik 5y agoYes, the vowel diacritics are definitely an issue. I'm familiar with Hindi and Tamil. Hindi's _matras_ are pretty regular, and Unifont is designed so you can just type a single diacritic in the same spot as a consonant and have the thing look right (albeit terrible). Tamil, however, doesn't have this property. Does Myanmar? At the moment a single diacritic is the extent of my ambition.
- yorwba 5y agoThere are vowel signs that attach to the left, right, top, bottom or wrap around the preceding consonant. You could maybe emulate it by manually placing characters into a grid, but that would be very much not Unicode. Anyways, if you could get Tamil to work with a generic approach, I guess most of the edge cases for Myanmar would be covered by that as well. (Edit: seems like Tamil only has at most one diacritic, so it would have to be more general for Myanmar still.)
- akkartik 5y ago
- magios 5y agoI actually use a slightly modified unifont exclusively on a linux system, deleted all other fonts, disabled browser font downloading, and use firefox to get proper rendering. If you use a tiling wm, without borders or spaces between windows, then three windows of 80 columns of 8x16 font works.
- akkartik 5y agoWow!
- spicybright 5y agoI've never heard of deleting all fonts before, but I supposed that would work well for what you're going for! Wish general computing was more customizable like that...
- aethertron 5y agoI would love to see a screenshot!
- Shared404 5y agoSeconding this!
- magios 5y agosorry for the late reply, also forgot to mention that I use a fontconfig file, .xresources, other config files for i3 (the tiling wm), termimal (xst) and vim that specify the unifont font specifically. here are a few images showing the setup and sites using unifont. https://imgur.com/a/5gAZau3 https://imgur.com/a/5gAZau3
- aethertron 5y agoCool. I'd probably pick a different font, but I like this consistency. Perhaps as a way resisting attempts at emotional manipulation by typography...
- carapace 5y agoUnifont seems very useful. Not pretty but definitely legible. - - - - FWIW, I ran across this the other day: "4x4 ASCII Font" > Small fonts have always been fascinating to me, so I decided to make the smallest font possible, which turned out to be 4x4 pixels per character. The font covers the entire range of visible ASCII characters, and most are immediately recognizable. https://simplifier.neocities.org/4x4.html https://simplifier.neocities.org/4x4.html - - - - For display from small machines I keep going back and forth between simple memory-mapped raster screens vs. emitting a stream of, say, SVG to an external "display processor" (following the "Wheel of Reincarnation": "On the Design of Display Processors" http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland-design-of-display-processors.pdf http://cva.stanford.edu/classes/cs99s/papers/myer-sutherland... )
- selfhoster11 5y agoI'm actually fond of the Unifont letter shapes. It might be just that I'm used to this font from using Linux, but I actually like it.
- ExtraE 5y agoIn principle wouldn’t 3x3 be the theoretical limit? That’s 9 bits/char which is enough for twice ASCII.
- selfhoster11 5y agoUnifont is perfectly fine. Linux uses it in various places, so I don't mind it. In fact, I rather like its letter shapes. 1024x768 is more than reasonable. Almost luxurious in a "small"/"personal" computing context, but in a good way. I still use computers with that resolution sometimes.