Fonts to Flame/Fire - A Complete Tutorial (flame|fire)
The definitive word on getting fonts to your flame/fire system.

Added: December 29th 2004
Submitter: John Montgomery
Score:
Hits: 30934

We'll first take a look at an overview of fonts on Macintosh and PC systems. Next, we'll take a look at the preferred ways of dealing with transferring fonts to your sgi or linux workstation by using TrueType fonts. Finally, if you don't want to spend any money or prefer to use PostScript fonts, we have several alternatives for transferring and converting your fonts.

Table of Contents




I. Font Type Overview - Windows

small

Fonts are found in Windows versions under C:WINDOWS/Fonts. Let's take a look at the type of fonts available under Windows (from top to botom):

Adobe Font Metrics (.afm) and PC Font Information (.inf): When you purchase fonts, these fonts are generally supplied along with the other varieties. When you install a font that includes an AFM and an INF file in ATM, ATM merges the AFM and INF files into a PFM file. The AFM file is used under to unix to define kerning pairs.

Printer Font Binary (.pfb): Contains mathematical descriptions for each character designed for the typeface. Applications and printers use PFB files to print fonts, and ATM rasterizes them to display smooth text on-screen. Generally installed in a pair with a .pfm file. This file can be converted on an Irix or Linux machine into a unix-usable .pfa file.

Printer Font Metrics (.pfm): Contains font metric information for a Type 1 font and is generally installed in a pair with a .pfb file. Not easily convertable to a font which can be used on unix systems.

II. Font Type Overview - Macintosh OSX

small

Fonts are located under /System/Library/Fonts, /Library/Fonts, and ~/Library/Fonts (~ is your home folder). You can no longer open the contents of suitcases in OSX -- you need to use a utility such as TypeTool (see below) to gain access to the individual fonts. However, under OSX 10.3 and later you can double-click on the icon and view the font using Apple's FontBook. If there are multiple varieties of fonts in a suitcase, you can select which one to display from a pop-up menu. Let's take a look at the type of fonts available under OSX (from left to right):

True Type (ttf): True Type fonts have been supported by the discreet products since 2000 and are also supported directly in OSX. Not all .ttf fonts from OSX seem to transfer to discreet correctly, but most do.

small
PostScript Type1 (lwfn): This is your "standard" Macintosh Type 1 outline font. What is confusing about this is that certain Macintosh files are stored in two parts -- the data fork and the resource fork. What you see when you examine files in the finder and the shell is the data fork. However, the actual font is stored in the resource fork of the file, so if you ftp this file to your sgi/linux workstation you will end up with a zero size file. This can actually be seen if you look in a unix shell at this directory (note that the size of UnivConBol -- a lwfn font -- is zero):

Macintosh TrueType Font Suitcase (ffil): Very similar to the OS9 variety of suitcases, but contains TrueType fonts. Information is in the resource fork instead of the data fork, so if you ftp this file to your sgi/linux workstation you will end up with a zero size file. Since this is a "suitcase", the file might contain multiple versions of a font which you can see when viewed in FontBook, Suitcase, or when you open it in TypeTool or another font program. To gain access to individual fonts in the suitcase, drag it to the TypeTool application icon or open it from within the TypeTool application.

Data Fork Suitcase (dfont): This file is basically the OSX equivalent of an OS9 suitcase file, with the exception that all data is stored in the data fork instead of the resource fork. That is why, if you look at the shell output above, you can actually see a size for the Futura font. This potentially makes it easier to transfer over a network using NFS or FTP. Since this is a "suitcase", the file might contain multiple versions of a font which you can see when viewed in FontBook, Suitcase, or when you open it in TypeTool or another font program. To gain access to individual fonts in the suitcase, drag it to the TypeTool application icon or open it from within the TypeTool application.

PostScript OpenType Roman Outline/Bitmap Font PostScript OpenType CID Chinese, Japanse, Korean, and Vietnamese Outline/Bitmap Font (otf): OpenType, formally known as TrueType Open v2, was developed jointly by Microsoft and Adobe to "end the font wars", with the goals of creating a joint standard and easing font management. CID stands for "character ID", which is used to map multi-btye character sets, such as non-Roman character sets.

Macintosh Font Suitcase (suit): Some vendors supply their fonts in suitcases. These contain a single or multiple TrueType type font face. To gain access to individual fonts in the suitcase, drag it to the TypeTool application icon or open it from within the TypeTool application.

III. Using TrueType Fonts

I recommend standardizing on TrueType fonts. It is so much easier to deal with one font file and all you have to worry about is dropping it into the /usr/discreet/font directory. This also allows you to use the file on multiple platforms, since it can be read on both the Mac and PC, as well as used in flame/fire and smoke.

As Stephen White of discreet points out, however, there is one reason that standardizing on TrueType may not be a good idea: Adobe Type 1 fonts contain curve information which can't be exactly represented in TrueType. Mathematically, Type 1 fonts include cubic bezier segments, while TrueType supports only quadratic bezier. As a reference, splines in flame/fire (eg., gmasks) are cubic bezier, so they have two tangent handles between each curve point. quadratic beziers, on the other hand, only have one tangent handle between each curve point. So converting Adobe Type 1 to TrueType is an approximation. The end result is a TrueType font with a lot more points (both curve points and tangents) than the Type 1. In addition to being an approximation, this may result in a larger file size as well, depending on the complexity of the glyphs.

In practice and through testing, we've found these differences to be quite negligable to non-existing in many, if not most, cases. For piece of mind, I suggest you try transferring several different fonts in TrueType and PostScript versions and seeing the results for yourself before determining a standard practice. If you prefer using PostScript, we have a variety of methods of translation and transfer which we detail below.

Transferring and Installing TrueType Fonts

small
If you already have a TrueType font, chances are you're already good to go. All you need to do is use nfs or ftp to transfer your font file over to your discreet system. If you are using ftp, make sure you transfer the font using binary mode. Move them into the /usr/discreet/font directory.

In the Text, Action, or DVE module, go to the Load Font menu and select "TrueType" from the blue popup menu under the "EXIT Load Font" button. Load the font and type away.

If the TrueType font does not load correctly or does not create any characters when you type, you'll want to send it through a "conversion" as described below. Instead of opening a Type 1 font, you'll open the TrueType font which needs to be fixed.

Font Conversion Tools

TypeTool (visit their site) from Pyrus, which is available for both Windows and Macintosh, is an excellent utility. Not only can you do font conversions using this tool but it also allows you import eps outlines and turn them into font characters. This is really useful for building logos and elements for use as 3D text in the Action or DVE modules.

There is also a program called TransType from Pyrus that does batch conversions. Users have reported to us that they have had problems on Windos using FontLab's TransType conversion tool when batch converting multiple fonts. Multiple varieties of the same fonts end up being unviewable under Windows and might even cause crashes. I've done some testing with converting to TrueType for sgi and Linux and haven't had the same problems.

For more robust font editing features which are very similar to the discontinued Fontographer, Pyrus makes FontLab (visit their site). I haven't used the program before, but by appearances the demo program has many of the font-cleanup options which were present in Fontographer.

small
Options for Converting Fonts

Using TypeTool to Convert into a TrueType Font

Translating fonts is straightforward using Type Tool:
  1. Open the font you want to translate. If you open a suitecase which contains multiple versions, you can choose whether to import a single weight or all fonts in the suitcase.
  2. From the File menu, select "Generate Font..."
  3. Select PC TrueType as the Font Format
  4. Confirm the name of the font. This is very important when you have opened multiple weights of a single font. Instead of correctly interpreting the font style, TypeTool (stupidly) gives it the same name as the enclosing suitcase. If you don't notice this, you can easily export a Regular, Bold and Italic version of a font but write over the same destination font over and over. When naming your font, follow unix naming conventions (i.e. no spaces, /, etc)
Now that you've converted the font, follow the "Transferring and Installing TrueType" fonts instructions (above). You can also create PC Type 1 (.pfb) and AFM (.afm) files using the Type Tool application. Currently (TypeTool version 2.0), the Unix Type 1 (.pfa) is broken. fxguide has reported this bug to FontLab. We've also noticed that when certain Apple-supplied TrueType fonts are converted, they appear shifted up when typing in the discreet Text module. We tried adjusting font settings in TypeTool, but could not get the type to not shift. Thankfully, they are all shifted vertically the same amount so that while it is annoying, it is at least usable.

IV. Alternate Methods and Topics for Dealing With Fonts

As with most things, there are a number of different ways to accomplish the same thing. In addition to using TrueType fonts, you can also transfer PostScript fonts from your Mac or PC to the unix system. However, the fonts need to be converted into unix-style "pfa" fonts before they can be used in flame/fire. In the following sections, we'll go over some of the common pitfalls when trying to get PostScripts fonts to your sgi or linux systems:
  • Conversion Tools to Create Unix PostScript Fonts
  • When I transfer the font from the mac to flame/fire, the size is zero K and nothing happens. What's the dealio?
  • Converting PostScript Fonts under IRIX
  • Converting PostScript Fonts under Linux
  • Where do I put PostScript fonts on sgi systems?
  • Where do I put PostScript fonts on linux systems?
  • I'm stuck in the 90's running OS9. What do I do?

Conversion Tools to Create Unix PostScript Fonts

There are many tools available which will convert TrueType and PostScript (Mac or PC) fonts into Unix PostScript fonts (.pfa). As mentioned in the TrueType section above, TypeTool is an excellent choice. If you don't want any of the extra features such as the ability to import .eps artwork and create fonts, CrossFont (link) for Windows is an inexpensive alternative.

There are also "free" command line tools on Irix and Linux which will allow you to do the conversion without purchasing a Mac or PC program. We detail those two utilities -- convertmacfont and t1tuils -- below.

Transferring Macintosh Fonts to the Unix Systems

As metioned earlier in the font overview, Macintosh PostScript font files are made up of two parts - the data fork and the resource fork. When you use FTP or NFS to transfer a file over under OSX, only the data fork is transferred. When using OS9 FTP programs, you could choose the "Transfer MacBinary" option in order to send both the data fork and resource fork. But this option doesn't exist under OSX. What do you do?

small
The BinJuggler Contextual Menu
I've found the best way to do this is by installing the BinJuggler Contextual Menu. Contextual menus are the menus you get when you CTRL-click (or right mouse-click) on a file in the Finder and a menu pops up. This menu includes things like Open, Label, Move to Trash, etc. You can add additional contextual menus which add more features to this menu. One such item is BinJuggler (visit site) (download), which allows you to convert a file into a .bin file, which can then be transferred to your linux or irix machine.

Installation of the contextual menu is really easy -- there is an installation AppleScript which puts the contextual menu plug-in right where it belongs (~home/Library/Contextual Menu Items). Log out and log back in to complete the install. Find your "lwfn" outline font in the Finder, CTRL-click on the font, and select "Encode MacBinary". The menu item will create a copy of the font with a .bin suffix in the same folder where the original is located. If the .bin file doesn't appear right away (sometimes it takes a moment for the Finder to refresh, toggle the view from icon to list and back to make the new file become visible.

You can now transfer the font over to the sgi/linux system and convert it into a unix PostScript font.

Converting Macintosh PostScript fonts on IRIX Systems - convertmacfont

This is the "traditional" way of converting fonts on your sgi system. However, this is part of the "Showcase" package, which is no longer installed under IRIX 6.5.23 or later. If you have upgraded your system, this utility should still be present. If you have received a new system from discreet with 6.5.23 already installed, you won't have this utility. You'll need to follow the instructions in the next section.

Once you have your Mac PostScript font on the sgi system, you need to convert it from a binary form into a text form that is usable on a unix system. This is easily done using the "convertmacfont" utility. This utility is automatically installed with the discreet-recommended install of Irix. Suppose you've transferred your font using the above method -- your font is called myfont.bin. All you have to do is type:

convertmacfont myfont.bin myfont.pfa

Converting PC PostScript fonts on IRIX Systems - pfb2pfa

Once you have your PC PostScript font (.pfb) on the sgi system, you need to convert it into a text form that is usable on a unix system. This is easily done using the "pfb2pfa" utility which is found in the /usr/sbin directory. This utility is automatically installed with the discreet-recommended install of Irix. Suppose you've transferred your font using the above method -- your font is called myfont.pfb. All you have to do is type:

pfb2pfa myfont.pfb myfont.pfa

Converting Macintosh PostScript and PFBfonts on IRIX and Linux Systems - t1utils

Convertmacfont doesn't exist on Linux and IRIX versions 6.5.23 and later. However, the t1utils are an excellent series of utilities written in unix for converting Type 1 PostScript fonts. They can easily be installed on your sgi sytem (instructions, below) and somewhat easily (instructions, below) and your Linux system. The collection includes:
  • t1ascii: converts PFB files to PFA format.
  • t1binary: converts PFA files to PFB format.
  • t1disasm: disassembles a type-1 font (PFA or PFB format) into a raw, human-readable text form for subsequent hand editing, tweaking, hint fixing, etc...
  • t1asm: assembles type-1 font into PFA or PFB format from human-readable form produced by t1disasm.
  • t1unmac: extracts POST resources from a Macintosh type-1 file (ATM/Laserwriter) into PFA or PFB format for use outside the Macintosh environment. The Macintosh file should be stored in MacBinary, AppleSingle, AppleDouble, or BinHex format, or as a raw resource fork. Note that t1unmac does not have to run on a Macintosh, but makes Macintosh type-1 fonts available to Unix machines and PCs.
  • t1mac: creates a Macintosh Type 1 file from a PFA or PFB-format Type 1 font. Writes the Macintosh file in MacBinary, AppleSingle, AppleDouble, or BinHex format, or as a raw resource fork.
The main utils we're concerned with are converting to/from Macintosh Type 1 files and PFB files. To convert the mac font into a .pfa file for use on linux (where "myfont.bin" is the name of your font):
 t1unmac -a myfont.bin > myfont.pfa 
To convert a PC font into a .pfa file for use on linux (where "myfont.pfb" is the name of your font):
 t1ascii myfont.pfb > myfont.pfa 

Installing t1utils on IRIX Systems

Downloading and installing the t1utils is very easy on IRIX. In a web browser on your IRIX system, simply go to http://freeware.sgi.com. View the alphabetical listing of software and scroll down to the t1utils item. If you click on the install icon (the one with CD), the software will be dowloaded to your machine and installed -- provided you have root privileges to install the software. You can also download the software on another computuer and install it later.

Installing t1utils on Linux Systems

So it's wonderful there is a free utility out there, but the problem is that there aren't any standard linux .rpm install files built for the version of RedHat discreet uses. This means it is necessary to build and compile the executables from the actual source files. While this sounds frightening -- and it can be -- the reality is that the version of RedHat that discreet uses makes it really easy to compile and install the t1utils. The following steps are incredibly basic from a tutorial standpoint....but what you're doing is not basic at all. I've tested this on several systems and it has worked fine. However, if there is a hitch in the installation process (which might happen during the configure and make steps), debugging your problems is beyond the scope of this tip. If you really want to figure out how to make the install work, search online using Google for help. The good news is that if there *is* a hitch during the install process it doesn't mean that you're going to cause any problems on your system -- the configure and make commands only create files within the folder you're working. And it won't be trashing any system files (well...unless you've downloaded a file that is a virus disguised as the t1utils source code)

Step 1 - Login as root

Before I continue, I'll make the standard sysadmin disclaimer: Installing software and making changes on the sgi system requires root privileges, which means you can seriously mess things up if you do something wrong. By making modifications to the system you have the potential of accidentally deleting or moving and changing important files which the system may need, rendering your system useless. If you aren't confident about making changes, please don't do it.

Step 2 - Download and Extract the Source Code

Download the source files and documentation from the developer's website. You can do this directly in a linux shell by typing
curl -O http://www.lcdf.org/~eddietwo/type/t1utils-1.32.tar.gz
There are two things to note. First, the "-O" is not zero but a capital letter o. Secondly, the version number (1.32) or the actual download link might change -- so check this before you do the actual download.

Uncompress the file using the "gunzip" command. Then extract the file using the "tar"command.

Step 3 - Compile and Install

There are basically three steps to using the compiler to install software: configure, make, and install. First, cd into the distribution directory you just uncompressed.

Next, run the configure command by typing "./configure". There will be a significant amount of stuff running by the screen....this is actually a script which looks at the setup of the unix system and sets various configuration variables which are used during the next two steps.

Once the configuration script has completed, run the "make" command. This actually makes the software which will be installled.

Finally, run the "make install" command. This installs the software by placing it in the appropriate locations. On the linux system, this means the commands are placed in the /usr/bin directories.

The following shell window shows the various steps in the install process. The output after the configure, make, and make install commands has been removed for clarity's sake:

small

Now you can run the various commands for converting fonts. If you're transferring from the Macintosh, make sure you convert the PostScript Type 1 font into a .bin file (see "Transferring Mac Fonts to the Unix Systems").

Where to Install Fonts - Irix/sgi

The TrueType .ttf files go into: /usr/discreet/font/
The PostScript .pfa files go into: /usr/lib/DPS/outline/base/
The .afm files go into: /usr/lib/AFM/

Where to Install Fonts - Linux

The TrueType .ttf files go into: /usr/discreet/font/
The PostScript .pfa files go into: /usr/lib/X11/fonts/Type1/
The .afm files go into: /usr/lib/X11/fonts/Type1/

How to Make flame/fire See the Fonts You've Installed

small
So you've transferred your PostScript fonts to your flame/fire, converted them using one of the conversion tools, and moved them into the correct directories. But how do you get flame/fire to recognize them? flame/fire recognizes PostScript fonts which are installed via the building of symbolic links between the system location and the /usr/discreet/fonts directory. Luckily, you don't need to know the unix command to do this.

Recent versions of the software have an "Install Fonts" button located in the Text Module Load Font menu. There is no longer a need to restart the software in order to have the fonts be visible to the software.

If you're running an older version of the software and don't have the "Install Fonts" visible in your menu, you'll need to exit the software and restart it with the "-F" flag. Instead of simply typing flame in a shell to start the software, you need to type:

flame -F

The same holds true for fire, smoke, inferno, and flint. Unfortunately, you'll need to restart the application each time you want a new font to be visible.

V. Help! I'm stuck in OS9. What do I do?

Well, my first response would be to tell you to upgrade to OSX. But you're in rush, so here's what you do....

OS9 Font Overview

small
Fonts in the OS9 Finder
First, you will need either the PostScript font (preferred), or the TrueType version of the font. The PostScript Type 1 font is the icon on the right. These fonts may also have printer-like icons. If you Get Info on the font (Command-I), it will tell you if the font is a Post Script Font. To access the TrueType font, double click on the font suitcase (the icon to the left). Notice the first and third icons. These are the TrueType fonts (they have multiple sizes on the icon, noting that they are outline scalable). The other two fonts are bitmapped fonts - needed on the Macintosh, but useless for the unix machines.

To find out if there is a TrueType version available for use, hold down the option key and drag the font out of the suitcase. Holding down the option key makes a copy of the original, leaving the TrueType font in the suitcase for later use. You can now transfer the TrueType font to your unix system and follow the install instructions above.

Using Fontographer to Cleanup and Convert the Font

If you don't have a copy of Fontographer, skip to the next section. If you do, you'll do the following :

Open Fontographer and then open the PostScript (or TrueType) font .

The first thing I like to do is make sure that the font winding direction is correct and clean up the paths. I've run into fonts that have been unreadable in flame/fire or inferno without doing this steps. With well-made fonts, you should not have to do this, but I've gotten into the habit of doing this for all fonts.

small
The Correct Generate Options for Fontographer
1. First, select all charcters (Command-A).

2. To clean up paths, select Element:Clean Up Paths. Leave the slider in the middle (Value of 3).

3. Finally, make sure the font winding is correct. Select Element:Correct Path Direction,

4. Time to make the font. Select File:Generate Font Files. Make sure to save as "Sun", "Type 1 PostScript", and generate an AFM file. Generally, the options should be set as shown in this screen capture:

5. Remove the .ps from the name of the generated font (if it has been added).

6. Using Fetch (or any FTP client) send the new fontname file to the correct location (detailed here). Make sure when you transfer the file, you transfer it as raw data (a Fetch/FTP setting). You may have to change the permissions of the destination directory before you are able to transfer it. If this doesn't work, transfer it to a different directory on your unix workstation and then move it into the correct directory on the workstation.

7 Start flame/fire or inferno with the -F option ("inferno -F")

Converting without Fontographer

Using Fetch (or any FTP client) send the font file to the unix system. Make sure when you transfer the file, you transfer it as "MacBinary" (a Fetch/FTP setting)....this will transfer it with the data fork and resource fork intact. You may have to change the permissions of the "base" directory before doing this step.

Then, do the following steps outlined above:

1. Convert the font into a unix font 2. Copy the file into the appropriate directory 3. Install the fonts so that they are visible in flame/fire or fire (detailed here)


Fonts to Flame/Fire - A Complete Tutorial
Posted by Anonymous on 2005-01-24 08:22:51
My Score:
This is a great and detailed tip about fonts. It helped me put together the last pieces of a puzzling Mac font transfer to Discreet, and gave me a great insight on fonts in general.
Thanks again for this great contribution.
James Vanderhaeghen
Visual Effects Compositor
www.nozon.com

Fonts to Flame/Fire - A Complete Tutorial
Posted by TurboWidget on 2005-07-11 09:41:28
My Score:
So simple when you know how :-)
I had a document from discreet dated Oct 2000 detailing this which was way more complex and not applicable to new IFF versions anyway. I called discreet UK support for an updated copy and they refered me straight here. In their words "The fxguide tutorial is what we use".
You guys rock !!
cheers
TW - South Africa