Category Archives: OS X Issues

Safari vs. your font manager

With the release of Lion, some users are encountering a seemingly bizarre font problem where the text is replaced with a series of “boxy” letters like the example below:

picture-46

In the past when we have seen this issue, it was usually attributable to corrupt font caches, but that can be easily remedied in most situations by clearing font caches with an app like Smasher.

This new issue with Safari appears because Webkit (the engine under Safari and Chrome) now has “sandbox” restrictions that allow read-only permissions to certain folders. This in and of itself is not harmful, but most often the locations where most font mangers store their fonts are not included in the list.

The “boxy” letters are actually characters from the font Last Resort. Last Resort is a Mac OS X font that is invisible Mac users, but is used by the system to display glyphs that are not available in any other font activated on the system, thus the name Last Resort. The symbols provided by Last Resort place glyphs into categories based on their location in the Unicode system and provide a clue to the user about which encoding is required to view the unavailable characters. The glyphs provided by Last Resort are square with rounded corners with a bold outline.

It appears that when a user activates a font in their font manager, Safari is aware of the activation of the font, and attempts to use it, but because the application does not have read permissions to the font, it displays Last Resort. Safari does not have access to the font file for proper display.

What this means is that if you are using a font manager to handle activation and deactivation of your fonts, any font activated by the manager can exhibit this annoying behavior in Safari if the page viewed includes any of those fonts.

What to do?

To resolve this issue, FontGeek suggests switching to another browser, such as Firefox, that does not hobble your workflow.

It is ridiculous that an application like Safari cannot allow display of fonts activated by the user though a third-party application. There are few in the design profession that don’t use a font manager, and most regard the tool as absolutely necessary for their work. This is probably the biggest slap in the face to the graphic designer community since the insistence of the inclusion of Helvetica as a required system font.

A workaround…

If you wish to continue using Safari you can edit the preferences of the application using the instructions below.

Note: Proceed with caution. Editing the default preferences of an application is not recommended. If you are not familiar with editing preference files this may cause unintended consequences. Also, the example listed below is for FontAgent Pro. If you use a different font manager, insert the path to where your font manager stores its fonts.

Edit the file listed below. You will need administrative privileges to perform the operation.

/System/Library /PrivateFrameworks/WebKit2.framework/WebProcess.app/Contents/Resources/com.apple.WebProcess.sb

After the line that contains the text below:

(home-subpath “/Library/Fonts”)

insert the text below:

(home-subpath “/FontAgent Pro Fonts”)
(home-subpath “/Library/FontAgent Pro”)
(subpath “/Library/FontAgent Pro”)

Quit and restart Safari, and text in the browser should now appear as intended.

A special thanks goes out to fellow FontGeek Erik Tollefsrud for nailing down this issue.

Using TTX to rename fonts

One of the most problematic issues associated with font management is how to manage font conflicts. Font conflicts come about when you activate a font with the same name as a font that is currently activated. If you have seen an alert like the one below you know what I am talking about.

picture-167

Your operating system and your applications recognize fonts by name and name alone. So even if you have two very different versions of a font, but they have the same name, the operating system cannot discern between them.

This font name has nothing to so with the font in question’s file name. If the issue were that easy we could rename fonts in the Finder and the problem would be solved. It just isn’t that easy.

There are tools available that allow you to rename a font, such as FontLab Studio or Fontographer, but those tools can be cost prohibitive and oftentimes might not be worth the investment to make changes on just a handful of fonts.

There is an option in the open source world that can help. FontTools/TTX is a tool that converts OpenType and TrueType fonts to XML and back again. You can download FontTools/TTX here.

FontTools/TTX is a command line tool that once set up can be very easy to use. In our example we are going to use an OpenType version of Helvetica Neue Roman.

picture-172

Ordinarily, activating this font in a third-party font manager would result in an alert that the font conflicts with the Helvetica Neue font that resides in the /System/Library/Fonts/ folder. What we are going to do is change the internal name of the font so it will no longer conflict with the system version of the font and can appear in our font menus, along with the system version of Helvetica Neue.

Since TTX is a command line tool, we will need to launch Terminal, which is found in the Utilities folder in your Applications folder.

Once you launch Terminal, type “ttx” (no quotes) and  space, then drag the font from the Finder into the Terminal window. Terminal will automatically add the path to the font file. The results in in the Terminal will look like the screenshot below:

picture-174

Once the path is added, hit return. TTX dumps the font tables into XML and saves the file in the same folder containing the original font.

picture-175

This new .ttx file can be viewed in any text editor. In our example we are going to use TextEdit.

Once the file is open in TextEdit we need to find the name of the font. The quickest way to find this is to search the document for “fullname” (no quotes). If your search is successful you will find a line like the one below:

picture-176

This is the name of the font as it appears in the font menus.

The next step is to carefully select the font name inside the quotes. Then, we want to replace all the instances of where the previous name is referred to with our own. I opted to annotate the name with two letters “FG,” so the new font will be named “HelveticaNeueFG” and appear in our application’s font menus as such.

In order to do this we use TextEdit’s Find and Replace feature to change every instance of the name as shown in the screenshot below:

picture-177

Once you have entered our search and replace criteria, select “Replace All.”

Note: If your font has a name that would commonly be used in a font file such as “Glyph” or “Asterisk” you may get some unwanted text replacement and possibly produce an unusable .ttx file. In these cases you should manually scroll through the font file and replace the instances where the name listed.

Then save the file. Make sure it is saved as plain text with the extension .ttx. I also opted to change the font file name in order to differentiate the font from the original in the Finder.

picture-178

Because TTX is smart enough to know the difference between a font file and an XML file, we can run the same command we used earlier to convert the XML file to a font. To do this, Open Terminal, type in “ttx” (no quotes) at the prompt with a space, then drag the newly created .ttx file into the Terminal window.

picture-179

TTX converts the XML to a new OpenType font file in the same folder as a .ttx file.

picture-184

The newly created font can be added to one of your system font folders or to a third-party font manager and be activated without conflict.

The font will now also appear in your font menus under it’s new name, as it appears in Adobe InDesign in the screenshot below.

picture-185

While this is not an ideal solution, and there are certain problems that will be created  if you rename fonts in this manner (such as possibly violating the terms of your font license agreement), this is one way to address issues such as one reported in an earlier FontGeek post concerning Snow Leopard, InDesign and Helvetica Neue.

Note: I mentioned earlier in this post that TTX is easy to use once it is installed. I did not have any luck using the binary installer available on the download page and only got the app installed after downloading the source files, running the python install script, then running TTX and moving the files to the locations required on the drive as I ran into error messages. While this was somewhat difficult, I did get it to finally run.

Another Note: Since this article was posted, we have added a new post that guides you through the steps of installing TTX that hopefully will take some of the pain away. That post can be found here.

Snow Leopard, Adobe InDesign and Helvetica Neue

The release of Snow Leopard brought a number of unexpected font issues, and one that I have been hearing about concerns Adobe InDesign, Helvetica Neue, and the system fonts that ship with Snow Leopard.

Everybody is familiar with issues of fonts activated in third-party font managers conflicting with OS X System fonts. The issue does not really become a problem until you decide to use a font that is a common design font, such as Helvetica or Helvetica Neue.

How InDesign handles the issue

Adobe InDesign offered a unique solution to this issue. Because the system fonts were dfonts, InDesign was set up in such a way that if you activated a PostScript font that conflicted with a System dfont, it would show the PostScript font and its activated styles in its font menu, and not reveal the styles offered by the dfont. It appeared that InDesign was smart enough to realize that PostScript fonts would be much preferred by designers over the dfont format, and adapted to fit a graphic designer’s workflow. Both Helvetica and Helvetica Neue, which shipped with Leopard, were .dfonts. This did not solve the issue for other applications, but InDesign, being a desktop publishing workhorse, took care of things on its end. All is well and good, right?

Then along came Snow Leopard. One of the surprises that arrived with the latest release of Mac OS X is that dfonts are virtually eliminated with the exception of Courier, Geneva, Helvetica, Monaco and Times. The rest of the fonts are either TrueType fonts or a format that has not been seen very often, TrueType Collection (.ttc). So in the case of Courier, Geneva, Helvetica, Monaco and Times, the experience using the dfonts will not change from Leopard to Snow Leopard. With those fonts shipped in Snow Leopard as True Type Collections, a new challenge awaits.

It is notable what font is no longer a dfont in the System fonts folder - Helvetica Neue. Snow Leopard ships with Helvetica Neue in True Type Collection format.

First, a little bit about True Type Collections

TrueType Collection is a TrueType format that allows combining many fonts into a single file. Fonts contained in a .ttc file have the advantage of sharing glyphs. This is helpful when you have several typefaces that would use the same glyph, such as the glyph for the copyright symbol (©), thus making the file size for the font much smaller. These fonts also were well-suited to the challenges of Asian language fonts which can use thousands of glyphs.

Apple included support of True Type Collections beginning with Mac OS 8.5.

While it is seen more often in the PC world than the Mac environment, this type of font is a rare bird. Some font managers do not even support the font format.

So? What’s the big deal?

The issue is now designers who have grown comfortable using Helvetica Neue PostScript with little or no problems in the past (at least in InDesign), are now upgrading to Snow Leopard and seeing very different behavior. PostScript styles that showed up just fine in InDesign on Leopard, now no longer show in the font menu under Snow Leopard.

If you had a full featured Helvetica Neue PostScript font, the listing of the System dfont in the InDesign font menu might look like this:

helveticaneuedfontinid

Note that the dfont has ten styles, but only four are listed because InDesign prefers the Helvetica Neue PostScript fonts that are activated in this case by a font manager, FontAgent Pro.

Below is what you will see in your InDesign font menu under Snow Leopard, even if you have a full-featured Helvetica Neue PostScript font activated.

helveticaneuettcinstalled

Note: The additional styles available compared to having the dfont installed are highlighted. This will differ from user to user depending on what HelveticaNeue PS styles are activated, and if they do or do not have conflicting names. It’s also interesting that the .ttc font in Snow Leopard has one additional style compared to the dfont in Leopard - Medium.

For example if in the past you were using a font such as Linotype’s Helvetica Neue Light 45, it will no longer show because the HelveticaNeue.ttc font has the same style name. And because InDesign will only opt to prefer the Postscript over the dfont version, it displays the Helvetica Neue Light from the system and not the PostScript font, as InDesign did under Leopard.

What can be done?

Turns out not much. Snow Leopard ships with a feature that was introduced in Leopard: Protected Fonts. What happens is if you remove or replace one of these Protected Fonts, Mac OS X will automatically place them back in the System Fonts folder. According to Apple these fonts are necessary to the operation of the the operating system and Apple’s applications. Removing any of these fonts can cause erratic behavior such as crashes and bizarre display issues.

One option is…

Stop using Helvetica Neue

Honestly, if you are creating a project and you determine that there is no font that would work other than Helvetica Neue, you need to try harder. Helvetica is dead, and Helvetica by any other name (even if it is Helvetica Neue) is Helvetica. Time to move on. Apple made this font a system font in Mac OS X and if almost ten years of ranting against its inclusion as a system font has not changed their mind, nothing will.

Get a new version of Helvetica Neue

OK, so Helvetica Neue is a classic and versatile font and for me to dismiss it is not particularly cool. At least it is not Comic Sans, right?

Linotype offers a new OpenType version of Helvetica Neue that does not conflict with the version shipped with Mac OS X. The Linotype version of Helvetica Neue appears in your font lists with a tell tale “LT” after the name. This can be a god-send to those who do not want to use the system font version, but it will require you to update all your docs that use other versions of Helvetica Neue (and check for all the possible reflow issues associated with such changes), and you will have to be aware that that the system font version of the font will still appear in your font lists. But this move can be expensive, and if you already have a perfectly good version of Helvetica Neue that can be an unattractive option. But the bonus is, it solves the issue for all applications, not just InDesign.

For those who want to keep using their old PostScript fonts in InDesign, there is an additional option. Replacing the .ttc version with the dfont version that shipped with Leopard. But to so that we need to perform some Voodoo.

How to Disable Protected Fonts

We mentioned earlier that Mac OS X 10.5 up had a feature called Protected Fonts. To disable Protected Fonts for HelveticaNeue.ttc first need to navigate to the folder listed below:

/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/Resources/ProtectedFonts/

and remove the HelveticaNeue.ttc font. I suggest archiving it in case you need to replace it in the future.

What you are doing is breaking the system’s ability to repair itself in the event System fonts become damaged or are deleted in error. This operation is not recommended by Apple.

Then drag the HelveticaNeue.dfont to the /System/Library/Fonts folder. You may receive an alert that the font conflicts with a font already installed. Allow the conflict.

Then remove HelveticaNeue.ttc font. You may receive an alert from the system that the font is necessary to the operation of the OS and that it will be restored. However, we have disabled this capability so it should not be able to do this.

I suggest that after doing this you clear your caches. This is not always necessary, but it might prevent another reboot if you have cache issues on restart.

To clear Snow Leopard system font caches, open Terminal (/Applications/Utilities/Terminal). Then copy and paste the line below into Terminal, then hit return.

sudo atsutil databases -removeUser

You will be prompted to enter your password. Type your password and hit return.

After the command has run, reboot.

These instructions are similar to what was done on System 10.5 to replace the Helvetica.dfont (and other system fonts) with a user preferred version, so this is not altogether uncharted territory. However, when you perform this you are doing so at your own peril.

The HelveticaNeue.dfont should be an adequate replacement for those apps that need it for their interface elements.

This does not solve the HelveticaNeue system font conflict, but from what I have seen, the environment will appear as it did in Leopard. And your Helvetica Neue PostScript fonts will be listed as they were in Leopard, at least when it comes to Adobe InDesign.

Dealing with Garbled Fonts

Note: The article below was written by Benjamin Levisay, founder of FontGeek.net and Alpha FontGeek. It first appeared on FontGeek May 31, 2006. This article is probably one of the most helpful and referred to articles ever published on the site. In order to keep it easily available for FontGeek readers, we are republishing it on the updated FontGeek website.

PS. If you want to visit the old FontGeek website, which is full of incredibly helpful information, click here.

One of the most common e-mail requests for help that I get from FontGeek.net readers is about font problems in what are normally considered non-graphic programs. Yes, I am talking about your browsers and your email applications, and while hardcore graphics artist don’t usually consider this a high priority with regard to getting their jobs out the door or to the printer, who among us isn’t annoyed when we can’t read our email or look at a web page correctly? These are the kind of problems for which we don’t plan for and we find difficulty getting support from the companies that make our graphic applications.

Let me clarify the problem. In your email program (it could be Apple’s mail or even Microsoft’s Entourage) or your browser (usually Safari, Firefox or Explorer) you will sometime find that the text shows up garbled. The result is you cannot read it correctly, or that you have to increase the text size in those programs to read the site’s content.

applications2

I’ve seen a lot of online posts about this, and they all seem to have one magic bullet to solve the problem. Unfortunately, one bullet may not do it. There are actually two distinct problems that can be perceived as the same thing, and several factors that can contribute to either of these two problems. Jumbled text could be a font cache problem, or it can be an incorrect font substitution problem. Troubleshooters usually know about one and not the other. With that in mind I’d like to explain the different problems and show you the troubleshooting steps you need to follow in order to alleviate these problems on your Mac.

Identify the Problem

The first thing you need to do is to identify which problem you are having. You are either having a font cache issue or an incorrect substitution problem.

These three images (below) show garbled text that I captured as screenshots from different websites using Safari.

garbledtext1

If you look closely at them you’ll see that there are some differences. The first, Sample 1, shows the unfamiliar characters overlapping each other. This is an example of font cache corruption.

The Second Example, Sample 2, shows the unfamiliar characters more evenly spaced. This example, although not readable, looks more orderly and evenly spaced. This is an example of a incorrect font substitution problem–in this case Times Phonetic is being incorrectly substituted for Times.

The third example, Sample 3, shows numbers and fractions. This is also an example of incorrect font substitution–in this case Helvetica Fractions is being incorrectly used instead of Helvetica.

If the problem you are seeing looks like the first image go to the section below, which deals with Font Cache Problems. If the problem looks like the second or third image go to the section named Font Substitution Problems.

Dealing with Font Cache Problems

Font caches have become a real headache for Mac OSX users. They not only crop up in your browser and email applications but also in your graphic documents. When fonts are activated (either by a font manager or by placing them into one of OS X’s Fonts folders) they are cached for use. Some of these font caches are handled by the OS and some of these font caches are handled by the applications themselves. In either case is is very easy for these cache files to become corrupt.

cacheproblems

If you are seeing examples similar to that just above, it is most likely caused by a corrupt cache file. What appears to be happening with this particular problem is that incorrect or corrupted encoding information is being used when mapping the character codes as input by your keyboard to the glyphs they represent in the problematically cached font.

smasherThere are various programs that you can use to delete font caches. The one that I use is Smasher from Insider Software. You can use Smasher’s font cache smashing feature to remove these cache files in an attempt to restore normal behavior, and to help rule out font cache corruption as the sole cause of the problem.

Note: Smasher has several font cache smashing features which can be activated by purchasing the program but the Mac OSX font caches can be cleared using the program in demo mode.

picture4

After using Smasher to clear you Mac OS X font caches, you will be forced to restart your computer. If after restarting your computer you’re still having problems with text displaying incorrectly in your browser or e-mail programs then you are most likely looking at an incorrect font substitution problem.

Dealing With Incorrect Fonts Substitution Problems

What is a font substitution problem? It’s very simple: When a document or a web page calls for a specific font due to unavailability or inadequate font calls to the OS another font is chosen instead, an incorrect font substitution results. For the most part this isn’t the worst problem to have with a browser or e-mail application. If a webpage calls for Arial and somehow Arial Narrow (or another normal roman font) is used, you still will be able to read the text. Right? So what’s the big deal?

Here’s a common scenario where an incorrect font substitution will cause a webpage to be completely unreadable. Let’s start with one of Apple’s web pages. If you go to Apple’s Hot News web page and look at the source code form within Safari you will see, among other things, that Times and Times Roman are specified (see screen shot below).

htmlsource2

What the web page is saying is that it wants the OS and/or active font manager to use these fonts when displaying this web page. But the font call for these fonts in not all that specific. In other words, the web page isn’t asking for Times regular or Times Roman Medium.

Note: This isn’t Apple’s fault. Web Browsers and CSS Style Sheets are’t set up to make those specific kinds of font calls the way Adobe InDesign or QuarkXPress do.

The next part of this scenario involves the presence of a very common Times font called Times Phonetic. If you had Times-PhoneticAlternate of Times-PhoneticIPA present in either your font manager or in one of your various OS Fonts folders this font could and often does get used instead of the normal Times font specified in the web page. So what you would see instead of the text in Times would look like the text shown in the screenshot below.

timesphoenetic

Another great example of this would be Helvetica. If you look at the CSS Style Sheets of MacFixit.com you will see that Helvetica is specified in certain parts of the site. This is just fine unless you have another very common Helvetica font present, once called Helvetica-Fraction. If you have Helvetica-Fraction or Helvetica-FractionBold present in wither your font manager or in one of your various OS Font folders, then this font could, and often does, get used instead of the normal Helvetica font specified. So what you would see instead of the text in Helvetica would look like the text in the screen shot below.

helvfractions

If you’re storing all of your fonts in one or more of the various Fonts folders the you’ll need to find these fonts, remove them, and restart your computer. Hunting the specific styles down and removing them may be a bit difficult but once you’ve done that you should be able to revisit these web pages and the problem should be resolved.

fapiconIf you are using a font manager finding and removing these fonts is much easier. Since I am using FontAgent Pro I will show you how to go about this using this program.

1. Launch FontAgent Pro.

2. Sort all the fonts in the All Fonts Pane by choosing Activated in the Filter by menu.

3. Scroll through your fonts until you find out is you have any Times-Phonetic or Helvetica-Fractions fonts present and active.

4. Click on the Phonetic fonts to preview them and see if the preview corresponds to the font substitution prolem you are having in your email application or browser.

times-phoenetic-issue

5. Click on the Fraction fonts to preview them and see if the preview corresponds to the font substitution problem you’re having in your email application or browser.

helveticafractissue

6. Switch the Filter by menu back to All Fonts and search for these Helvetica-Fraction fonts and Times-Phonetic fonts.

7. Deactivate those Fonts.

8. Export those fonts into a safe place for backup (in FontAgent Pro using the Export option under the Files menu).

9. Then delete these fonts from FontAgent Pro.

You should now be able to revisit your web pages and/or open your problem e-mails to see if you’ve successfully resolved the problem.

It’s also important to note that there are some other common font style variations besides fractions and phonetic that can be incorrectly substituted in your browser or e-mail application. Fraction fonts can also be called expert fonts. Also alt (or alternate) font styles can cause incorrect font substitutions. So it might not be a bad idea to do a search for phonetic, fractions, expert and/or alt in your font manager so you can avoid potential problems ahead of time.

You may find you need the occasional fraction, expert, phonetic or alt font in some of your graphic documents. When that happens reload those fonts from the export you did (earlier in Step Eight) and use them as necessary. But remember to remove them when you’re done so you don’t continue to have the same kinds of incorrect font substitutions in your browser or email application.

Note: Since this article was written, FontAgent Pro added a new feature where you can suppress auto-activation of individual fonts and libraries. Just select the font in question, perform a Get info (Command + i) and uncheck the Allow Auto-Activation check box. Now the fonts in question will no longer auto-activate so you can keep them in FontAgent Pro and only activate them when they are necessary.