Wednesday, December 8, 2021

Converting Windows TrueType fonts for Classic Macintosh MacOS and Apple IIGS GS/OS

TrueType is a font standard adopted by Apple in the 1980's as an alternative to Adobe PostScript fonts. TrueType fonts scale without the jagged edge appearance of scaled bit-map fonts. TrueType fonts became standard with classic MacOS System 7. In the early 1990's WestCode Software released "Pointless", a IIGS GS/OS System 6 compatible Control Panel written by Alan Bird which allowed IIGS GS/OS applications such as HyperCard GS and AppleWorks GS to also use TrueType fonts. Because Microsoft also embraced TrueType and TrueType fonts also work with Mac OS X there are resources online and in some cases instructions and tools are designed for specific platforms.

Having a recent need to add a TrueType font to my IIGS I determined what I needed to do to download a TrueType font from a current online web font repository and get it working on both classic MacOS 9 and GS/OS. As the steps were a bit more complicated then I expected I am documenting them here in case they will be helpful to anyone else.

Step 1: Download the TrueType font

The online source of the TrueType fonts I used is https://all-free-download.com/font/. This site advertises over 26000 TrueType fonts that are free to use. For my purposes I downloaded the font Harakiri.

Harakiri font

The fonts downloaded from the site are Zipped. I downloaded the font onto a Mac running OS X, so unzipping the file only required a double-click and I then had a .ttf file that could be opened in Mac OS X Font Book and installed.

Unfortunately I found that moving the .ttf file to my IIGS did not result in a usable file. Even changing the filetype to $C8 and aux filetype to $0001 to indicate a TrueType font did not make it usable. This is because the font information in the file is stored as data and GS/OS expects font data to be stored in a file's resource fork. The font file also did not appear correctly in MacOS 9.

Step 2: Convert the font file to MacBinary

The website www.fontconverter.org provides a free service for converting font files between several common formats. Using this site I converted the downloaded .ttf file to a MacBinary .ttf.bin file. This takes only a few seconds.

Step 3: Move font to MacOS (optional)

Note: If you want to bypass this step and go directly to the IIGS that can also be done.

Because I am running the MacOS emulator SheepShaver I moved the .ttf.bin file to my host directory, allowing me to see the file from within SheepShaver which was running MacOS 9. Double-clicking the .ttf.bin file within MacOS 9 produced a font suitcase with the TrueType font inside. Double-clicking the TrueType font opens a window showing the font. At this point the font can be installed in the System Folder and used with MacOS.

Moving the font suitcase to the IIGS can be done at this point.

Step 4: Move font to IIGS and add to Pointless Control Panel

If you did step 3 then you can move the font suitcase to the IIGS. If you did not do step 3 then you can move the .ttf.bin file to the IIGS. In my case I am running the IIGS Sweet16 emulator by Eric Shepherd so moving the file to the IIGS just requires dragging it onto an open folder window on my emulated IIGS. For TrueType fonts I always use a folder on an HFS volume so that the font names do not need to be restricted by the length and format limitations of ProDOS. If you moved the ttf.bin file then you will need to use the freeware utility MacBinary-GS by Tony Morales to convert the file to a .ttf file. (The freeware ProDOS 8 program MacDown by Jason Harper may also be used.)

At this point you have a .ttf file on the IIGS with the font information in the resource fork correctly. However, the filetype and aux filetype will need to be corrected. This can be done in a number of ways. I recommend the shareware application UtilityWorks by George R. Wilde. Change the filetype to $C8 and the aux filetype to $0001.

Now open the Pointless Control Panel and use the Add button to add the font to Pointless. Pointless also allows you to view the font or generate bit-map point sizes of the font which are useful if you want to use the font in HyperCard GS or HyperStudio for text fields.