Font
Missing Font Replacement by Marc
Document.prototype.changeMissingFontsBy = function(/*str|Font*/fontOrFontName)
{
var asFont = function(/*var*/f)
{
if (!f) return null;
if (typeof f == 'string') f = app.fonts.item(f);
if (f.constructor != Font) return null;
return(f);
};
var missing = function(/*Font*/f)
{return ( f.status != FontStatus.INSTALLED );}
var substFont = asFont(fontOrFontName);
if ((!substFont) || missing(substFont))
{
alert( "["+ fontOrFontName + "] is not installed!" );
return;
}
var changeMissingFont = function(obj)
{ // : any object with appliedFont prop
var f = asFont(obj.appliedFont);
if ((!f) || (!missing(f))) return;
try{obj.appliedFont = substFont;}
catch(ex){}
};
var scope = this.allCharacterStyles
.concat(this.allParagraphStyles)
.concat(this.stories.everyItem().textStyleRanges.everyItem().getElements());
var s;
while ( s=scope.shift() ) changeMissingFont(s);
}
// test
app.activeDocument.changeMissingFontsBy("Times New Roman");
Or click here to download it.
See also:
Find/change missing font by Marijan Tompa
FontGlyphCount by Marc Autret — Fast Glyph Counter
Change fonts CSV script
