モリサワフォントのProとかPr5とか変更したくて検索と置換パネルから動かそうとしましたが、インストールしてないフォントはappliedFontに表示されない(昔のバージョンはできたのかも…CC2019でテストしてます)。
テキスト選択して
var sel=app.selection[0]; alert (sel.appliedFont.name)
とすると環境にないフォント名も取得できたのでcharacterから辿ってみました。
app.doScript (main, ScriptLanguage.JAVASCRIPT, [], UndoModes.ENTIRE_SCRIPT); function main (){ var Doc=app.activeDocument; var F=Doc.stories.everyItem().characters.everyItem().getElements(); while(f=F.shift()){ if(/Pr.+(?=\t)|Std(?=\t)/.test(f.appliedFont.name))//タブ追加 try{f.appliedFont=f.appliedFont.name.replace(/Pr.+(?=\t)/,"Pr6N").replace(/Std(?=\t)/,"StdN") }catch(e){} } }
↓参考
Find/change missing font with scripting | IndiSnip [InDesign® Snippets]
InDesign(Javascrip)高速化について_everyItem()編