This Google Groups search yielded this quote from Jay Freedman:
http://snipurl.com/10pv9
---------------------------------------
In both 2000 and 2003, you can see *and change* the font substitution by
going to Tools > Options > Compatibility and clicking the Font Substitution
button. That dialog will show you any fonts used in the current document
that aren't installed. There's also a dropdown that lets you choose which
installed font will display in place of the selected missing font.
That substitution assignment is specific to the current machine, not the
document.
----------------------------------------
You might record a macro while doing the above, if this a process that you
have to do more than once. But note his last sentence.
> I am trying to programmatically convert all references in a document of one
> fontname to another, in order to replace a missing font. This code works
[quoted text clipped - 33 lines]
> Cheers
> revstead

Signature
Russ
drsmN0SPAMikleAThotmailD0Tcom.INVALID
revstead - 30 Oct 2006 05:48 GMT
Dear Russ,
Thanks for this. It didn't exactly answer my question, but it put me on the
right track. The answer turned out to be in using Application.SubstituteFont
to effectively cancel the automatic font substitution! (see the first line
of the code below)
Thanks for you help
revstead
Working code...
Application.SubstituteFont UnavailableFont:="SuperHebrew",
_SubstituteFont:="SuperHebrew"
For Each rngStory In ActiveDocument.StoryRanges
With rngStory.Find
.ClearFormatting
.Font.Name = "SuperHebrew"
Do While .Execute(FindText:="", Forward:=True) = True
With .Parent
HebrewString = .Text
HebrewString = ConvertSupHebToCCAT(HebrewString)
HebrewString = ConvertCCATToUnicode(HebrewString, "Vowels")
If HebrewString <> "" Then
If HebrewString <> Chr$(13) Then .Text = HebrewString
End If
.Font.Name = "Ezra SIL"
.Move Unit:=wdWord, Count:=1
End With
Loop
End With
Next rngStory