1. 22

My first experience writing Metafont source! How does anyone actually make anything more complicated than this without a real font design program?

My rough approach was to take some of the boilerplate from an existing metafont and write a Ruby script to generate a different variant of it letter by letter. Sure, you can script metafont, but we already have scripting languages that are better than metafont…

  1.  

  2. 4

    This looks like a fun project, and thanks for letting me know about Pigpen ciphers!

    1. 2

      Metafont has always fascinated me. I wish it was easier to learn it though.

      1. 2

        Same here. I think the issue is that while Knuth’s TeX got a “friendly face” with LaTeX, no-one did that with Metafont.

        1. 2

          The documentation was pretty nonexistent. I had to look at existing metafonts to figure out how the heck to wrangle it. It’s pretty powerful, but involved a bit of reverse-engineering of existing source.

      2. 2

        I really like the way this looks, though it took me a couple attempts to realize that the pairs dots on A-R aren’t important. It’d be very cool to use these for decorating a spellbook - I’ll be trying to remember this when I next create one.

        1. 2

          Thanks! The font is designed so it can be easily sight-read at the table if necessary. All of the capitals are double dotted and the lowercase are single dotted just to indicate the center of each letter (and for show). You’re free to edit the source to take them out, though ;)

          The font should still be unambiguously readable if characters share horizontal strokes, but I was having trouble getting Metafont to shift the baseline of each character so they would overlap. Not the greatest documentation :-(

          1. 2

            Oh, that makes a lot of sense! I don’t think they look bad at all though, I just assumed they carried information and changed between letters when I first tried to understand how the letters. I missed them representing upper and lowercase in the examples below, which on a second look definitely helps trying to read them.