[GastForen PrePress allgemein Typographie

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Abweichungen zwischen Mac-PS- und OTF-Font

Martin Fischer
Beiträge gesamt: 12290

11. Dez 2018, 09:14
Bewertung:

gelesen: 13339

Beitrag als Lesezeichen
Hier ein Skript, das gestern in Abstimmung mit Michael für seine Zwecke entstanden ist.

Code
/* 
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();
}
}


Vielleicht ist es in dieser oder einer abgewandelten Form auch anderen Interessenten gelegentlich eine Hilfe.

Viele Grüße
Martin



(Dieser Beitrag wurde von Martin Fischer am 11. Dez 2018, 09:29 geändert)

Anhang:
GlyphenTabelle_UniversalGreek.png (127 KB)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 11. Dez 2018, 09:26
Beitrag geändert von Martin Fischer (Moderator) am 11. Dez 2018, 09:29

Aktuell

PDF / Print
pitstopp_300

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
06.07.2020

Digicomp Academy AG, Basel, Bern, Zürich oder virtuell
Montag, 06. Juli 2020, 08.30 - 17.00 Uhr

Kurs

In diesem Kurs lernen Sie alle wichtigen Funktionen von Affinity Designer, die Ihren Workflow optimieren und Ihre Ideen zum Fliegen bringen. Nach dem Kurs können Sie Ihre Projekte mit viel Kreativität und Freude abwickeln.

Preis: CHF 500.-
Dauer: 1 Tag

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/desktop-publishing/affinity-produkte/kurs-affinity-designer-basic

Veranstaltungen
06.07.2020 - 07.07.2020

Digicomp Academy AG, Zürich oder virtuell
Montag, 06. Juli 2020, 08.30 Uhr - Dienstag, 07. Juli 2020, 17.00 Uhr

Kurs

Adobe Experience Design, kurz XD ist das neue Programm für UX/UI-Design. Mit XD lassen sich visuelles Design und klickbare Prototypen nahtlos verbinden. Lernen Sie die wichtigsten Funktionen vom Entwurf am Bildschirm bis zum online geteilten Prototypen.

Preis: CHF 1'400.-
Dauer: 2 Tage

Nein

Organisator: Digicomp Academy AG

Kontaktinformation: Isil Günalp, E-Mailisil.guenalp AT digicomp DOT ch

https://www.digicomp.ch/weiterbildung/software-anwendungs-trainings/adobe-trainings/web-publishing/adobe-xd-cc/kurs-adobe-xd-basic

Neuste Foreneinträge


Problem mit Script: Leere Bildrahmen im entfernen

Keine Berechtigung zum Senden von Apple-Events an SatimageOSAX

Ende Zeichenformat suchen

Benutzerdefinierte Eigenschaft in Formularfeld schreiben

QuarkXPress in InDesign

Mikrotypografie im Englischen (USA)

Bilderdruckpapier ohne OBA, gibt es noch?

QXP 2020 Testinstallation

Zeichenstift erkennt Objektkontur. Und Illustrator?

extendStudio stellt die Arbeit an Plugins für DW ein.
medienjobs