<story><title>When Fonts Fall</title><url>https://www.figma.com/blog/when-fonts-fall/</url></story><parent_chain><item><author>crazygringo</author><text>Really cool article.&lt;p&gt;But over the past few years&amp;#x2F;decades, as glyphs have &lt;i&gt;exploded&lt;/i&gt; in number, I&amp;#x27;ve been finding myself wanting a totally different system of font definition.&lt;p&gt;I want fonts to be made out of just a handful (at a minimum) of primitives -- e.g. here&amp;#x27;s a vertical stroke, a horizontal stroke, diagonal strokes, what various serif endings look like, here are what the bowls of letters look like, etc.&lt;p&gt;An entire Latin alphabet can easily be extrapolated from that -- but also Cyrillic, for example. And then you can go further, and specify elements used only in Greek, and so on...&lt;p&gt;But the idea being that there&amp;#x27;s a &amp;quot;default&amp;quot;, boring, generic universal font template that covers &lt;i&gt;all&lt;/i&gt; glyphs. And that a type designer simply modifies &lt;i&gt;parameters&lt;/i&gt; as desired.&lt;p&gt;Now the designer can go as far as they want, with individual glyph adjustments overriding the automatically-generated ones, custom kerning pairs and whatnot.&lt;p&gt;But the benefit would be that, even if they &lt;i&gt;don&amp;#x27;t&lt;/i&gt;, then for a Latin alphabet you already get Cyrillic, Greek, Arabic, Chinese, Japanese, etc. characters that match well (in x-height, stroke width, etc. as needed).&lt;p&gt;The more I work with typography, the more I think static font outlines for each glyph are the wrong way to represent things. Smart parametized outlines are what we need.</text></item></parent_chain><comment><author>jfk13</author><text>&amp;gt; I want fonts to be made out of just a handful (at a minimum) of primitives ...&lt;p&gt;&amp;gt; the idea being that there&amp;#x27;s a &amp;quot;default&amp;quot;, boring, generic universal font template that covers &lt;i&gt;all&lt;/i&gt; glyphs&lt;p&gt;&amp;gt; a type designer simply modifies &lt;i&gt;parameters&lt;/i&gt;&lt;p&gt;Have you looked through the Unicode code charts lately and really thought about how many primitives you&amp;#x27;d need in order to create glyphs not just for Latin&amp;#x2F;Cyrillic&amp;#x2F;Greek, but also for Arabic, Telugu, Thai, Lao, Javanese, Mongolian, etc., etc.? Never mind the miscellaneous symbols and dingbats, and the ever-growing collection of emoji....&lt;p&gt;I don&amp;#x27;t think this is a realistic proposition.&lt;p&gt;Within a closely-related group of scripts -- like Latin&amp;#x2F;Cyrillic&amp;#x2F;Greek -- and within a constrained range of styles, yes, it&amp;#x27;s possible: e.g., see Knuth&amp;#x27;s METAFONT and the various font families that have been created with it.</text></comment>
<story><title>When Fonts Fall</title><url>https://www.figma.com/blog/when-fonts-fall/</url></story><parent_chain><item><author>crazygringo</author><text>Really cool article.&lt;p&gt;But over the past few years&amp;#x2F;decades, as glyphs have &lt;i&gt;exploded&lt;/i&gt; in number, I&amp;#x27;ve been finding myself wanting a totally different system of font definition.&lt;p&gt;I want fonts to be made out of just a handful (at a minimum) of primitives -- e.g. here&amp;#x27;s a vertical stroke, a horizontal stroke, diagonal strokes, what various serif endings look like, here are what the bowls of letters look like, etc.&lt;p&gt;An entire Latin alphabet can easily be extrapolated from that -- but also Cyrillic, for example. And then you can go further, and specify elements used only in Greek, and so on...&lt;p&gt;But the idea being that there&amp;#x27;s a &amp;quot;default&amp;quot;, boring, generic universal font template that covers &lt;i&gt;all&lt;/i&gt; glyphs. And that a type designer simply modifies &lt;i&gt;parameters&lt;/i&gt; as desired.&lt;p&gt;Now the designer can go as far as they want, with individual glyph adjustments overriding the automatically-generated ones, custom kerning pairs and whatnot.&lt;p&gt;But the benefit would be that, even if they &lt;i&gt;don&amp;#x27;t&lt;/i&gt;, then for a Latin alphabet you already get Cyrillic, Greek, Arabic, Chinese, Japanese, etc. characters that match well (in x-height, stroke width, etc. as needed).&lt;p&gt;The more I work with typography, the more I think static font outlines for each glyph are the wrong way to represent things. Smart parametized outlines are what we need.</text></item></parent_chain><comment><author>Someone</author><text>&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Computer_Modern&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Computer_Modern&lt;/a&gt;:&lt;p&gt;&lt;i&gt;The most unusual characteristic of Computer Modern, however, is the fact that it is a complete type family designed with Knuth&amp;#x27;s Metafont system, one of the few typefaces developed in this way. The Computer Modern source files are governed by 62 distinct parameters, controlling the widths and heights of various elements, the presence of serifs or old-style numerals, whether dots such as the dot on the &amp;quot;i&amp;quot; are square or rounded, and the degree of &amp;quot;superness&amp;quot; in the bowls of lowercase letters such as &amp;quot;g&amp;quot; and &amp;quot;o&amp;quot;. This allows Metafont designs to be processed in unusual ways; Knuth has shown effects such as morphing in demonstrations, where one font slowly transitions into another over the course of a text. While it attracted attention for the concept, Metafont has been used by few other font designers; by 1996 Knuth commented &amp;quot;asking an artist to become enough of a mathematician to understand how to write a font with 60 parameters is too much&amp;quot; while digital-period font designer Jonathan Hoefler commented in 2015 that &amp;quot;Knuth&amp;#x27;s idea that letters start with skeletal forms is flawed&amp;quot;.&lt;/i&gt;&lt;p&gt;For a small sample of font source code, see &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Metafont&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Metafont&lt;/a&gt;&lt;p&gt;Edit: for an idea about what variants can be generated, see &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;s3-us-west-2.amazonaws.com&amp;#x2F;visiblelanguage&amp;#x2F;pdf&amp;#x2F;16.1&amp;#x2F;the-concept-of-a-meta-font.pdf&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;s3-us-west-2.amazonaws.com&amp;#x2F;visiblelanguage&amp;#x2F;pdf&amp;#x2F;16.1&amp;#x2F;...&lt;/a&gt;.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Multiple_master_fonts&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Multiple_master_fonts&lt;/a&gt; and &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Variable_fonts&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Variable_fonts&lt;/a&gt; are younger, but also don’t quite work. It’s very hard&amp;#x2F;not really possible to design parametrized fonts that look well across wide parameter ranges.</text></comment>