/* changeSomeGlyphsOfUniversalGreek.jsx //DESCRIPTION:Ersetzt einige Glyphen aus der PS Schrift "Greek with Math Pi" druch Glyphen aus dem OTF "Universal Std Greek with Math Pi DATE: 10.12.2018 */ app.doScript(main, ScriptLanguage.JAVASCRIPT, undefined, UndoModes.ENTIRE_SCRIPT, "changeSomeGlyphsOfUniversalGreek.jsx"); function main() { if (app.documents.length == 0) error_exit('Achtung!\nBitte öffnen Sie eine InDesign-Datei.'); var doc = app.documents.firstItem(), i = 0, _error = [], font_name = { 'find' : 'Universal\tGreek with Math Pi', 'change': 'Universal Std\tGreek with Math Pi' }; // Prüfung: erforderliche Schriften vorhanden? if (!app.fonts.itemByName(font_name.find).isValid) _error.push('Die erforderliche Schrift "' + font_name.find.replace(/\t/g,' ') + '" ist nicht verfügbar.'); if (!app.fonts.itemByName(font_name.change).isValid) _error.push('Die erforderliche Schrift "' + font_name.change.replace(/\t/g,' ') + '" ist nicht verfügbar.'); if (_error.length == 0) { // sicherheitshalber alle Sucheinträge zurückstellen app.findGrepPreferences = app.changeGrepPreferences = NothingEnum.nothing; app.findTextPreferences = app.changeTextPreferences = NothingEnum.nothing; app.findGlyphPreferences = app.changeGlyphPreferences = NothingEnum.nothing; app.findGlyphPreferences.appliedFont = app.fonts.itemByName(font_name.find); app.changeGlyphPreferences.appliedFont = app.fonts.itemByName(font_name.change); // changeGlyphID_pairs( [GlyphID PS,GlyphID OTF] ); // in eckigen Klammern zunächst die GlyphID des gesuchten Fonts, nach einem Komma die GlyphID des Ersatzfonts changeGlyphID_pairs( [89,96] ); changeGlyphID_pairs( [75,98] ); changeGlyphID_pairs( [25,106] ); changeGlyphID_pairs( [109,107] ); changeGlyphID_pairs( [96,108] ); changeGlyphID_pairs( [105,113] ); changeGlyphID_pairs( [103,115] ); changeGlyphID_pairs( [104,116] ); changeGlyphID_pairs( [108,117] ); changeGlyphID_pairs( [106,118] ); changeGlyphID_pairs( [107,119] ); changeGlyphID_pairs( [101,120] ); app.findGlyphPreferences = app.changeGlyphPreferences = NothingEnum.nothing; } if (_error.length > 0) alert('Achtung!\n' +_error.join('\n')) //================================================================ // Funktionen //================================================================ // --------------------------------------------------------------- // Glyphen ersetzen // --------------------------------------------------------------- function changeGlyphID_pairs(arr) { try { app.findGlyphPreferences.glyphID = arr[0]; app.changeGlyphPreferences.glyphID = arr[1]; doc.changeGlyph(); } catch(e) { _error.push(e); } } // --------------------------------------------------------------- // Ausstieg mit Fehlermeldung // --------------------------------------------------------------- function error_exit(message) { if (arguments.length > 0) alert(message); exit(); } }
| 28.11.2023