font-stacks.html
HTML document, Unicode text, UTF-8 text
1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="UTF-8"> 5<title> 6Proposed system font stacks 7</title> 8<link rel="stylesheet" href="/static/style.css"> 9<meta name="viewport" content="width=device-width, initial-scale=1.0"> 10</head> 11<body> 12<header> 13<nav> 14<ul> 15<li><a href="/">Home</a></li> 16<li><a href="/projects">Projects</a></li> 17<li><a href="/index">Index</a></li> 18<li><a href="/about">About</a></li> 19<li><a href="https://roundabout-host.com/roundabout">Roundabout-host</a></li> 20</ul> 21<ul> 22<li><a href="mailto:root@roundabout-host.com" id="mail-link">root@roundabout-host.com</a></li> 23</ul> 24</nav> 25</header> 26<main> 27 28<h1>Proposed system font stacks</h1> 29<div id="article-date">2024-12-27, 00:00:00</div> 30 31<article class="content-area"> 32<p>I've seen <a href="https://modernfontstacks.com/">Modern Font Stacks</a>. I agree that there are many cases 33where system fonts are fine, but the stacks there have some problems, especially with GNU/Linux 34devices. 35</p><p>On GNU/Linux, there are usually two sets of metrically-compatible Microsoft font clones: 36Liberation and GNU FreeFont. They have a huge difference. Liberation are original designs, but 37not very good ones. FreeFont are descended from TeX fonts, so they look almost exactly like 38Helvetica, Times and Courier. 39</p><h2>The stacks</h2><h3>GUI</h3><pre data-language="">system-ui, -apple-system, BlinkMacSystemFont, Roboto, "Noto Sans", "Segoe UI", Inter, Cantarell, 40Ubuntu, "DejaVu Sans", "Bitstream Vera Sans", "Sans", "Helvetica Neue", "Helvetica", 41"Lucida Grande", sans-serif 42</pre><p>These fonts are used by the OS and designed to be pleasant to read at any size, and have features 43such as weights. 44</p><p>Note how the intent is to avoid Arial and Liberation fonts, which are not very pleasant. 45</p><ul><li><p><code>system-ui</code> is a standard, but not all browsers support it. 46</p></li><li><p><code>-apple-system</code> and <code>BlinkMacSystemFont</code> are pre-standard names for the system font that only 47work on Apple devices. 48</p></li><li><p>Roboto is the font in Android and some GNU/Linux distributions. 49</p></li><li><p>Noto Sans is the fallback font for Roboto, as well as the font of KDE. 50</p></li><li><p>Segoe UI is the font of Windows. 51</p></li><li><p>Inter will likely be the font of GNOME in the future. 52</p></li><li><p>Cantarell is the font of GNOME (at least until they change it to Inter). 53</p></li><li><p>Ubuntu is the font of Ubuntu (obviously). 54</p></li><li><p>DejaVu Sans was popular on many Unixes in the past. 55</p></li><li><p>Bitstream Vera Sans is the font DejaVu Sans was based on. 56</p></li><li><p>Sans usually refers to one of the above two fonts on GNU/Linux. 57</p></li><li><p>Helvetica Neue was the old font of MacOS and iOS. 58</p></li><li><p>Helvetica was the even older font of iOS. 59</p></li><li><p>Lucida Grande was the even older font of MacOS. 60</p></li><li><p>sans-serif is the generic sans-serif font. 61</p></li></ul><h3>Transitional serif</h3><pre data-language="">Charter, "Bitstream Charter", "Source Serif 4", "Source Serif Pro", source-serif-pro, "Noto Serif", 62"FreeSerif", "Nimbus Roman", "Times New Roman", "Times", serif 63</pre><p>Transitional serifs appeared around 1750 and feature medium contrast. 64</p><p>The intent here is also to avoid Liberation Serif, so FreeSerif/Nimbus Roman (which are an 65actual clone of Times) are preferred to Times New Roman which falls back to Liberation Serif 66on most GNU/Linux distributions. In my opinion Cambria, used in the original Modern Font Stacks, 67is not a very nice font. 68</p><h3>Old style serif</h3><pre data-language="">Garamond, Palatino, "Palatino Linotype", "URW Palladio L", "Book Antiqua", "URW Bookman L", 69Bookman, P052, C059, serif; 70</pre><p>Old style serifs appeared early, in the Renaissance period, and were developed from calligraphy. 71</p><h3>Humanist sans</h3><pre data-language="">Cantarell, "Gill Sans Nova", "Gill Sans", "Gill Sans MT", Lato, "Source Sans Pro", "Source Sans 3", 72source-sans-pro, Skeena, Candara, Ubuntu, "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", 73"Trebuchet MS", sans-serif 74</pre><p>Humanist sans serifs, unlike neo-grotesques, have rounder shapes and more stroke contrast, and 75usually, true italics. 76</p><p>This is very different from the Modern Font Stacks one. I don't like the idea of using Ubuntu when 77Cantarell and Lato exist, which are much closer to a humanist font that isn't very unusual. 78</p><h3>Geometric sans</h3><pre data-language="">"Futura PT", "Futura LT", Futura, Lexend, "Readex Pro", Avenir, "Avenir Next", "Century Gothic", 79"Avant Garde", "URW Gothic", sans-serif 80</pre><p>Geometric sans serifs are usually based on circles and straight lines. They first appeared in the 811920s. 82</p><p>Again, I've included some free fonts that don't suck. 83</p><h3>Neo-grotesque GUI</h3><pre data-language="">Roboto, Inter, "SF Pro", Aptos, Geist, FreeSans, "Nimbus Sans", "Helvetica Neue", system-ui, -apple-system, 84BlinkMacSystemFont, sans-serif 85</pre><p>Neo-grotesque fonts are a category of sans-serif typefaces that have more complex shapes than 86geometric fonts, but lower contrast than humanist fonts. This stack prefers the more modern 87fonts which appeared in the digital era. 88</p><p>Yes, I'm avoiding excessive spreading of Inter. 89</p><h3>Neo-grotesque (Swiss)</h3><pre data-language="">FreeSans, "Nimbus Sans", "Helvetica Neue", Helvetica, Aptos, Geist, Inter, Roboto, "SF Pro", 90"Microsoft Sans Serif", Arial, sans-serif 91</pre><p>This prefers Helvetica or its clones, more classic neo-grotesque fonts. 92</p><h3>Monospace (slab/typewriter)</h3><pre data-language="">"Courier Prime", FreeMono, "Cutive Mono", Nimbus Mono PS", "Courier New", Courier, monospace 93</pre><p>Monospaced fonts have the same width for all characters. This has a preference for fonts like 94Courier which use slab serifs and originate from typewriters. 95</p><h3>Monospace (sans/code)</h3><pre data-language="">ui-monospace, "Roboto Mono", "Source Code Pro", source-code-pro, "SF Mono", "IBM Plex Mono", 96Inconsolata, Menlo, Consolas, "Droid Sans Mono", "DMCA Sans Serif", "Hack", "DejaVu Sans Mono", 97"Bitstream Vera Sans Mono", monospace 98</pre><p>This prefers sans-serif monospace fonts that are not too quirky and are designed for technical 99applications. 100</p><h3>FuN MoNoSpAcE</h3><pre data-language="">"Cascadia Code", "Fira Code", "Fira Mono", "JetBrains Mono", "Ubuntu Mono", "Operator Mono", 101"Roboto Mono", "Source Code Pro", "SF Mono", "IBM Plex Mono", "Inconsolata", "Menlo", "Consolas", 102"Droid Sans Mono", "DMCA Sans Serif", "Hack", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", 103monospace 104</pre><p>Of course, this prefers "fun" coding fonts with script italics, low f bar, unusual digits, and 105let's not forget ligatures! 106</p><h3>I-wanna-be-a-mac</h3><pre data-language="">"SF Pro", apple-system, BlinkMacSystemFont, "San Francisco", Inter, Roboto, Geist, FreeSans, 107"Nimbus Sans", "Helvetica Neue", Helvetica, "Arial Nova", "Arial", sans-serif 108</pre><p>This is for all who want to be like Apple - that is the major reason they prefer Inter. 109</p><h3>I-wanna-be-a-mac mono</h3><pre data-language="">"SF Mono", "JetBrains Mono", "Roboto Mono", ui-monospace, "Geist Mono", "Fira Mono", "Fira Code", 110Hack, "DejaVu Sans Mono", "Bitstream Vera Sans Mono", Menlo, Consolas, monospace 111</pre><p>This copies SF Mono. 112</p><h3>Industrial</h3><pre data-language="">"D-DIN", Bahnschrift, Grandview, "DIN Alternate", "FF DIN", "URW DIN", DIN, "Alte DIN", "Alte DIN 1451", 113"Alte DIN 1451 Mittelschrift", Barlow, "SF Compact", "SF Pro", Inter, Roboto, sans-serif 114</pre><p>Industrial typefaces generally use straight lines instead of ellipses, and are often used in 115technical applications or signage. 116</p><p>This prefers the DIN family which is the font used for road signs in Germany. 117</p><h3>Rounded</h3><pre data-language="">"SF Pro Rounded", "Hiragino Maru Githic", "Quicksand", "Varela Round", "Nunito", "Lato", 118"Arial Rounded MT Bold", sans-serif 119</pre><p>Rounded fonts are sans-serif but have rounded terminals. 120</p><h3>Slab serif</h3><pre data-language="">"Roboto Slab", "Rockwell Nova", "Rockwell", "Sitka Small", "Noto Serif", serif 121</pre><p>Slab serifs have more blocky serifs. 122</p><h3>Didone</h3><pre data-language="">Didot, "Bodoni MT", "Noto Serif Display", "Playfair Display", "Abril Fatface", "URW Palladio L", 123"Noto Serif", serif 124</pre><p>Didone serifs have very high contrast and thin serifs. 125</p><h3>Narrow sans (display)</h3><pre data-language="">Oswald, Anton, Impact, "Arial Narrow", sans-serif 126</pre><p>Bold, narrow sans-serif fonts, only for headings. 127</p><h3>Print handwriting</h3><pre data-language="">"Segoe Print", "Bradley Hand", Comic Neue", "Comic Sans MS", "Comic Sans", "TSCu_Comic", 128"Coming Soon", "Knewave", casual, cursive 129</pre><p>These mimic handwriting but without cursive (joined) letters. 130</p><h3>Cursive</h3><pre data-language="">"Segoe Script", "Lucida Handwriting", "Dancing Script", cursive 131</pre><p>These mimic cursive (joined) handwriting. 132</p><h3>Semi-humanist sans???</h3><pre data-language="">"DejaVu Sans", "Bitstream Vera Sans", Verdana, sans-serif 133</pre><p>Wide, with good readability especially at small sizes on low-resolution screens. 134</p><h3>Condensed semi-humanist sans???</h3><pre data-language="">"DejaVu Sans Condensed", Tahoma, sans-serif 135</pre><p>Same as above, but not so wide. 136</p> 137</article> 138 139</main> 140<footer> 141<p>Page generated on Saturday, 4 January 2025 at 11:16:28</p> 142<p xmlns:cc="http://creativecommons.org/ns#" >This work is marked with <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC0 1.0 Universal</a> (🄍). No rights reserved.</p> 143<p>Hosted at <a href="https://roundabout-host.com/roundabout">Roundabout-host</a> using the static site service, and generated with <a href="/projects/ampoule.html">Ampoule</a>.</p> 144<a href="#">Back to top</a> 145</footer> 146</body> 147</html>