Monday, March 06, 2006

 

What and Where's that Glyph?

You receive a file from a client and some of the characters have the "dreaded pinkness" indicating that a glyph has been used that isn't present in the font you're using. Other characters in the same font do not show the dreaded pinkness, so this is not a case of a missing font but rather a missing glyph issue.

So, how do you find out which glyph it is supposed to be? I used this process:

1. I selected the glyph in my InDesign document.
2. I opened the Info palette.

And that told me that the missing glyph was unicode value 25CF.

To find out what it is supposed to look like, I visited: http://www.unicode.org/charts/ and typed the unicode value into the search.

To find out if any of my fonts had this glyph present, I wrote this quick and dirty script. It relies on the fact that if a glyph is not populated in a particular font and you try to convert it to outlines, you get an error:
//DESCRIPTION: Seek out Fonts with code point populated

codePoint = "\u25CF";
myFonts = app.fonts;
codePresentList = [];
for (j = 0; myFonts.length > j; j++) {
  myDoc = app.documents.add();
  myFrame = myDoc.pages[0].textFrames.add();
  myFrame.geometricBounds = myDoc.pages[0].bounds;
  myFrame.insertionPoints[0].contents = codePoint;
  try {
    myFrame.parentStory.characters[0].createOutlines();
    codePresentList.push(myFonts[j].name);
  } catch (e) {
  // Glyph not present, ignore
  }
  myDoc.close(SaveOptions.no);
}
alert ("Code present in:\r" + codePresentList.join("\r"));
Were the glyph to be present in any significant number of fonts, using an alert to inform the user is not a good idea, but in my case none of the 1140 fonts had the glyph so the alert was tolerable.

I'll come back to this script one day and improve it.

Comments:
It has been pointed out to me by Steve Werner that this information is readily available on the OS X Character palette. I believe that Windows has a similar palette although I'm not sure if it provides this particular informaton.
 
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?