! to the table of contents
< to the previous section:
> to the next section:
Many PostScript fonts port to NEXTSTEP with little effort.
The easiest case is a font generated by Fontographer version 3.2 or above (a comment near the top of the file should say which program generated the font). This version of Fontographer can generate fonts "for NEXTSTEP". This means that no hacking of the font is needed, but you may need to make some adjustments to make it appear in your font panel.
Suppose you were porting the font family Shalom, which consists of three faces: Old Style, Stick and Script. Here is the procedure to follow:
Note that the font family name is to the left of the hyphen ("-"), and the typeface name is to the right and with no spaces in it.
If you are working in Workspace Manager's File Viewer, double-click on the big fat F icon to open the font directory as a folder, then you'll be able to rename files in it.
The original used "ShalomOldStyle" as the font's name, full name, and family name. We want the name to be "Shalom-OldStyle", the full name "Shalom Old Style", and family name just "Shalom".
First, find the lines:
Then, replace all remaining occurrences of the string "ShalomOldStyle" with "Shalom-OldStyle".
Find the lines:
Repeat this procedure for the remaining typefaces.
If everybody on your system should have access to this font family, place it (as superuser) in /LocalLibary/Fonts:
That's all you need to do for fonts generated by Fontographer version 3.2 or above. This will work with all applications that use AppKit's FontPanel. FrameMaker does not, so other changes may need to be done to keep FrameMaker happy [does anybody have something to add here?].
Fonts generated by Fontographer version 3.1 or below don't work in Display PostScript as they are, because they use a memory management trick that screws everything up in a multitasking environment like DPS. However, there is a simple, though kludgy, way to make them work.
The problematic trick uses a dictionary with a name like "Fog3.1" ("Casa1" in Casady & Green's fonts) in which most of the font resides. The problem is that Fontographer puts that whole dictionary into dictionary 'userdict' and expects it to stay there. DPS, however, clears out 'userdict' between tasks, including the task that loads the font and the task that uses it. This makes the font useless on the screen, and printable only by prepending the outline font file to the file you want to print and sending the result to print in one task.
The fix is to move the troublesome dictionary from 'userdict' into the font dictionary itself (unlike 'userdict', the font dictionary does stick around between tasks).
Perform the following changes in the outline font file (the font CyrillicGothic is used as the example):
Write down the number before 'dict' (in this case, 23). You will need it in the following step. Delete the dict definition, making the line look like this:
and replace them with these:
The number before 'dict' (in this case, 24) is one greater than the number you wrote down in the previous step.
The AFM file requires one adjustment. Change the line
This concludes conversion of a font generated by Fontographer version 3.1 or lower to work with NEXTSTEP. You may still need to make the changes described for version 3.2 and above, to make the font fit the NEXTSTEP font panel.
Short note: under NEXTSTEP 3.3 there is no need to call buildafmdir by hand. It's triggered automatically by the Font panel.