﻿<feed xmlns="http://www.w3.org/2005/Atom">
  <title type="text" xml:lang="en">Fonts</title>
  <link type="application/atom+xml" href="https://d.moonfire.us/tags/fonts/atom.xml" rel="self" />
  <link type="text/html" href="https://d.moonfire.us/tags/fonts/" rel="alternate" />
  <updated>2026-09-06T17:41:56Z</updated>
  <id>https://d.moonfire.us/tags/fonts/</id>
  <author>
    <name>D. Moonfire</name>
  </author>
  <rights>Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International</rights>
  <entry>
    <title>Miwāfu Glyphs Redux - Basic Font</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2014/08/20/miwafu-glyphs-font/" />
    <updated>2014-08-20T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2014/08/20/miwafu-glyphs-font/</id>
    <category term="graphics" scheme="https://d.moonfire.us/categories/" label="Graphics" />
    <category term="fedran" scheme="https://d.moonfire.us/tags/" label="Fedran" />
    <category term="fontforge" scheme="https://d.moonfire.us/tags/" label="FontForge" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="inkscape" scheme="https://d.moonfire.us/tags/" label="Inkscape" />
    <category term="miwafu" scheme="https://d.moonfire.us/tags/" label="Miwāfu" />
    <category term="tutorial" scheme="https://d.moonfire.us/tags/" label="Tutorial" />
    <summary type="html">Continuing my series of making a conscript, this describes the steps of going from a cleaned up vector version of the script to a basic font.</summary>
    <content type="html">&lt;p&gt;Fonts can be a scary beast. Like very other technical field, it has its own language and organization. Free programs for creating fonts are&amp;hellip; let's call them difficult to use, but once you get into them, they are very powerful and capable (much like what I'm trying with &lt;span class="missing-link" data-path="/blog/tag/author-intrusion"&gt;Author Intrusion&lt;/span&gt;).&lt;/p&gt;
&lt;h2&gt;Series&lt;/h2&gt;
&lt;p&gt;This is going to be broken into multiple posts about the steps of making a font.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/17/miwafu-glyphs-redux/"&gt;2014-08-17 Miwāfu Glyphs Redux - Redrawing&lt;/a&gt; - Since I picked up a few new calligraphy pens for my birthday, I tried to write out Miwāfu and found that it was a bit more difficult than I thought. So I redrew them until they weren't difficult.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/18/miwafu-glyphs-cleanup/"&gt;2014-08-18 Miwāfu Glyphs Redux - Scanning&lt;/a&gt; - After drawing out the Miwāfu glyphs by hand, I had to scan them in and get them ready for us.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/19/miwafu-redux-vectorize/"&gt;2014-08-19 Miwāfu Glyphs Redux - Vectors&lt;/a&gt; - Once I got a clean raster version of the glyphs, I use Inkscape to create a vector format which is suitable for importing into FontForge. Part 3 of creating a Miwāfu font.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/20/miwafu-glyphs-font/"&gt;2014-08-20 Miwāfu Glyphs Redux - Basic Font&lt;/a&gt; - Continuing my series of making a conscript, this describes the steps of going from a cleaned up vector version of the script to a basic font.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Unicode&lt;/h2&gt;
&lt;p&gt;While there are many different codes for fonts, these days Unicode is pretty much the one and only one to use. Unicode has more than enough code points and the organization to allow for conscripts (constructed scripts).&lt;/p&gt;
&lt;p&gt;Unicode provides three areas for private use (creatively called &lt;a href="http://en.wikipedia.org/wiki/Private_Use_Areas"&gt;Private Use Area&lt;/a&gt; or PUA). The first is E000-F8FF and has 6,400 points (somewhere you can place a glyph). The other two are at F0000-FFFFD and 100000-10FFFD and have 65k points each.&lt;/p&gt;
&lt;p&gt;The PUA can be used by a lot of places: alternative characters, Easter eggs, swashes, non-standard ligatures, and conscripts.&lt;/p&gt;
&lt;h2&gt;ConScript Unicode Registry&lt;/h2&gt;
&lt;p&gt;The &lt;a href="http://www.evertype.com/standards/csur/"&gt;ConScript&lt;/a&gt;, or CSUR, is an attempt to organize the various use of conscripts in the private use areas. Basically, it's an informal &amp;ldquo;reservation&amp;rdquo; for a script to avoid someone else using those ranges.&lt;/p&gt;
&lt;p&gt;Font creators don't have to use the the CSUR to figure out the fonts, but I consider it polite not to use one of the reserved ranges for my own private space. Of course, if the script gets popular, it will probably be moved around, but at least I'm not stepping on known toes.&lt;/p&gt;
&lt;h2&gt;Where to put everything&lt;/h2&gt;
&lt;p&gt;I'm starting my glyphs at F2000 which is currently not reserved. I need 46 glyphs at this point, though I would normally pad it to 64 characters to handle some of the custom characters that exist in the world (and to give me breathing room).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;F2000: MIWĀFU-W&lt;/li&gt;
&lt;li&gt;F2001: MIWĀFU-R&lt;/li&gt;
&lt;li&gt;F2002: MIWĀFU-M&lt;/li&gt;
&lt;li&gt;F2003: MIWĀFU-N&lt;/li&gt;
&lt;li&gt;F2004: MIWĀFU-H&lt;/li&gt;
&lt;li&gt;F2005: MIWĀFU-F&lt;/li&gt;
&lt;li&gt;F2006: MIWĀFU-P&lt;/li&gt;
&lt;li&gt;F2007: MIWĀFU-B&lt;/li&gt;
&lt;li&gt;F2008: MIWĀFU-S&lt;/li&gt;
&lt;li&gt;F2009: MIWĀFU-Z&lt;/li&gt;
&lt;li&gt;F200A: MIWĀFU-T&lt;/li&gt;
&lt;li&gt;F200B: MIWĀFU-D&lt;/li&gt;
&lt;li&gt;F200C: MIWĀFU-K&lt;/li&gt;
&lt;li&gt;F200D: MIWĀFU-G&lt;/li&gt;
&lt;li&gt;F200E: MIWĀFU-OPEN-QUOTE&lt;/li&gt;
&lt;li&gt;F200F: MIWĀFU-CLOSE-QUOTE&lt;/li&gt;
&lt;li&gt;F2010: MIWĀFU-OPEN-NESTED-QUOTE&lt;/li&gt;
&lt;li&gt;F2011: MIWĀFU-CLOSE-NESTED-QUOTE&lt;/li&gt;
&lt;li&gt;F2012: MIWĀFU-OPEN-NUMBER&lt;/li&gt;
&lt;li&gt;F2013: MIWĀFU-CLOSE-NUMBER&lt;/li&gt;
&lt;li&gt;F2014: MIWĀFU-1&lt;/li&gt;
&lt;li&gt;F2015: MIWĀFU-2&lt;/li&gt;
&lt;li&gt;F2016: MIWĀFU-3&lt;/li&gt;
&lt;li&gt;F2017: MIWĀFU-4&lt;/li&gt;
&lt;li&gt;F2018: MIWĀFU-5&lt;/li&gt;
&lt;li&gt;F2019: MIWĀFU-6&lt;/li&gt;
&lt;li&gt;F201A: MIWĀFU-7&lt;/li&gt;
&lt;li&gt;F201B: MIWĀFU-8&lt;/li&gt;
&lt;li&gt;F201C: MIWĀFU-9&lt;/li&gt;
&lt;li&gt;F201D: MIWĀFU-0&lt;/li&gt;
&lt;li&gt;F201E: MIWĀFU-A-INLINE&lt;/li&gt;
&lt;li&gt;F201F: MIWĀFU-E-INLINE&lt;/li&gt;
&lt;li&gt;F2020: MIWĀFU-I-INLINE&lt;/li&gt;
&lt;li&gt;F2021: MIWĀFU-O-INLINE&lt;/li&gt;
&lt;li&gt;F2022: MIWĀFU-U-INLINE&lt;/li&gt;
&lt;li&gt;F2023: MIWĀFU-RISING-INLINE&lt;/li&gt;
&lt;li&gt;F2024: MIWĀFU-FALLING-INLINE&lt;/li&gt;
&lt;li&gt;F2025: MIWĀFU-WAVE-INLINE&lt;/li&gt;
&lt;li&gt;F2026: MIWĀFU-A-DIACRITIC&lt;/li&gt;
&lt;li&gt;F2027: MIWĀFU-E-DIACRITIC&lt;/li&gt;
&lt;li&gt;F2028: MIWĀFU-I-DIACRITIC&lt;/li&gt;
&lt;li&gt;F2029: MIWĀFU-O-DIACRITIC&lt;/li&gt;
&lt;li&gt;F202A: MIWĀFU-U-DIACRITIC&lt;/li&gt;
&lt;li&gt;F202B: MIWĀFU-RISING-DIACRITIC&lt;/li&gt;
&lt;li&gt;F202C: MIWĀFU-FALLING-DIACRITIC&lt;/li&gt;
&lt;li&gt;F202D: MIWĀFU-WAVE-DIACRITIC&lt;/li&gt;
&lt;li&gt;F202E: MIWĀFU-Y-INLINE&lt;/li&gt;
&lt;li&gt;F202F: MIWĀFU-Y-DIACRITIC&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is somewhat close to how Unicode describes a character. I'm just making it look close to that.&lt;/p&gt;
&lt;h2&gt;Creating the font&lt;/h2&gt;
&lt;p&gt;FontForge is a powerful program that doesn't always work the way you expect it to. The creator ended up making their own widget set because nothing at the time could handle the full Unicode range. But, this also means that it occasionally doesn't have the polish one would expect out of a standard program. It is easy enough to work with, but it has &lt;em&gt;quirks&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It is also free and the work of love, so frankly, I can't complain about it.&lt;/p&gt;
&lt;p&gt;The first thing to do is start up FontForge and create a new font. This will then give a huge list of boxes with Xs in them. Don't panic, those are just empty places for glyphs and correspond to Unicode points.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-300.png"&gt;&lt;img class="post-img-link" src="screen-300.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go into &lt;code&gt;Element / Font Info&lt;/code&gt; and populate the first three fields. These can't have any fancy characters (ANSI only) and the top two can't have spaces in the names. I use &amp;ldquo;MF&amp;rdquo; for &amp;ldquo;Moonfire&amp;rdquo; in all my fonts, mainly because of ego.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-301.png"&gt;&lt;img class="post-img-link" src="screen-301.png" width="300" height="265" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Creating the slots&lt;/h2&gt;
&lt;p&gt;Because I'm not starting with a Latin font, I clear out the entire font first. I select &lt;code&gt;Encoding / Remove Unused Slots&lt;/code&gt; which removes all the slots. Then, I select &lt;code&gt;Encoding / Add Encoding Slots&lt;/code&gt; and create 46, which is the number of glyphs I want.&lt;/p&gt;
&lt;p&gt;I haven't found an easy way of creating and naming a range of fonts easily. So, I go through each one, one glyph at a time.&lt;/p&gt;
&lt;h2&gt;Populating each slot&lt;/h2&gt;
&lt;p&gt;Start by naming the slot. This consists of right-clicking the first cell and selecting &lt;code&gt;Glyph Info...&lt;/code&gt;. In the dialog, fill in the first two fields.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-302.png"&gt;&lt;img class="post-img-link" src="screen-302.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-303.png"&gt;&lt;img class="post-img-link" src="screen-303.png" width="156" height="370" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-304.png"&gt;&lt;img class="post-img-link" src="screen-304.png" width="273" height="259" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the first one (Glyph Name), we need an identifier field. I'm using the uppercase letter and &amp;ldquo;.miw&amp;rdquo; to indicate this is a Miwāfu glyph. Having &amp;ldquo;.miw&amp;rdquo; will make it easier to merge this font later with a more complete one.&lt;/p&gt;
&lt;p&gt;In Unicode Value, put the hex value with &amp;ldquo;U+&amp;rdquo; in the beginning. If you just put &amp;ldquo;F2000&amp;rdquo;, FontForge will crash. But &amp;ldquo;U+F2000&amp;rdquo; works just fine.&lt;/p&gt;
&lt;p&gt;Click &amp;ldquo;OK&amp;rdquo; and go back to the glyph list.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Don't bother saving at this point, FontForge will forget your info until you put an image into the slot.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Double-click on the glyph which will bring up an editor.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-305.png"&gt;&lt;img class="post-img-link" src="screen-305.png" width="274" height="286" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go into Inkscape, select the first glyph and paste it in. This will probably be not the right size. You can scale it inside the program, but that rarely works for me. Instead, I scale the image in Inkscape until I can just paste the glyph into the editor and move it around.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-306.png"&gt;&lt;img class="post-img-link" src="screen-306.png" width="274" height="286" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once I position the glyph, I adjust the right vertical bar to give a small amount of space to the right of the glyph. This is the default spacing between the slots, but it's kind of a art form to find the right spacing (it can also be easily changed later).&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-307.png"&gt;&lt;img class="post-img-link" src="screen-307.png" width="274" height="286" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Go ahead and close the editor and save. And do it for the next glyph, and the next&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;See you in an hour or so. Don't forget to save frequently.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-308.png"&gt;&lt;img class="post-img-link" src="screen-308.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Create the font&lt;/h2&gt;
&lt;p&gt;Once all the glyphs are put into the font, I can create the font. I like OTF format over TTF, but either works. To generate the fonts, we use &lt;code&gt;File / Generate Fonts&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-309.png"&gt;&lt;img class="post-img-link" src="screen-309.png" width="411" height="531" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Unless you've done this before, are lucky, or know what you are doing, chances are you'll get an error message like this. I usually do, but most of the time, the problems are fixable. &lt;code&gt;Control-E&lt;/code&gt; in the editor is good for finding errors. Moving points around and drawing fixes some of the other problems.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-310.png"&gt;&lt;img class="post-img-link" src="screen-310.png" width="320" height="467" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Eventually, you can plug at it and get through all of the errors. Don't skip them, FontForge is telling you for a reason. Once you finish, you'll have an OTF or TTF font wherever you saved it.&lt;/p&gt;
&lt;h2&gt;Testing it out&lt;/h2&gt;
&lt;p&gt;And since we're finally at a point of seeing it in a word processor, we can use LibreOffice after installing the font into your system.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-311.png"&gt;&lt;img class="post-img-link" src="screen-311.png" width="433" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-312.png"&gt;&lt;img class="post-img-link" src="screen-312.png" width="450" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-313.png"&gt;&lt;img class="post-img-link" src="screen-313.png" width="433" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And&amp;hellip; after all of these posts, I can finally show a couple names from my novels.&lt;/p&gt;
&lt;p&gt;&lt;a href="example.jpg"&gt;&lt;img class="post-img-link" src="example.jpg" width="256" height="256" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;In the future&lt;/h2&gt;
&lt;p&gt;There is a lot here and things to do. I have a basic font, but the diacritics are not working nor is the accent. The next step will be how to get those working in the font and see if I can get the eastern version rendering properly.&lt;/p&gt;
&lt;p&gt;I also have to tweak the kerning and spacing between the characters so it looks a bit more even on screen. For example, &amp;ldquo;Y&amp;rdquo; should be a bit further down and nestled underneath the vowel.&lt;/p&gt;
&lt;p&gt;Well, this is a point where I need to stop for now. I have to work on &lt;a href="/tags/author-intrusion/"&gt;Author Intrusion&lt;/a&gt; for a little bit.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Miwāfu Glyphs Redux - Vectors</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2014/08/19/miwafu-redux-vectorize/" />
    <updated>2014-08-19T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2014/08/19/miwafu-redux-vectorize/</id>
    <category term="graphics" scheme="https://d.moonfire.us/categories/" label="Graphics" />
    <category term="fedran" scheme="https://d.moonfire.us/tags/" label="Fedran" />
    <category term="fontforge" scheme="https://d.moonfire.us/tags/" label="FontForge" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="inkscape" scheme="https://d.moonfire.us/tags/" label="Inkscape" />
    <category term="miwafu" scheme="https://d.moonfire.us/tags/" label="Miwāfu" />
    <category term="tutorial" scheme="https://d.moonfire.us/tags/" label="Tutorial" />
    <summary type="html">Once I got a clean raster version of the glyphs, I use Inkscape to create a vector format which is suitable for importing into FontForge. Part 3 of creating a Miwāfu font.</summary>
    <content type="html">&lt;p&gt;It is very easy to copy SVG images from &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt; into &lt;a href="http://fontforge.org/"&gt;FontForge&lt;/a&gt;. The previous parts of creating a font for Miwāfu was to prepare an image suitable for importing into Inkscape.&lt;/p&gt;
&lt;h2&gt;Series&lt;/h2&gt;
&lt;p&gt;This is going to be broken into multiple posts about the steps of making a font.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/17/miwafu-glyphs-redux/"&gt;2014-08-17 Miwāfu Glyphs Redux - Redrawing&lt;/a&gt; - Since I picked up a few new calligraphy pens for my birthday, I tried to write out Miwāfu and found that it was a bit more difficult than I thought. So I redrew them until they weren't difficult.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/18/miwafu-glyphs-cleanup/"&gt;2014-08-18 Miwāfu Glyphs Redux - Scanning&lt;/a&gt; - After drawing out the Miwāfu glyphs by hand, I had to scan them in and get them ready for us.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/19/miwafu-redux-vectorize/"&gt;2014-08-19 Miwāfu Glyphs Redux - Vectors&lt;/a&gt; - Once I got a clean raster version of the glyphs, I use Inkscape to create a vector format which is suitable for importing into FontForge. Part 3 of creating a Miwāfu font.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/20/miwafu-glyphs-font/"&gt;2014-08-20 Miwāfu Glyphs Redux - Basic Font&lt;/a&gt; - Continuing my series of making a conscript, this describes the steps of going from a cleaned up vector version of the script to a basic font.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Import the image into Inkscape&lt;/h2&gt;
&lt;p&gt;Again, this is a relatively simple process. Using the final image from the previous step, we import it into Inkscape as an image. It doesn't matter if you link or embed, but I usually link to avoid bloating the SVG file.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-200.png"&gt;&lt;img class="post-img-link" src="screen-200.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Tracing the bitmap&lt;/h2&gt;
&lt;p&gt;Because I cleaned up the image in &lt;a href="http://gimp.org/"&gt;Gimp&lt;/a&gt;, it is easy to turn the raster image into a SVG image. Select the bitmap then choose &lt;code&gt;Trace Bitmap&lt;/code&gt; from the menu.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-201.png"&gt;&lt;img class="post-img-link" src="screen-201.png" width="633" height="457" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There is a quirk after you click &amp;ldquo;OK&amp;rdquo; on this dialog. It works for a few moments and then looks like you have to click OK again. Just close the window.&lt;/p&gt;
&lt;h2&gt;Cleaning up the images&lt;/h2&gt;
&lt;p&gt;The resulting item looks just like an image. Just use control and an arrow key to move one out of the way and delete the image behind the vector version. Once you are down to one image, select the traced outline and use &lt;code&gt;Break Apart&lt;/code&gt; (Control-K).&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-202.png"&gt;&lt;img class="post-img-link" src="screen-202.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The resulting image will have each glyph as a separate image, but all of the loops will be filled in. To fix this, click on the filled-in bowl, then control-click on the outline. Use &lt;code&gt;Subtract&lt;/code&gt; (Control-Minus) to remove the bowl from the outline.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-203.png"&gt;&lt;img class="post-img-link" src="screen-203.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Cleaning up individual glyphs&lt;/h2&gt;
&lt;p&gt;This is the next tedious part of the process. I started by throwing everything on a baseline, just to make it easier to scroll.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-204.png"&gt;&lt;img class="post-img-link" src="screen-204.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Then, starting on the left side, I go through each glyph and clean it up before moving the next. I was going with an easier approach, so I use &lt;code&gt;Simplify Path&lt;/code&gt; (Control-L) to remove many of the control points and smooth out the lines. After doing that, I tried to remove other control points (F2 lets you see those) to create a simple glyph.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-206.png"&gt;&lt;img class="post-img-link" src="screen-206.png" width="300" height="200" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I took a couple passes going back and forth until I was pretty happy with the results. Then, I reorganized the glyphs again just to make it easier for creating the final arrangement.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-205.png"&gt;&lt;img class="post-img-link" src="screen-205.png" width="400" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After a bit more, I had this for the end of this step:&lt;/p&gt;
&lt;p&gt;&lt;a href="arranged-glyphs.jpg"&gt;&lt;img class="post-img-link" src="arranged-glyphs.jpg" width="400" height="400" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You may notice that the heights of the individual glyphs varies a lot. I did this for a few reasons, mainly for comprehension. I love Cherokee as a script, but it shows some aspects of being a constructed script. Everything has roughly the same height and it comes off as a block of text. I wanted something more flowing.&lt;/p&gt;
&lt;p&gt;The bottom row has two versions because the lower set is the diacritic version (western) and the upper set is the inline (eastern).&lt;/p&gt;
&lt;h2&gt;In the future&lt;/h2&gt;
&lt;p&gt;One of the drawbacks of simplify path is that you lose a bit of the sharpness of the image. I would probably go with a different approach if I was creating the font again.&lt;/p&gt;
&lt;p&gt;Also, if this was a non-handwriting font, I would be starting in Inkscape (or a C# program). I have an idea for a parametric font, but this &amp;ldquo;perfect&amp;rdquo; idea means that I will probably never finish it.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Miwāfu Glyphs Redux - Scanning</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2014/08/18/miwafu-glyphs-cleanup/" />
    <updated>2014-08-18T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2014/08/18/miwafu-glyphs-cleanup/</id>
    <category term="graphics" scheme="https://d.moonfire.us/categories/" label="Graphics" />
    <category term="fedran" scheme="https://d.moonfire.us/tags/" label="Fedran" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="gimp" scheme="https://d.moonfire.us/tags/" label="Gimp" />
    <category term="miwafu" scheme="https://d.moonfire.us/tags/" label="Miwāfu" />
    <category term="tutorial" scheme="https://d.moonfire.us/tags/" label="Tutorial" />
    <summary type="html">After drawing out the Miwāfu glyphs by hand, I had to scan them in and get them ready for us.</summary>
    <content type="html">&lt;p&gt;I don't write out things by hand very often. The little imperfections always annoy me, which is why I'd rather create a font that write it out. That way, I can also use the font on the &lt;a href="https://fedran.com/"&gt;Fedran&lt;/a&gt; website to show characters in their native language.&lt;/p&gt;
&lt;h2&gt;Series&lt;/h2&gt;
&lt;p&gt;This is going to be broken into multiple posts about the steps of making a font.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/17/miwafu-glyphs-redux/"&gt;2014-08-17 Miwāfu Glyphs Redux - Redrawing&lt;/a&gt; - Since I picked up a few new calligraphy pens for my birthday, I tried to write out Miwāfu and found that it was a bit more difficult than I thought. So I redrew them until they weren't difficult.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/18/miwafu-glyphs-cleanup/"&gt;2014-08-18 Miwāfu Glyphs Redux - Scanning&lt;/a&gt; - After drawing out the Miwāfu glyphs by hand, I had to scan them in and get them ready for us.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/19/miwafu-redux-vectorize/"&gt;2014-08-19 Miwāfu Glyphs Redux - Vectors&lt;/a&gt; - Once I got a clean raster version of the glyphs, I use Inkscape to create a vector format which is suitable for importing into FontForge. Part 3 of creating a Miwāfu font.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/20/miwafu-glyphs-font/"&gt;2014-08-20 Miwāfu Glyphs Redux - Basic Font&lt;/a&gt; - Continuing my series of making a conscript, this describes the steps of going from a cleaned up vector version of the script to a basic font.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Scanning the file&lt;/h2&gt;
&lt;p&gt;The process of scanning in hand-drawn images is fairly simple one. I have a Canon all-in-one printers/scanner which writes out scanned images as PDF to a SD card. I threw everything into a single PDF and then broke it out into individual PNG files using an overly complicated process.&lt;/p&gt;
&lt;p&gt;I should have just scanned each page individually, but it was late and I wanted to go to bed.&lt;/p&gt;
&lt;h2&gt;Removing blue lines&lt;/h2&gt;
&lt;p&gt;The first thing I did was open the scanned images into &lt;a href="http://www.gimp.org/"&gt;Gimp&lt;/a&gt;. I use single window mode (from the &lt;code&gt;Windows&lt;/code&gt; menu) because it plays better with my monitor.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-100.png"&gt;&lt;img class="post-img-link" src="screen-100.png" width="286" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The next is to create a white layer and put it below everything. This will let me use Cut instead of fill to remove elements.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-101.png"&gt;&lt;img class="post-img-link" src="screen-101.png" width="286" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After selecting the main layer again, select by color (right-click, Select, By Color&amp;hellip;) and set the threshold to 40.0.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-102.png"&gt;&lt;img class="post-img-link" src="screen-102.png" width="277" height="483" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With those settings, just click on the blue line and cut (&lt;code&gt;Control-X&lt;/code&gt;). Because we put a white layer behind it, it will delete to white instead of transparent.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-103.png"&gt;&lt;img class="post-img-link" src="screen-103.png" width="286" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After doing this a few times, I get a white background image with the glyphs nice and stark on the page.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-104.png"&gt;&lt;img class="post-img-link" src="screen-104.png" width="286" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Sharpen the images&lt;/h2&gt;
&lt;p&gt;Once I have the guide lines removed, I made the text easier to trace. The first thing is to convert the image into grayscale and back to RGB. This removes any errant blue lines and darkens everything black.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-105.png"&gt;&lt;img class="post-img-link" src="screen-105.png" width="229" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Once that is done, I jack up the contrast to deepen the black even more.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-106.png"&gt;&lt;img class="post-img-link" src="screen-106.png" width="374" height="283" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Smooth out the edges&lt;/h2&gt;
&lt;p&gt;The result is actually good enough for the next step for making a vector version. However, I ended up using the &amp;ldquo;Oilify&amp;rdquo; filter to smooth out the edges so the glyphs look reasonable even in Gimp. I like Oilify because it smooths out the rough edges of an image and gives a more newspaper printed appearance to the images.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-107.png"&gt;&lt;img class="post-img-link" src="screen-107.png" width="295" height="603" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The final result is a fairly dark glyph that is easily designed to be scanned.&lt;/p&gt;
&lt;p&gt;&lt;a href="screen-108.png"&gt;&lt;img class="post-img-link" src="screen-108.png" width="286" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Culling the herd&lt;/h2&gt;
&lt;p&gt;The final step was to go through all of the duplicated glyphs and find the best one of the lot. This was actually a couple hours of shifting images around, removing the ones that don't quite fit, and trying to decide the right shapes to use. Once that was done, I had a single image with one of each glyph.&lt;/p&gt;
&lt;h2&gt;In the future&lt;/h2&gt;
&lt;p&gt;The blue lines I used were a little too dark, which increased the complexity of removing the trace lines. I would use a lighter shade next time.&lt;/p&gt;
&lt;p&gt;I also didn't need to use the oilify since I was scanning into the next step. The result is that the glyphs got a bit more blurred than needed, plus it distorted the shapes (which was magnified by other things I did later).&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Miwāfu Glyphs Redux - Redrawing</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2014/08/17/miwafu-glyphs-redux/" />
    <updated>2014-08-17T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2014/08/17/miwafu-glyphs-redux/</id>
    <category term="graphics" scheme="https://d.moonfire.us/categories/" label="Graphics" />
    <category term="calligraphy" scheme="https://d.moonfire.us/tags/" label="Calligraphy" />
    <category term="fedran" scheme="https://d.moonfire.us/tags/" label="Fedran" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="miwafu" scheme="https://d.moonfire.us/tags/" label="Miwāfu" />
    <category term="world-building" scheme="https://d.moonfire.us/tags/" label="World-Building" />
    <category term="tutorial" scheme="https://d.moonfire.us/tags/" label="Tutorial" />
    <summary type="html">Since I picked up a few new calligraphy pens for my birthday, I tried to write out Miwāfu and found that it was a bit more difficult than I thought. So I redrew them until they weren't difficult.</summary>
    <content type="html">&lt;p&gt;My dad gave me a little bit of money for my birthday and, after many years of being reminded not to spend it on bills, I gladly went out and bought some DVDs and a set of calligraphy pens.&lt;/p&gt;
&lt;p&gt;I've really been in the mood to create a font for my conlang lately. I'm pretty sure it was entirely because of &lt;a href="http://www.reddit.com/r/worldbuilding/comments/2c82uf/just_finished_a_draft_of_a_new_script_for_a/"&gt;this&lt;/a&gt;, which is a &lt;em&gt;beautiful&lt;/em&gt; set of calligraphy for someone's constructed language by someone far more talented than me. Even knowing they have higher skills, more artistic talent, and a more developed conlang doesn't stop me from wanting to follow in their footsteps. I mean, the only way to get better at something like this is to actually do it.&lt;/p&gt;
&lt;h2&gt;Series&lt;/h2&gt;
&lt;p&gt;This is going to be broken into multiple posts about the steps of making a font.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/17/miwafu-glyphs-redux/"&gt;2014-08-17 Miwāfu Glyphs Redux - Redrawing&lt;/a&gt; - Since I picked up a few new calligraphy pens for my birthday, I tried to write out Miwāfu and found that it was a bit more difficult than I thought. So I redrew them until they weren't difficult.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/18/miwafu-glyphs-cleanup/"&gt;2014-08-18 Miwāfu Glyphs Redux - Scanning&lt;/a&gt; - After drawing out the Miwāfu glyphs by hand, I had to scan them in and get them ready for us.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/19/miwafu-redux-vectorize/"&gt;2014-08-19 Miwāfu Glyphs Redux - Vectors&lt;/a&gt; - Once I got a clean raster version of the glyphs, I use Inkscape to create a vector format which is suitable for importing into FontForge. Part 3 of creating a Miwāfu font.&lt;/li&gt;
&lt;li&gt;&lt;a href="/blog/2014/08/20/miwafu-glyphs-font/"&gt;2014-08-20 Miwāfu Glyphs Redux - Basic Font&lt;/a&gt; - Continuing my series of making a conscript, this describes the steps of going from a cleaned up vector version of the script to a basic font.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Calligraphy&lt;/h2&gt;
&lt;p&gt;I haven't touched calligraphy in a very long time. My mother used to have some pens that I would occasionally play with. I didn't expect much coming back to it, I didn't have the muscle memory or the skill.&lt;/p&gt;
&lt;p&gt;But, I do remember the joy of trying to get curved, balanced lines. And that part is what I was looking for (and got).&lt;/p&gt;
&lt;h2&gt;Starting with the old&lt;/h2&gt;
&lt;p&gt;Back in &lt;a href="/blog/2012/10/29/miwafu-glyphs/"&gt;2012&lt;/a&gt;, I came up with a set of glyphs that I was pretty happy with at the time. However, in the two years since, they felt off but I couldn't figure out why. Trying to draw them out by hand helped me figure out the flaws: they were created on a computer.&lt;/p&gt;
&lt;p&gt;A calligraphy pen is kept at a steady angle for the entire character. The glyphs I created were just put together the way I thought looked good on the computer. More importantly, they had shapes that were easy to draw in &lt;a href="http://inkscape.org/"&gt;Inkscape&lt;/a&gt; instead of written on the page.&lt;/p&gt;
&lt;p&gt;When I actually tried to draw them, my hand refused to move in the ways needed to match the screen. Plus, it didn't feel &amp;ldquo;balanced&amp;rdquo; to me. So, I decided to draw the glyphs until I came up with a more natural version.&lt;/p&gt;
&lt;p&gt;I started with a cheap fountain pen but later switched to a marker-style pen. I found that I like the marker version slightly better, mainly for coverage, but neither compare to my precious Pentel A55 pencil which is completely unsuited for this endeavor.&lt;/p&gt;
&lt;p&gt;Below are the progression of the images starting with the old versions. You can probably guess that this was done over time (a week) with random bits of plain white paper.&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-09.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-09.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-08.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-08.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-07.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-07.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-06.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-06.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-06.jpg"&gt;&lt;img class="post-img-link post-img-link-last" src="scanned-06.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Coming up with the new&lt;/h2&gt;
&lt;p&gt;As you might tell from the above images, I played around a lot with the feel but started with the old ones. Mostly, it was changing the shape and arrangement while keeping the shapes distinct enough that they couldn't easily be confused with the other. The reason there were so many different variants was because I kept drawing it to see if it was a weakness in my muscles or a difficulty in the shape. Frequently, it was a combination of both.&lt;/p&gt;
&lt;p&gt;Eventually, I came up with a new set of glyphs that felt pretty good to actually draw by hand. Around page five of my tests, I started to organize my symbols instead of just randomly drawing on the page.&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-05.jpg"&gt;&lt;img class="post-img-link" src="scanned-05.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I even made a few attempts to write names in it (mostly character names). On the next image was my attempt, though there was some discussions with a friend at the writing group about different scripts in our world (he's a former military translator and a micro-polyglot).&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-02.jpg"&gt;&lt;img class="post-img-link" src="scanned-02.jpg" width="198" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One cool thing came out of here is a bit of world-building. There are two ways of putting in the vowels, diacritics or succeeding. Since I've always said that Miwāfu's script was created by researchers and missionaries from &lt;a href="https://fedran.com/tarsan/"&gt;Tarsan&lt;/a&gt;, the original language used diacritics. And since the desert folk hate agreeing with anything, the eastern part of the desert rebuked the diacritics and went with their own way of writing vowels.&lt;/p&gt;
&lt;h2&gt;Practice sheets&lt;/h2&gt;
&lt;p&gt;Once I &lt;em&gt;thought&lt;/em&gt; I was done with the glyphs, I banged up a quick practice sheet in Inkscape using blue lines and printed off a few copies. Then, with my trusty new calligraphy marker, I just spent a few days drawing in boxes, working each one until it felt good but also looked &amp;ldquo;mostly right.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;I say &amp;ldquo;thought&amp;rdquo; because I still ended up changing fonts after drawing them a few dozen times.&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-04.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-04.jpg" width="191" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-03.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-03.jpg" width="191" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-11.jpg"&gt;&lt;img class="post-img-link post-img-link-tile" src="scanned-11.jpg" width="191" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="scanned-12.jpg"&gt;&lt;img class="post-img-link post-img-link-last" src="scanned-12.jpg" width="191" height="198" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the end, I figured I had a pretty good set of glyphs of various quality. I scanned them in and then promptly went to bed. Mainly because the next step requires a lot of thinking.&lt;/p&gt;
&lt;h2&gt;In the future&lt;/h2&gt;
&lt;p&gt;The biggest thing about these glyphs and my effort is simply practice. I haven't used calligraphy pens enough to be good at them, nor can I do the little swashes and flairs that I see others doing. This is obviously something I can improve, but it is a matter of time and desire.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Personal branching model</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2013/04/03/personal-branching-model/" />
    <updated>2013-04-03T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2013/04/03/personal-branching-model/</id>
    <category term="technology" scheme="https://d.moonfire.us/categories/" label="Technology" />
    <category term="writing" scheme="https://d.moonfire.us/categories/" label="Writing" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="markdown" scheme="https://d.moonfire.us/tags/" label="Markdown" />
    <category term="sand-and-ash" scheme="https://d.moonfire.us/tags/" label="Sand and Ash" />
    <content type="html">&lt;p&gt;Discipline is one of those things I struggle with. The biggest is how I use source control for both my programming and my writing projects. As we start to implement Git at works, some of my lazy habits at home are becoming more (painfully) obvious.&lt;/p&gt;
&lt;p&gt;&lt;!--more--&gt;&lt;/p&gt;
&lt;h1&gt;Noise&lt;/h1&gt;
&lt;p&gt;I commit a lot, mostly at the end of a thought. So, once I finish a chapter or a good scene, or write a series of methods and tests, I'll commit locally. I don't always give "good" messages for those commits, but enough to give me a hint of what is going on.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Checking in so I can move downstairs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The problem with this is noise. There are a ton of check-ins that don't have useful comments. After a day or three, I won't care about those comments since they are basically just a progression to figure out something.&lt;/p&gt;
&lt;p&gt;In the past, I usually worked on the &lt;em&gt;master&lt;/em&gt; branch and cringed at the noise. Occasionally I would rebase to squash them down so I don't have quite as much noise, but overall I just suffered with them.&lt;/p&gt;
&lt;h1&gt;Seeing it differently&lt;/h1&gt;
&lt;p&gt;With the migration to Git at work, I realized that I need to actually use branches more effectively. Noise commits aren't so bad if they are put into a task branch and then later squashed once they get to the master root. So, I don't have to worry about going downstairs if I know those will be collapsed into a single useful commit later.&lt;/p&gt;
&lt;p&gt;It also lets me work without too many restrictions during the creative process. Which is good since I find committing frequently to be critical to my process.&lt;/p&gt;
&lt;h1&gt;Where to put it&lt;/h1&gt;
&lt;p&gt;Now, the really big question is where to put it. I'm normally not fond of airing my "dirty laundry" as it were. I figured no one cares if I'm switching computers during the process and I don't blame them.&lt;/p&gt;
&lt;p&gt;However, if I'm working between two machines, it seems silly to create an entirely different repository purely for the purpose of working between machines. This came up while working on the &lt;a href="https://github.com/dmoonfire/fedran-fontforge"&gt;Fedran fonts&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At the moment, I decided to take a chance and just push it up to Github. There is going to be noise but it won't be on the master branch. I might prefix the branches with "drem-" to indicate they are task branches.&lt;/p&gt;
&lt;p&gt;This lets me take advantage of Github's ability to manage branches but also to let other people join in (in the unlikely chance someone wants to help me work on something).&lt;/p&gt;
&lt;h1&gt;Novels&lt;/h1&gt;
&lt;p&gt;Since I also recently started my next novel (&lt;a href="http://wiscon.info"&gt;WisCon&lt;/a&gt; has a deadline for the writing group on the 15th), I decided to explore this process with the novel. I'm doing most of the work on the 'sal' branch because novel writing is pretty much independent of everything else I write. Same with the commissions and other WIPs (which I have a number of them).&lt;/p&gt;
&lt;p&gt;Doing it this way means I can put novels in their proper place in my directory tree as a WIP instead of a dedicated folder. It's a minor thing, but I like the Fedran stuff underneath the "moonfire/fedran/" directory instead of in the "wip/" folder.&lt;/p&gt;
&lt;h1&gt;Markdown&lt;/h1&gt;
&lt;p&gt;I'm planning on switching my entire writing repository over to Markdown within a few &lt;em&gt;(mumble)&lt;/em&gt;. I need to finish a little bit of programming, but I already have the Perl script to do the conversion. If I go with this approach, then I can easily create a "markdown" branch and do the conversion until everything is ready to migrate.&lt;/p&gt;
&lt;p&gt;The biggest hangup on the Markdown conversion is a good conversion to DocBook. I have the beginning of one in my writing tools, I just haven't finished it yet. It needs to be done so I can integrate the new code into my workflow.&lt;/p&gt;
&lt;h1&gt;New ideas hurt&lt;/h1&gt;
&lt;p&gt;I think the branching model will work out, though it feels strange. I just don't know if the strangeness is because I'm not used to it or because it is wrong. I think I'll have an answer in a few months.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Creating Unicode charts for fonts</title>
    <link rel="alternate" href="https://d.moonfire.us/blog/2013/03/20/creating-unicode-charts-for-fonts/" />
    <updated>2013-03-20T05:00:00Z</updated>
    <id>https://d.moonfire.us/blog/2013/03/20/creating-unicode-charts-for-fonts/</id>
    <category term="graphics" scheme="https://d.moonfire.us/categories/" label="Graphics" />
    <category term="programming" scheme="https://d.moonfire.us/categories/" label="Programming" />
    <category term="writing" scheme="https://d.moonfire.us/categories/" label="Writing" />
    <category term="flight-of-the-scions" scheme="https://d.moonfire.us/tags/" label="Flight of the Scions" />
    <category term="fontforge" scheme="https://d.moonfire.us/tags/" label="FontForge" />
    <category term="fonts" scheme="https://d.moonfire.us/tags/" label="Fonts" />
    <category term="python" scheme="https://d.moonfire.us/tags/" label="Python" />
    <category term="sand-and-blood" scheme="https://d.moonfire.us/tags/" label="Sand and Blood" />
    <category term="typography" scheme="https://d.moonfire.us/tags/" label="Typography" />
    <content type="html">&lt;p&gt;So, one of the major goals for &lt;em&gt;Sand and Blood&lt;/em&gt; (SAB) is to create my own font. Yeah, it is a "pie in the sky" as it were, but it is something I'm enjoying doing during my lunch breaks. However, I decided I needed something a bit more complicated than just creating the glyphs by hands. And I wrote a Unicode chart generator to help me do it.&lt;/p&gt;
&lt;p&gt;&lt;!--more--&gt;&lt;/p&gt;
&lt;h1&gt;Parametric Fonts&lt;/h1&gt;
&lt;p&gt;It wasn't something I was going to really get into, but I got dragged into a number of discussions about &lt;a href="http://en.wikipedia.org/wiki/Metafont"&gt;MetaFont&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/MetaPost"&gt;MetaPost&lt;/a&gt;. I love the idea of MetaFont except that I haven't found a good way of translating it &lt;a href="http://en.wikipedia.org/wiki/OpenType"&gt;OpenType&lt;/a&gt; fonts or TrueType fonts.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Side note: Getting the impression there are a lot of PascalCaseNames in software?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One of the neatest things about MetaFont is that it is parametric. You adjust a few dials and you get a different font. I can make a serif version of a sans-serif but keep the same x-height (much like &lt;a href="http://www.myfonts.com/fonts/emigre/mrs-eaves-ot/"&gt;Mrs. Eaves&lt;/a&gt; and &lt;a href="http://www.myfonts.com/fonts/emigre/mr-eaves-sans-opentype/"&gt;Mr. Eaves&lt;/a&gt;). I could also have one with more of an italic bent. They will be similar (that's the point), but visually different.&lt;/p&gt;
&lt;p&gt;The biggest problem MetaFont is the inability to get it into TrueType. That includes getting good hinting and kerning set up so the font looks &lt;em&gt;good&lt;/em&gt; in print in addition to being distinctive.&lt;/p&gt;
&lt;p&gt;Somewhere deep in the vast repository of knowledge I have, I remembered that &lt;a href="http://fontforge.org/"&gt;FontForge&lt;/a&gt; had a Python API and it could do almost everything I could do in person. FontForge also writes out OTF and TTF fonts. And, in a previous job of writing computerized sewing software, I actually created a system of creating sewing patterns based on detailed measurements along with a system of abstracting those metrics to make it easier to work with.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Another side note: Yes, I sew. I used to make dresses and costumes when I was a teenager.&lt;/em&gt;&lt;/p&gt;
&lt;h1&gt;FontForge&lt;/h1&gt;
&lt;p&gt;I'm fairly decent at FontForge. Well, not great but I've created three fonts already with it. Most of them were trivial (for a game I wrote) but I enjoy working with it. I also did the &lt;a href="http://d.moonfire.us/blog/2012/10/29/miwafu-glyphs"&gt;Miwāfu glyphs&lt;/a&gt; in it, but didn't like the results so far.&lt;/p&gt;
&lt;p&gt;Yesterday at lunch, I got the basics of a Python-based system for generating &lt;a href="https://github.com/dmoonfire/fedran-fontforge"&gt;Fedran fonts&lt;/a&gt;. It is &lt;em&gt;very&lt;/em&gt; rough at this point, but I think I'll hit the first peak in a week or so. I'm making it text-based so it is easy to track how things change, but also so I can reuse aspects of the font for various glyphs (like serifs).&lt;/p&gt;
&lt;p&gt;This is the fun part, when all the ideas are bubbling in my head. It helps distract from the serial, which I can't work at lunch on and I can't really get the time to focus during the week. So, I'm getting my writing in on the weekend. Still maintaining the 10-20k words/week, but just cramming it into three days.&lt;/p&gt;
&lt;h1&gt;Preview&lt;/h1&gt;
&lt;p&gt;Last night, I wrote up a quick Python-based program under the new umbrella of &lt;a href="https://github.com/dmoonfire/mfgames-font-python"&gt;MfGames Font Python&lt;/a&gt;. This uses my tools framework, but basically generates a PDF of a Unicode range of an arbitrary font. Which is great when I want to see the results of my work. And since I use &lt;code&gt;evince&lt;/code&gt;, which automatically reloads PDF files that change, I have a very fast development cycle of hitting F5 to build and seeing the result in 2-3 seconds.&lt;/p&gt;
&lt;p&gt;There is a bunch that still needs to be done, but I think it is a good start to play around. I might not finish, but it is moving down the direction I want to go with both SAB and FOTS, but also longer-term plans.&lt;/p&gt;
&lt;h1&gt;Purpose&lt;/h1&gt;
&lt;p&gt;Speaking of SAB, this actually advances that project. In Fedran (the world &lt;em&gt;Sand and Blood&lt;/em&gt; is set), there are a number of of languages including Volis, Miwāfu, and Lorban. In SAB, there is only one language, Miwāfu, but in &lt;em&gt;Flight of the Scions&lt;/em&gt; there are all three plus telepathy. Most of them are notationally translated (e.g., you don't have to know three made up languages to read my book), but I want a different visual appearance.&lt;/p&gt;
&lt;p&gt;I could drop one of them, though I think it is nice flavor and leads into the next book. If I did that, it would be fairly easy to have two languages with one italic and telepathy which I use «guillemets» to distinguish it (thanks to &lt;a href="http://en.wikipedia.org/wiki/So_You_Want_to_Be_a_Wizard"&gt;So You Want to be A Wizard&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;But, I want to see how this turns out. Even if it doesn't, I'm having fun. I think it will look good, but it is something I won't know until I typeset. I've had enough trouble finding a font that handles all of the Miwāfu accents well (áéíóúńàèìòùǹāēīōūn̄) and has a serif and sans-serif version. As long as I avoid the "n" accents (ńǹn̄), basic fonts work so I can still put it on Kindle and other readers.&lt;/p&gt;
&lt;p&gt;Like most of my projects, I'm willing to set it aside if it doesn't work. I have contingency plans for just about everything left in SAB. Since I have an editor scheduled for May, I figured I have a few months to just... play.&lt;/p&gt;
</content>
  </entry>
</feed>
