Missing Font error - how to fix?

Hi all,

I have a Word doc that I converted to Pages. Every time I open the doc in Pages, I get an error that I'm missing Arial Unicode MS. Is there any way to find that font and get rid of it? There doesn't seem to be any way to edit a paragraph style. I thought that I could find the style that uses that font and change the font but I can't find that.

Thanks for any help
Marc

Posted on Apr 25, 2006 12:13 PM

Reply
42 replies

Apr 25, 2006 2:54 PM in response to mrespass

It is most likely not a paragraph style but a bullet style.

This problem has cropped up in impoting Powerpoint presentations into Keynote.

One way to get rid of this is go into the package contents (right-clicking or command clicking on the file icon) and opening the index.xml file. This fil is compressed, so it has an additional .gz on the end.

Open that file and do a search and replace for the offending font. You may want to confirm another font is present before doing the search/replace so you can make sure to replace it with a working font.

The xml file is large and can be cantankerous, so only do a search/replace for the font name, don't just delete.

I would check out the bullets first, though, just to be on the safe side. Microsoft word had a tendancy to include bullet styles which were never used in their documents, nor properly defined as a style.

Gerry

Apr 26, 2006 4:07 AM in response to mrespass

You might be able to do this with an AppleScript. For example, the following AppleScript changes all characters with a font of Helvetica to American Typewriter.

You might try using this script in your document. The trick will finding out the name of the fonts. That is, Pages regards Arial as "ArialMT".

<pre>
tell application "Pages"
tell front document
set aRef to a reference to (every character of body text whose font name is "Helvetica")
set font name of aRef to "American Typewriter"
end tell
end tell
</pre>

In your case, the script would go something like this, assuming the font is literally named "Arial Unicode MS":

<pre>
tell application "Pages"
tell front document
set aRef to a reference to (every character of body text whose font name is "Arial Unicode MS")
set font name of aRef to "ArialMT"
end tell
end tell
</pre>


Dale

Apr 27, 2006 10:17 AM in response to Dale Gillard

I too am having this problem with a font which might have been introduced by a copy and paste function ... not sure ... but it keeps looking for the Wingdings font. I tried to use this script:

tell application "Pages"
tell front document
set aRef to a reference to (every character of body text whose font name is "Wingdings")
set font name of aRef to "Courier"
end tell
end tell

But it doesn't appear to do anything. I save the document and then open it again to get the same annoying message. Interestingly, if I do a search for Wingdings in Finder, it finds another document with the Wingdings font but it does not find the one I am trying to fix.

Any ideas what is going on?

Apr 27, 2006 3:42 PM in response to Patricia W

The first limitation of the script is that the fonts need to be named exactly. Make sure you are spelling the font right: exactly as it is in the error message.

The other limitation is that Pages needs to be open. Here is how I worked the script:

1. Open script editor.
2. Paste in Dale's script
3. Click on 'compile'
4. Save the script (For the first run I saved it on the desktop.)
5. Open the Pages doc
6. Click on the script and then click on 'run'
7. Wait... it takes a little bit for the script to run and there is no indication it is running.
8. When the script editor is done close the doc and reopen it. Does the error still pop up?

Now for future use I saved the scripts in the scripts folder in a new folder called Pages. I also placed an alias on the desktop so I could access the script directly in case I wished to change the font name.

Kurt

Apr 27, 2006 4:39 PM in response to Kurt Weber

The first limitation of the script is that the fonts
need to be named exactly. Make sure you are spelling
the font right: exactly as it is in the error
message.


As far as I can see I have spelled it exactly as it is in the errror message

The other limitation is that Pages needs to be open.


Well to be more precise, Pages needs to be open and the document in question needs to be open and at the front ... since the script refers to the front document. And I did that.

Here is how I worked the script:

1. Open script editor.
2. Paste in Dale's script
3. Click on 'compile'

Done
4. Save the script (For the first run I saved it on
the desktop.)


Didn't make any difference ... I didn't save it the first times I ran it.

5. Open the Pages doc


and have it at front ...

6. Click on the script and then click on 'run'


yes

7. Wait... it takes a little bit for the script to
run and there is no indication it is running.


Right... I left it until the Run icon became active again ...

8. When the script editor is done close the doc and
reopen it. Does the error still pop up?


This is where things become interesting ... if I just close the document it does not ask me if I want to save the changes which implies that the document did not get changed.

Patricia
p.s. it just me or is anyone else having oodles of timeout problems trying to send queries / post replies to the apple discussion groups?

Apr 28, 2006 5:12 AM in response to Patricia W

The first limitation of the script is that the fonts
need to be named exactly. Make sure you are spelling
the font right: exactly as it is in the error message.


As far as I can see I have spelled it exactly as it
is in the errror message.


That's not necessarily the font name. It's just the 'display name'.

Here's a script that will list all the font names in the front document, let you choose one, and then copy it to the clipboard so you can paste it into my earlier script.

<pre>
tell application "Pages"
tell front document
-- Find all the fonts in the document.
set distinctFonts to {}
set manyFonts to font name of every word of body text
repeat with aFont in manyFonts
set foundFont to false
if distinctFonts contains aFont then set foundFont to true
if foundFont is false then set distinctFonts to distinctFonts & aFont
end repeat
-- Ask the user to choose one font.
set fontToReplace to (choose from list distinctFonts ¬
with title ¬
"Choose a font" with prompt ¬
"This is the font which will be replaced in the front Pages document." default items ¬
{item 1 of distinctFonts} ¬
multiple selections allowed false ¬
without empty selection allowed)
-- Copy name of selected font to the clipboard, activate Pages, and tell the user we're done.
if fontToReplace is not false then
set the clipboard to fontToReplace as string
display dialog "The font name has been copied to the clipboard so you can paste it into a script."
tell application "Pages" to activate
end if
end tell
end tell
</pre>

I'd be curious to learn if this helps.

Dale

Apr 28, 2006 6:16 AM in response to Dale Gillard

Even stranger ... I ran your script (thanks for writing it) and it listed 3 fonts none of them even close to Wingdings ... they were ArianRoundedMTBold, GillSans, TimesNewRomanPSMT

Anyway, I decided to test the replace function and replace GillSans with Courier to see what happened .. and your script worked ... when I ran your find script again it listed Courier rather than GillSans ... but still no mention of WingDings. And in addition when I went to close the Pages document it asked me if I wanted to save it ... so clearly it recognized that the document had been changed.

Where on earth is Pages getting WingDings from?

Patricia

Apr 28, 2006 8:53 AM in response to Patricia W

Where on earth is Pages getting WingDings from?


Could it be a list style? When I open Appleworks docs I get Appleworks list styles added to the typical Pages ones.

To get rid of the message you could delete the offending list style. Press shift + ⌘ +t to get the styles drawer. Control click on the style and selec t delete. I did this with a few Appleworks docs to convert all styles to the default Pages list style.

Kurt

Apr 28, 2006 8:57 AM in response to Patricia W

Where on earth is Pages getting WingDings from?


The script only checks the "body text". I believe that's just the page and not the text in headers, footers, floating text boxes, etc. As well, it could be that the original document simply stores WingDings because the author used it at some point, and then removed the text, leaving style/font info in the document.

You may need to check the headers, footers, floating text boxes, character styles and paragraph styles to ensure WingDings is removed.

Dale

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

Missing Font error - how to fix?

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple Account.