[GastForen Programme Print/Bildbearbeitung Adobe InDesign Kerning mit Skript von Peter Kahrel

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Kerning mit Skript von Peter Kahrel

schönbi
Beiträge gesamt: 72

27. Jan 2009, 20:35
Beitrag # 1 von 7
Bewertung:
(6145 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen -

im Buch von Peter Kahrel "InDesign mit JS automatisieren" gibt es einen Kerning-Editor zum Nachbauen. Was ich getan habe, nur leider ohne Erfolg.

Kann mir jemand erklären, wo der Fehler liegen könnte:
Code
// Kerning Script 
app.findTextPreferences = app.changeTextPreferences = null;
app.findTextPreferences.appliedFont = 'Times';
app.findTextPreferences.fontStyle = 'Regular';
var myPairs = app.activeDocument.findText();

romanRoman( '-T', -100 )
romanRoman( '-A', -40 )
romanRoman( '-V', -80 )
romanRoman( '-W', 200 )
romanRoman( '7.', -500 )

function romanRoman( kPair, kValue )
{
//finde alle Vorkommen von kPairs
app.findTextPreferences.findWhat = kpair;
app.findTextPreferences.findWhat = kpair;
var myPairs = app.activeDocument.findText();
// füge kValue zwischen dem ersten und zweiten Zeichen ein.
for( var i = 0; i < myPairs.length; i++ )
myPairs[i].insertionPoints[1].kerningValue = kValue;
}

Folgende Fehlermeldung wird geliefert:
Fehlerzeichenfolge: kpair ist nicht definiert

Merci für den Tipp
Jürg

(Dieser Beitrag wurde von Martin Fischer am 27. Jan 2009, 21:19 geändert)
X

Kerning mit Skript von Peter Kahrel

Quarz
Beiträge gesamt: 3555

27. Jan 2009, 20:48
Beitrag # 2 von 7
Beitrag ID: #382887
Bewertung:
(6143 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo schönbi,

schau mal hier:
http://www.hilfdirselbst.ch/...i?post=351248#351248

Gruß
Quarz

------------------------
WinXP | CS4


als Antwort auf: [#382886]

Kerning mit Skript von Peter Kahrel

Martin Fischer
  
Beiträge gesamt: 12783

27. Jan 2009, 21:23
Beitrag # 3 von 7
Beitrag ID: #382891
Bewertung:
(6130 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürg,

Du musst die Groß-/Kleinschreibung beachten.
Es heißt 'kPair', nicht 'kpair'.

Außerdem ist diese Zeile doppelt, was nicht stört, aber auch nicht nötig ist:

Code
	app.findTextPreferences.findWhat = kPair; 



als Antwort auf: [#382886]

Kerning mit Skript von Peter Kahrel

zaphodbeeblebroxx
Beiträge gesamt: 408

27. Jan 2009, 21:31
Beitrag # 4 von 7
Beitrag ID: #382893
Bewertung:
(6125 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
 
Hallo Jürg,

vielleicht wäre es auch noch hilfreich am Anfang des JS folgende Zeile hinzuzufügen, mit der die Groß-/Kleinschreibung bei der Suche berücksichtigt wird:



Code
app.findChangeTextOptions.caseSensitive = true; 



als Antwort auf: [#382891]

Kerning mit Skript von Peter Kahrel

schönbi
Beiträge gesamt: 72

28. Jan 2009, 23:19
Beitrag # 5 von 7
Beitrag ID: #383090
Bewertung:
(6037 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke den beiden Herren - der Fehler ist behoben.

Dazu eine weitere Frage: Wie muss ich das Skript ändern, wenn ich keine Schrift und keinen Schnitt vorgeben will? Ich möchte nach -T suchen ohne Schrifteinschränkung...

Wenn ich die beiden Zeilen

app.findTextPreferences.appliedFont = 'Times';
app.findTextPreferences.fontStyle = 'Regular';

rausnehme, motzt das Skript.

Gruss Jürg


als Antwort auf: [#382893]

Kerning mit Skript von Peter Kahrel

Martin Fischer
  
Beiträge gesamt: 12783

28. Jan 2009, 23:45
Beitrag # 6 von 7
Beitrag ID: #383092
Bewertung:
(6032 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jürg,

nun, das Skript ist daraufhin angelegt, daß die Paare einer bestimmten Schrift unterschnitten werden.
Für eine schriftunabhängige Ausführung versuch's mal damit:

Code
// Kerning Script  
app.findTextPreferences = app.changeTextPreferences = null;
app.findChangeTextOptions.caseSensitive = true;
/*
app.findTextPreferences.appliedFont = 'Times';
app.findTextPreferences.fontStyle = 'Regular';
var myPairs = app.activeDocument.findText();
*/
romanRoman( '-T', -100 )
romanRoman( '-A', -40 )
romanRoman( '-V', -80 )
romanRoman( '-W', 200 )
romanRoman( '7.', -500 )

function romanRoman( kPair, kValue )
{
//finde alle Vorkommen von kPairs
app.findTextPreferences.findWhat = kPair;
var myPairs = app.activeDocument.findText();
// füge kValue zwischen dem ersten und zweiten Zeichen ein.
for( var i = 0; i < myPairs.length; i++ )
myPairs[i].insertionPoints[1].kerningValue = kValue;
}



als Antwort auf: [#383090]

Kerning mit Skript von Peter Kahrel

Wrukolakas
Beiträge gesamt: 1

19. Mär 2020, 12:43
Beitrag # 7 von 7
Beitrag ID: #574557
Bewertung:
(3881 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zuerst einmal danke für die Hilfe, die Ihr hier leistet. Das Skript hat mir schon sehr geholfen.

Eine Frage hätte ich allerdings. Ich würde das Ganze gern auf meine Auswahl, also selection[0] begrenzen. Wenn ich die entsprechenden Stellen im Scripts dahingehend ändere, funktioniert es allerdings nicht mehr.

Ich habe "activeDocument" gegen "selection[0]" ausgetauscht.

Code
// Kerning Script  
app.findTextPreferences = app.changeTextPreferences = null;
app.findChangeTextOptions.caseSensitive = true;

app.findTextPreferences.appliedFont = 'FrankfurterEF-Medium';
app.findTextPreferences.fontStyle = 'Regular';
var kerningPaare = app.selection[0].findText();

kerningAendern( '.', -150 )

function kerningAendern( kPair, kValue )
{
app.findTextPreferences.findWhat = kPair;
var kerningPaare = app.selection[0].findText();
// f&#8730;ºge kValue zwischen dem ersten und zweiten Zeichen ein.
for( var i = 0; i < kerningPaare.length; i++ )
kerningPaare[i].insertionPoints[1].kerningValue = kValue;
}

}


Vielleicht kann mir jemand helfen. Danke schon mal. :)

LG Veit


als Antwort auf: [#383092]
X