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…

Sierra font.000 extracted from Leisure Suit Larry 3

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.