A curious cause of Unavailable Fonts in FrameMaker
I recently found a reference to the Univers 45 Light Light font in a FrameMaker document…since that’s not actually a font, see the end of this post for what I did to remedy the problem.
Missing fonts can cause havoc in your documents. They can:
- Slow down opening of multiple files (depending on your tolerance for suppressing alert boxes)
- Prevent updating of books
- Cause issues with PDF and HTML5 output
Fixing missing font issues should be easy… you either
- install the required font on your system
- change the font applied to your content to something installed on your system
But the issue can be in identifying where the font is called out by your content. Most font calls in FrameMaker are (or should be) in the Paragraph Catalog and Character Catalog. Other places to look for fonts include:
- Ad hoc, or untagged font properties (I call these instances “formatting overrides”)
- Master page text frames
- Placed graphics
- Graphics imported by reference
- Graphics copied into document
- (discovered recently) “Impossible” formatting specified via MS Word
It’s the final bullet above that prompted this post, as it was quite difficult to track down within the document.
Basic strategies for identifying and removing offending fonts
Here are options (presented in my recommended order of operations) for finding and replacing specific font calls.
Using Fonts and Replace Font panels
These two tools in FrameMaker allow you to see most of the fonts assigned to content in your document. They allow you to rapidly swap out fonts used, and are a great first line of defense.
Find/Change panel
One thing to watch: Find/Change only works on the type of page you are viewing. If a font is used on a Master or a Reference page, you’ll need to view that page type prior to using Find/Change: Character Format for that type of page.
Saving as MIF
Choosing File > Save as > MIF provides a verbose copy of your FrameMaker content that can be read with any text editor. I choose to view MIF with Notepad++, but any text editor will do.
Use Find/Change to search for the offending font, but be aware that you may have hundreds of similar font calls in the MIF. Try to use a unique string to help narrow down your search.
Finding a font that didn’t exist
Searching for Univers 45 Light Light didn’t turn up any results in the MIF file, and searching for Univers and Univers 45 returned hundreds of results.
Additionally, graphics embedded in the document meant that there were about 1.25 million lines of code in the MIF file, so reading the text itself was prohibitive.
In the end, searching the MIF file for (space) Light identified an empty paragraph that
- was formatted with a Normal paragraph style (the default Word style)
- was using the specific Univers 45 Light font
- had a Weight applied of Light (no Light version actually exists for Univers 45 Light)
Since Univers 45 Light Light doesn’t exist, it wasn’t written out in that way to MIF, even though the FrameMaker console indicated that the document needed that font.
Removing the empty paragraph was an easy way to eliminate the call for Univers 45 Light Light, but the content made consistent use of empty paragraphs to control spacing, so in the end we applied a Body paragraph tag to solve the problem.
The moral(s) of this story
- Use consistent formatting by subscribing to a template-based workflow
- Identify and correct any “missing resource” dialogs you encounter as early as you can in your editing process
- Use the tools available in FrameMaker to manage fonts before digging into code
- Search the MIF code for clues as to the location of your font issue
- The “offending font” isn’t necessarily going to be found if it’s non-standard formatting in another application
Join over 4,300 of your peers and get my latest content sent to you for free, along with some of my all-time favorites.
THANK YOU! THANK YOU! THANK YOU!
I have spent days trying to track down this problem and you have, once again, come to my rescue!
I had three files in a book which kept telling me that Arial Light was not available but I couldn’t find such a font in any of them, on any of the page types.
I saved my troublesome files to mif, then searched them with VSCode to find and replaced all instances with . When I opened the mif files, saved them to fm and reopened them – voila! No more missing fonts!
My search and replace terms seem to have dropped out of that comment. They were
Find: “less-than-bracket FWeight ‘Light’ greater-than-bracket”
Replace: “less-than-bracket FWeight ‘Regular’ greater-than-bracket”