Jump to content
Postkarten-ABC zum Sammeln oder Verschenken …

Scripting: Glyphe aus Font wählen und einfügen

Empfohlene Beiträge

Sebastian Nagel

Ich möchte (am besten in Javascript, die anderen beiden Sprachen gehen aber auch wenn jemand eine Lösung parat hat):

1. per Script einen Font auswählen

(nimm Font XY für das folgende)

2. eine bestimmte Glyphe diesem Font (per Glyphen-ID!) ansprechen/auswählen

(wähle die Glyphe mit der ID 123)

3. diese in ein Textfeld einfügen

(häng die gewählte Glyphe an den Text im markierten Textfeld an)

Schritt 1 kann auch entfallen, wenn standardmäßig der im Textfeld eingestellte Font verwendet wird.

Ich bin jetzt seit 2-3 Stunden am recherchieren, und habe nicht mal im Ansatz eine Lösung gefunden...

Da ich hier völliger Anfänger bin weiß ich nicht mal wo beginnen. Die Scripting Reference, Guides, Tutorials von Adobe habe ich hier, aber ... :?:

Danke und Gruß

Sebastian

Link zu diesem Kommentar
Sebastian Nagel

Danke für's nachsehen, leider hilft mir das nicht...

Ich suche das ganze für Indesign-Scripting (Javascript, VBscript, Applescript) im Indesign-spezifischen Objektmodell.

Link zu diesem Kommentar
Sebastian Nagel

Vielen Dank an alle, mittels "hilf-dir-selbst" und einigem Gefluche konnte ich die Sache nun mehr oder weniger lösen ;-)

Code für Indesign CS3 (Javascript)

app.findGlyphPreferences = NothingEnum.nothing;

app.changeGlyphPreferences = NothingEnum.nothing;

app.findGlyphPreferences.appliedFont = app.fonts.item("Garamond Premier Pro Italic");

app.changeGlyphPreferences.appliedFont = app.fonts.item("Garamond Premier Pro Italic");

var t = app.activeDocument.textFrames.add({geometricBounds:[0,0,210, 148] });

var glyphenzahl = 2555;

var s = t.parentStory;

var c = fillStory( s, glyphenzahl );

var startGlyphID = 1;

app.findGlyphPreferences.glyphID = startGlyphID;

for ( i = 1; i <= glyphenzahl; i++ )

{

app.changeGlyphPreferences.glyphID = i;

c.changeGlyph();

}

function fillStory( aStory, aCounter )

{

aStory.contents = '';

for ( i = 0; i < aCounter; i++ )

aStory.insertionPoints[-1].contents = ' ';

return aStory.characters;

}

Falls Interesse: Das Script fügt alle Glyphen eines Fonts, egal ob codiert oder uncodiert, in einen Indesign-CS3-Textrahmen ein.

Eingegeben/eingestellt werden müssen:

- 2x Font-Familienname und Schnittname (getrennt mittels Tabulator!)

- Selben Font als Standard für dieses Dokument in Indesign einstellen (Einstellung vornehmen ohne einen Textrahmen markiert zu haben.

- Glyphenzahl des Fonts (kann in der Glyphenpalette per Mouseover über das letzte Zeichen ermittelt werden, der Wert GID ist's).

- startGlyphID: die ID des ersten Zeichens im Font. Manche haben 0, manche 1. Warum?

- aStory.insertionPoints[-1].contents = ' ' in der function fillStory muss das selbe Zeichen eingetragen haben wie in der startGlyphID hinterlegt ist. (z.B. Leerzeichen und startGlyphID=1 bei der Garamond Premier Pro Italic

Das alles lässt sich bestimmt noch optimieren/vereinfachen.

Link zu diesem Kommentar
  • 2 Jahre später...
Thomas Kunz

Ich habe mal den uralten Faden von Sebastian aufgenommen. Ich nehme mal an, dass du, Sebastian, seinerzeit bei hilfdirselbst.ch als Bastian Nail geschrieben hast.

Gefunden: Script das alle Glyphen ausgibt

Ich habe auf indesignsecrets.com ein Script gefunden (Zip-Container mit jsx-Datei), das genau das macht, was Sebastian damals gesucht hat.

Nachdem man das Script aufgerufen hat, wählt man in einer kleinen Abfragemaske den gewünschten Font aus und bestimmt von welcher/bis zu welcher Glyph-ID (GID) die Schriftzeichen ausgegeben werden sollen. Das Script erstellt dann in InDesign ein neues Dokument und fügt die betreffenden Glyphen ein. Dabei ist es egal, ob diese unicode-kodiert sind oder nicht.

Gesucht: Script das die Glyphen sortiert

Leider gibt es einige Fonts, in denen die Glyphen recht eigenwillig einer ID zugeordnet sind. Daher suche ich nun ein Script, das die Glyphen unabhängig von ihrer GID sortiert.

Bisher bin ich auf diese beiden Ansätze gestoßen:

Da ich mich mit Scripten nicht auskenne, schaffe ich es nicht, mit diesen beiden Makros das zu erreichen, was ich will – nämlich eine gut sortierte Glyphenliste.

Weiß jemand Rat?

Link zu diesem Kommentar
  • 2 Wochen später...
Sebastian Nagel

Danke für den Link zu dem Script ... es funktioniert auch noch in Indesign CS2 ganz hervorragend, und hat mir grade einiges an fehleranfälliger Arbeit erspart.

Sortieren von Glyphen ist so eine Frage, die ich mir bei jeder Schrift die ich mache sowohl für die Glyphenpalette als auch für das Schriftmuster wieder stellen muss ... und wenn man das dann schriftübergreifend einheitlich für ein Muster machen will, wird's endlos komplizierter.

Was ist eine sinnvolle Sortierung?

- Nach Unicode: Hier hat man die ganzen Legacy-Ranges, die aus Kompatibilitätsgründen unangetastet blieben, die eine "saubere" Sortierung im Sinne eines Alphabets sehr schwer machen.

- Nach einem bestimmten Alphabet: aber für welche Sprache?

- Wie wird mit den Akzentzeichen umgegangen? Ins Grundalphabet einsortieren? Alphabetisch, aber außerhalb von a-z?

- Was ist eine sinnvolle Sortierreihenfolge für Sonderzeichen, Satzzeichen, ...? Hier gibt es keine Konvention im Sinne eines Alphabets.

- Was mit den ganzen uncodierten Kapitälchen, Swashes, ... ? Spätestens hier geht jede automatische Sortiermethode, die auf Unicodes basiert, in die Knie, außer sie ist superintelligent und macht sich die Opentype-Ersetzungstabellen zunutze ... sowas möchte ich aber nicht programmieren müssen :)

Bei meinen eigenen Schriften mache ich es inzwischen mangels Alternativen so, dass ich mir je nach primärem Verwendungszweck eine für mich plausible Anordnung in der Glyphenpalette erarbeite. Damit halte ich mich zwar an keine "Standards" wie Unicode oder anderen Codierungen, aber mache es (hoffentlich) dem Anwender einfach, sich einigermaßen zurechtzufinden.

Link zu diesem Kommentar
Thomas Kunz

Ich habe mir über das Thema Sortierung schon viele Gedanken gemacht und eine weitreichende Regel ausgearbeitet. Jedoch wird mir das bei der Vielzahl der Schriften, die ich darstellen will, zu aufwendig.

Die meisten Schriften stellen sich – bei Sortierung der Glyphen nach GID – recht einheitlich dar. Manche Schriftschöpfer strukturieren die Glyphentabelle sogar:

TheSerif.png

AleaG.png

(TheSerif von Lucas de Groot und Alea Initials von Andreas Seidel)

Daher werde ich wohl bei der durch die GID vorgegebene Sortierung bleiben. Diese Sortierung kann der Anwender – bei entsprechender Einstellung – ja auch so in seiner InDesign-Glyphentabelle wiederfinden.

bearbeitet von Thomas Kunz
Bilder extern eingebunden
Link zu diesem Kommentar

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Einloggen

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden

Unsere Partner

Hier beginnt deine kreative Reise.
Mit über 130.000 Fonts der größte Schriften-Shop im Internet.
FDI Type Foundry besuchen
Entdecke hunderte Font-Sonderangebote.
FDI Altmeister jetzt kostenlos herunterladen und nutzen …
×
×
  • Neu erstellen...

🍪 Hinweis:

Wir benutzen funktionale Cookies.