I've made so many bad attempts at this character that this feels like
a win. Also, it's an annoyingly common character in character sets
I'd like to cover.
This turns out to be all it takes to get FontForge to autohint fonts
on generation. FontForge's autohinter isn't perfect, but it's pretty
good and certainly better than anything else I've got.
The plan is that bedstead.c will produce a single-path font and then
this script will stroke it in various ways, adapting the font metadata
appropriately.
That's the only character that Font Library says is missing for
supporting Afrikaans, so I may as well implement it even if Unicode
does say its use is strongly discouraged.
Before this change, emit_path() would emit contours starting at
whichever point was earliest in the points array. That was fine for
closed contours, but it meant the open contours tended to be emitted
in multiple parts. Now it first searches for start points of open
contours and emits those, and then does what it used to do to emit the
remaining (closed) ones. This has no effect (other than to slow
things down a bit) for fully-closed paths like those in outline
versions of Bedstead, but it makes the stroked ones much cleaner. Now
a contour can only end at a tip or at a 3-way junction.
Thanks to <http://www.twardoch.com/download/polishhowto/> for
guidance. All misinterpretations are my own. One character is
missing because I still don't have a good way to do an accented
capital S.
They were only built because I didn't know how to make Ghostscript
use OTF files directly. Now that I do, there's no need to keep
them, so dropping them for 002.000 makes sense.
Now more-correctly generate family/subfamily names, both the versions
for programs that can't handle much variety (IDs 1 and 2), and the
proper typographic ones (IDs 16 and 17). This should stop "Medium"
turning up in my font selector.
BlueValues gains the upper edge of symbols and Hebrew letters.
OtherBlues gains the bottom edge of symbols. BlueFuzz is set to zero
because it's unnecessary (and this is recommended by the Type 1 spec).
Ones with tonos put the accent to the left of the letter rather than
above it, which makes for a rather squashed Omega. In real teletext,
the tonos is put in the character cell to the left, but I don't know
if that can be coded in Unicode properly. Maybe I need a silly
multiple substitution for a space followed by an capital with tonos.