FrameMaker (v7.2 to 11): Unavailable fonts message

Problem

I am using FrameMaker 9 on Windows 7. When I open a particular book, I get the classic ‘unavailable fonts’ error on many of the files (followed by ‘unresolved cross-reference’ errors, but for now I’m assuming the two are related). When my colleague opens the same book, he doesn’t get any errors. Fair enough, our font setup might be a little bit different.

FM doesn’t report which fonts are causing the problem in the message, so I took two files, one with the error and one without, and generated a list of fonts using Special > List Of > References. Both files contain exactly the same fonts so I can’t isolate it to any font in particular. Indeed, the fact one has a problem with one of the fonts and the other doesn’t makes me think the error itself may be incorrect. Has anyone else experienced this or have any idea what I can do next? It seems to be one particular book causing the problem. Checking the ‘Remember Missing Font Names’ option doesn’t stop the problem from re-occurring.

Solution 1

You posting seems to reflect several small misconceptions about how FrameMaker works. Let me see if I can address them one at a time.

First, a single “unavailable fonts” message in one file can, in fact, also be the cause of subsequent “unresolved cross-references” messages in other files. When you open any file that contains cross-references, FrameMaker attempts to refresh all of those references by looking at each target location and grabbing the current text string and numbering properties (autonumbering and page numbering). If any of those cross-references point to locations that are in other files, FM has to silently open each of those files to refresh the references. But if a “target” file has an unavailable font condition, that error prevents FM from completing the “silent open” operation that is necessary to resolve the cross-reference. The result is an “unresolved cross-reference” message. But note that if the file with the unavailable font condition is already open when you open the file that refers to it, you will *not* get an “unresolved” message because FM doesn’t need to do a silent open.

Second, FrameMaker *does* report which fonts are unavailable, but does not do it in the warning message itself. Instead, you have to look in the FrameMaker console window, which most of us are in the habit of ignoring or dismissing without bothering to read it.

Third, the unavailable font does not have to be applied to any content that appears in the body of the document to cause the warning message. It is enough for the font to be specified in the definition of some format that you don’t actually use, and this font specification can be in any of your catalogs–a character format, a paragraph format, a cross-reference format, or a table format. Table formats are a particular problem because each format definition invisibly embeds the character and paragraph formatting for the table title, and for each cell in the heading row, the footing row, and the first body row of the table that was the prototype when the format was defined; you will never be able to find these using the FM GUI unless you create an instance of each table format that exists in your catalog. Unavailable fonts can also lurk on master pages and reference pages which are not examined when you do a “find font” operation (which only searches the context in the current view) or List of References operation (which only looks at body pages). They can even be hiding in certain types of graphic objects that contain font specifications (PDF, EPS, WMF, EMF).

Fourth, to get rid of an unavailable fonts condition you need to *UN-check* the “Remember Missing Font Names” preference. Remembering the names means that FM will do a *temporary* substitution of an available font for an unavailable one, but will retain the original, unavailable font specification in the version of the file that it saves. What you need is for FM to *forget* the names of the unavailable fonts and save the file with the substituted font specifications. So the procedure would be:

  1. Open the offending file, dismissing the “unavailable fonts” warning.
  2. Examine the FrameMaker console to determine whether all of the substitutions FM has made are appropriate (e.g., no sans-serif font subbed for a serif, no text font subbed for a symbol or wingding font).
  3. Close the file.
  4. Turn OFF “Remember Missing Font Names”.
  5. Open the file. Notice that the warning message has changed, and that FrameMaker now warns you that it will be permanently *replacing* the fonts rather than substituting for them.
  6. Examine the file to make sure it looks OK.
  7. Save the file. Many people neglect to do this because they haven’t made any explicit edits or format changes, but the font change will not “take” and be carried forward unless the file is saved after you let FM make the replacement.
  8. Turn “Remember Missing Font Names” back ON. (It is normally a very good idea not to reformat a file from a colleague or client to match your own less complete font library.)

This *should* take care of the problem unless the bad font name is embedded in a graphic.

Another approach that some users swear by is to save the offending file as MIF and then use a text editor to search for the names of the unavailable fonts, as reported in the FM console. After making the substitution with the font editor, the file is saved as MIF, then opened from FrameMaker and saved back to .fm file format. This approach still will not look inside graphics objects, but I have personally seen cases where the source .fm file contained a *completely* spurious font specification (for a Chinese font in my case) that was removed simply by passing it through the FM->MIF filter (i.e., the bad font was not findable in the the MIF file and was gone when the file was restored to .fm format).

Also, choosing a font set is always a bit of a matter of taste. However, it is usual to see in (company) manuals sans serif types like Arial (ususally because no one bothers to check for anything else) or the Calibri font that came with the newer MS Office suites.

I used to opt for Helvetica instead of Arial, mainly because the numbers were clearer in Helvetica. But that was clearly before Calibri times. 😉

Some serif fonts come to mind. I am working with a book now about a certain institution, and I decided to use the old Cheltenham for body and Myriad Pro for headings.

I have spent a lot of time through the years looking for and comparing fonts, and in one instance, trying to decide on the best font for the dim-sighted, I made four copies of sample text with different fonts and had people test read (from a distance to closer up). The one decided upon seemed to help the dyslexics too.

So, if you want to study fonts, you will be spending a lot of your free time. But it is fun! But your customer will not complement you on it, because he/she/they do not know what it really is that makes them like or hate the looks of the book. There are so many things to consider.

But you are right: Readability counts. So, not Arial! And not fancy fonts.

Probably this is of little help, but it is Friday night. 🙂

And, I could send you some samples in pdf if you like. Main thing is: What does your font library consist of? New fonts can be very expensive.

Solution 2

In the threads, I saw no mention of the default printer selection. Postscript printers usually have a font set loaded. If you select this printer as your default, Windows finds the fonts on the printer and allows use even though they are not on the computer. But when you create a PDF, you MUST use the Adobe PDF printer for successful results, and this virtual printer does not have the fonts, and therefore you get the missing fonts message. So, to clean up your files, do the following: -Uncheck the Remember Missing Font Names box -Set Adobe PDF as the default printer -Open and close all files in the book (you get the message for all impacted files) This permanently substitutes the fonts and will work until you again paste in content from other files and corrupt the file again.