So, one of the major goals for Sand and Blood (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.

Parametric Fonts

It wasn't something I was going to really get into, but I got dragged into a number of discussions about MetaFont and MetaPost. I love the idea of MetaFont except that I haven't found a good way of translating it OpenType fonts or TrueType fonts.

Side note: Getting the impression there are a lot of PascalCaseNames in software?

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 Mrs. Eaves and Mr. Eaves). I could also have one with more of an italic bent. They will be similar (that's the point), but visually different.

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 good in print in addition to being distinctive.

Somewhere deep in the vast repository of knowledge I have, I remembered that FontForge 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.

Another side note: Yes, I sew. I used to make dresses and costumes when I was a teenager.

FontForge

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 Miwāfu glyphs in it, but didn't like the results so far.

Yesterday at lunch, I got the basics of a Python-based system for generating Fedran fonts. It is very 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).

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.

Preview

Last night, I wrote up a quick Python-based program under the new umbrella of MfGames Font Python. 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 evince, 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.

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.

Purpose

Speaking of SAB, this actually advances that project. In Fedran (the world Sand and Blood 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 Flight of the Scions 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.

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 So You Want to be A Wizard).

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.

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.

2013-03-20