I added the Latin alphabet, so far only the uppercase letters, to Tsukurimashou, and this brings it to a point where I feel okay about releasing a demo PDF file, so y'all can download it and take a closer look at my handiwork.
Some things to remember:
- The main purpose of this typeface family is as a pedagogical exercise. It's the process of creation that is more important than the finished product. Hence the name.
- It's designed for the Japanese language. Typesetting modern Japanese requires having the glyphs for English too, but that doesn't mean the fonts are usable for general English-language typesetting. In particular, this is a monospace font with a choice of typesetting one character per perfectly square box, or two. That'll make it look unnaturally extended or compressed if you use it to typeset English text of more than a word or two at a time.
- All five styles shown are generated from the same source code by tweaking a few parameters, and many other styles not shown in the demo can easily be generated with very little extra work.
As I'd hoped, I'm learning a lot about type design by doing this. One interesting observation is that the way the hiragana and Latin alphabet are constructed really is fundamentally different. The hiragana usually consist of a very few complicated brush strokes. They don't have sharp corners like right angles, but they DO frequently have super-sharp corners where the brush suddenly reverses direction. (For instance, at the upper right corner of て, or centre left of を.) Those really screw up some of the technology I'm using (in particular, MetaType1's "pen_stroke" macro and Fontforge's postprocessing) and I'm having to use a lot of wacky numerical tricks to get around it. In the Latin alphabet, on the other hand, there are many right and acute angles, like at the corners of letters like E and W. I think some of those will show up in the katakana as well, which I haven't started yet (will probably do lower-case Latin first).
Moreover the way I've found it convenient to define the coordinates is different between the two. For the hiragana I was printing out a sheet for each character with versions of that character from several other typefaces printed on grids for reference, and a large blank grid where I'd draw my own version with a ballpoint pen. That helped me figure out approximately where all the control points would be, then once I entered the coordinates into the computer I'd go through several iterations of changing the numbers to get it to look right. The result might be quite far from what I'd drawn on the paper, but it usually would have the same arrangement of points - and, importantly, in the Metafont source code the points would all be specified by their explicit coordinates.
With the Latin alphabet it's quite different: I've been designing on the computer directly (okay, that's partly because I did about half the letters on the bus between here and Waterloo, where I couldn't be messing around with paper), but I'm also using Metafont's linear-equation solver much more. Most of the points are defined by percentages of where they sit between other points. I think that's closer to Knuth's vision of how Metafont is meant to be used; what interests me is that it seems to work a lot better for the Latin letters than the Japanese ones. This points to something really different at a basic level in what the letters are all about. The Latin alphabet comes from Roman stone inscriptions, by way of several hundred years of printing tradition. The Japanese hiragana come from Chinese brush writing, and less influence from the printing process.
The shapes of the uppercase Latin alphabet in Tsukurimashou are mostly imitating Gill Sans, but that's not a monospace typeface and this is, so it's interesting to see how the spacing changes the look of the whole thing. I added bars at the top and bottom of the I and the top of the J, because without them those letters stick out oddly in monospace (they are much too narrow for the box). With the bars, they blend a lot better into the line. Another spacing-related thing comes from the fact I'm trying to define both the "full-width" and "half-width" Latin from one set of shapes. What's going on behind the scenes is that I designed the full-width letters and then some tricky code decides how much to squash each letter to fit it into the half-width box. It's nonlinear, depending on both how wide the original is and where it sits in its square box, so the relative proportions of the different letters change by different amounts, with the general effect of making the shapes "more monospace," that is, closer to all having the same width. For example, W gets squashed a lot more than I. I think the result is reasonable; not perfect, but I'm not sure any monospace Latin can be.