Using pifo
to Generate Modern Sierra On-Line Fonts
Chevy Ray Johnston posted a fantastic article on the Rust tooling they made to generate and publish their awesome pixel fonts. This isn’t an advertisment or anything, I just love these fonts; if you are fan of indie gaming pretty much at all, then you’ve definitely seen these fonts in action in a bunch of indie games. They are absolutely great.
However, this article got me thinking about the old-school Sierra On-Line fonts that I grew up with. Now, scibud
already has the ability to extract and render SCI0
/SCI01
fonts from the original asset files:
$ npx @4bitlabs/scibud font show 0 > font.png
Command to extract font 0
from the current Sierra game directory and save
the resulting image as a PNG file.
Right now, the font show
command is more of a debugging-tool than anything really useful. It renders out a very basic preview of the font as a PNG. The glyphs in resource files are variable width, so you can see the ragged-edge, given that there are equal number of glyphs rendered on each line…

The PNG file of the rendered font—font.png
—with 16 glyphs per
line.
However, as one might expect, the original SCI0
engine doesn’t support any kind of kerning, and that information is obviously not-present in the font encoded in the SCI0
resource files. But based on the post, that looks like that would be relatively easy to add that post-facto.
Legal shenanigans around redistribution aside, technically it should be more than feasible to generate the correct format and metadata files that pifo
uses. I think it would be a lot of fun to extend some of these original SCI0
fonts to EFIGS, improve the kerning, and render some good TTF fonts for some web-games…
If Chevy Ray ever decides to open-source the tool, I'll definitely be interested in taking a closer look at getting this done.