It required sacrificing a lot of portability (the script now outputs the SVG file from Cairo, opens it and tweaks the XML directly, saves it again, then fires up Inkscape to automatically do some path operations), but none of the pure-Cairo ways I tried worked for Fontforge.
I’ve also toyed with decreasing the width of the characters, so that the boxes would be closer to 2:1 than 3:1, but that squished the diagonal lines in an unappealing way. This is designed to go in a Z-machine status bar, so I’ll always have more horizontal space than vertical space available anyway.
Time to stop stalling and actually put it in a game!
[ ] ( ) ^ ←-(?)-( ) ( )
d \ | | | x |
( )+(~)-(A)-(#)-( )-{.}-(?)
u | | : |
(!)-(.) v (@)-
I would prefer to use a capital X for the crossed diagonals, but I’m trying to specifically leave the capital letters intact so that authors can label rooms with them. (For example, you might use the first letter of an NPC’s name to show their location.) It’s an edge case, anyway; I don’t think a single one of my Dialog automaps has ever had crossed diagonals in it.
Now, if I could just get rid of those white hairlines between the rows…
Just seeing this thread and this looks really cool! I’m going to have to properly catch up on what’s going on here, because I’m a fan of maps in games…