hilfdirselbst.ch
Facebook Twitter gamper-media

Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Kerning (unterschneiden) in InDesign

 

« « 1 2 3 4 » »  


Anti78
Beiträge: 10

24. Okt 2005, 11:54

Beitrag #31 von 48
Beitrag ID: #192290

Bewertung:

(6597 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Also das Script finde ich ja auch gut, aber irgendwie zeigt bei mir InDesign das Script nicht an.
Arbeite hier mit nem Mac mit OS X und InDesign 2.
Habe das Script per Dreamweaver als .js abgespeichert und das .txt über TextEdit. Aber das Script wird bei mir in ID einfach nicht angezeigt. Andere Scripte die in dem Ordner sind, werden angezeigt. Aber das sind auch .scpt-Scripte. Hängt das vielleicht damit zusammen?

als Antwort auf: [#192103] Top

Martin Fischer  M  p
Beiträge: 9696

24. Okt 2005, 12:16

Beitrag #32 von 48
Beitrag ID: #192295

Bewertung:

(6586 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


.scpt sagt nur, daß auch AppleSkripte im Ordner liegen.
Die tun den JavaSkripten nichts.

Prüfe nochmal: lautet die Endung des in Presets/Scripts abgelegten Skripts tatsächlich .js? Schau's Dir zur Not über die Information nochmal an, ob nicht vielleicht eine ausgeblendete Endung dran hängt.

Wichtig: die Dateien müssen als reine Textdateien (kein rtf) gespeichert werden.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#192290]

(Dieser Beitrag wurde von MartinF am 24. Okt 2005, 12:20 geändert)
Top

Anti78
Beiträge: 10

25. Okt 2005, 15:10

Beitrag #33 von 48
Beitrag ID: #192520

Bewertung:

(6564 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Also habs jetzt noch mal geprüft. Die Endungen passen. Vielleicht liegts ja am Mac. Sollte es vielleicht mal am PC probieren.

als Antwort auf: [#192295] Top

Gerald Singelmann  M  p
Beiträge: 5823

25. Okt 2005, 15:15

Beitrag #34 von 48
Beitrag ID: #192522

Bewertung:

(6562 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Zitat Wichtig: die Dateien müssen als reine Textdateien (kein rtf) gespeichert werden.


wenn eine datei mit endung .js nicht angezeigt wird, ist es mit ziemlicher Sicherheit keine reine Textdatei.

Wieso mit Dreamweaver? Warum nicht mit Textedit? Bei letzterem kann man wenigstens sicher sein, in welchem Format gespeichert wird.

Mit freundlichem Gruß
Gerald Singelmann

--------------------------
Alles rund um InDesign und Automatisierung für Profis
http://www.cuppascript.com

als Antwort auf: [#192520] Top

Anti78
Beiträge: 10

25. Okt 2005, 18:41

Beitrag #35 von 48
Beitrag ID: #192570

Bewertung:

(6548 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Habs jetzt mal hier auf nem PC mit InDesign CS getestet. Angezeigt wird das Script. Aber wenn ich den Text markiere und dann auf das Script doppelklicke passiert nichts. Bei dem Scriptsymbol scheint auch so ein Verbotszeichen zu sein.

als Antwort auf: [#192522] Top

Quarz  M  p
Beiträge: 2423

24. Nov 2005, 19:00

Beitrag #36 von 48
Beitrag ID: #197648

Bewertung:

(6508 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Martin,

ich habe jetzt erst Dein wunderbares Script entdeckt.
Prima!!!

Am Schluss schreibst Du:

Das Skript läßt sich (später) z.B. auch zur Behandlung von Zeichenfolgen mit "geschützten Umbrüchen" (kein Umbruch) ausbauen ...

Hast Du für diese Aufgabe »kein Umbruch« auch schon ein Script geschrieben?

Gruß
Quarz

als Antwort auf: [#185640] Top

Martin Fischer  M  p
Beiträge: 9696

24. Nov 2005, 19:27

Beitrag #37 von 48
Beitrag ID: #197652

Bewertung:

(6504 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


> Hast Du für diese Aufgabe »kein Umbruch« auch schon ein Script geschrieben?

Ja, aber bevor ich das veröffentliche, muß ich mir das nochmal anschauen.
Ist zu lange her und ich hab's selber - im Gegensatz zum Kerningskript - nur bei der Entwicklung angewendet.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#197648] Top

Martin Fischer  M  p
Beiträge: 9696

24. Nov 2005, 20:51

Beitrag #38 von 48
Beitrag ID: #197666

Bewertung:

(6493 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Ursula,

anbei das DoppelSkript für Kerning-Zeichenfolgen und Zeichenfolgen "ohne Umbruch".
Der Vorteil einer Unterbindung des Umbruchs durch "kein Umbruch" im Gegensatz zum geschützten Leerzeichen liegt darin, daß im Blocksatz das "kein Umbruch"-Leerzeichen flexibel bleibt (sich so wie die übrigen Leerzeichen ausdehnt oder zusammenzieht). Das geschützte Leerzeichen hingegen hat eine feste Breite.

Der Code unten ist zwar etwas holprig (weil alt).
Aber für eine Vereinfachung habe ich heute keine Zeit mehr.
Und er tut ja, was er tun soll.

Zum Kerning-Teil gilt, was bei KernPairsOptical.js dokumentiert ist:
http://www.hilfdirselbst.ch/..._P185640.html#185640

Eigentlich handelt es sich nicht um Kerningpaare, sondern um Zeichenfolgen - eskönnen also auch 3 oder mehr Zeichen sein, die optisch gekernt werden sollen.

Zum "kein Umbruch" folgendes:
1. Die Zeichenfolgen, die nicht umbrochen werden sollen, sind in einer externen Datei (reine Text-Datei, kein RTF oder Word-Doc) "noBreak.txt" definiert. Skript und Zeichenfolgenliste müssen im selben Verzeichnis (Scripts) liegen.
2. Die Ersetze-Funktion ist case sensitive, unterscheidet also Groß-/Kleinschreibung.
3. Gesucht wird nicht nach ganzen Worten, sondern nach Bestandteilen von Worten.
4. Und hier eine Beispielliste "noBreak.txt" für Zeichenfolgen, die nicht umbrochen werden sollen:
Code
Nr.<0020>^9 
Anm.<0020>^9
Z.<0020>^9
^9 vol
ols. ^9
<0020>…
…<0020>
<0020>^=
^=<0020>
^9 Kings
^9 Kgs
^9. Jahr
^9. Jhd.

Entsprechend der Liste oben werden folgende Zeichenfolgen mit dem Attribut "kein Umbruch" versehen (also nicht umbrochen):

Nr.[Leerstelle][Ziffer]
Anm.[Leerstelle][Ziffer]
Z.[Leerstelle][Ziffer]
[Ziffer] vol
ols. [Ziffer]
[Leerstelle]...
...[Leerstelle]
[Leerstelle]^=
^=[Leerstelle]
[Ziffer] Kings
[Ziffer] Kgs
[Ziffer]. Jahr
[Ziffer]. Jhd.

Beachte:
"^9. Jahr" fixiert sowohl "19. Jahr" als auch "12. Jahrhundert".
"ols. ^9" fixiert sowohl "Vols. 3" als auch "vols. 4" (also einmal groß und einmal klein).
Es ist möglich, das Leerzeichen als " " (Leerzeichen) oder als Code "<0020>" einzugeben.

Code
// KerningOrNoBreak.js 
//
var myDoc = app.activeDocument;
var myWords = [""];
var myCounter=0;
var KerningTextFileName="KernPairsOptical.txt"
var noBreakTextFileName="noBreak.txt"
var noBreakColor="noBreak";

myDialog = app.dialogs.add({name:"Modify Pairs"});
with(myDialog) {
with(dialogColumns.add()) {
staticTexts.add({staticLabel:"Auswahl:"});
mySelection = dropdowns.add({stringList:["Kerning", "kein Umbruch"], selectedIndex:0}) ;
}
}
var myReturn = myDialog.show();

if (myReturn == true) {
// Kerning Pairs
if (mySelection.selectedIndex == 0) {
TextFileName=KerningTextFileName;
myChangeFormat= {kerningMethod:"optical"};
}
// no Break
else if (mySelection.selectedIndex == 1) {
TextFileName=noBreakTextFileName;
myChangeFormat= {noBreak:true};
}
myScriptFileName = app.activeScript;
myScriptFile = File(myScriptFileName);
myFolder = myScriptFile.parent;
myFindChangeFileName = myFolder + "/" + TextFileName;
myFindChangeFile = File(myFindChangeFileName);
myResult = myFindChangeFile.open("r", undefined, undefined);
if (myResult == false){
myFindChangeFile = File.openDialog("Wähle die Datei mit der Liste der Zeichenfolgen:")
myResult = myFindChangeFile.open("r", undefined, undefined);
}

do{
myLine = myFindChangeFile.readln();
myFindChangeArray = myLine.split("#*#");
if (myFindChangeArray[0].length > 1){
myWords[myCounter] = myFindChangeArray[0];
myCounter+=1;
}
} while(myFindChangeFile.eof == false);
myFindChangeFile.close();

app.findPreferences = null;
app.changePreferences = null;
for (k=0; k < myWords.length; k++){
myChanging(myDoc,myWords[k]);
}
}

function myChanging(oneRange,oneWord) {
if (oneWord.length>0 && oneWord !=" ") {
myResults = oneRange.search(oneWord,false,true,undefined, undefined, myChangeFormat);
}
}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#197652]

(Dieser Beitrag wurde von MartinF am 24. Nov 2005, 20:51 geändert)
Top

Quarz  M  p
Beiträge: 2423

25. Nov 2005, 09:14

Beitrag #39 von 48
Beitrag ID: #197690

Bewertung:

(6471 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Martin Du bist ein Schatz!!

Gruß
Quarz

als Antwort auf: [#197666] Top

Quarz  M  p
Beiträge: 2423

28. Nov 2005, 10:16

Beitrag #40 von 48
Beitrag ID: #198067

Bewertung:

(6446 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Martin,

meinst Du, Du könntest beim Script ›KerningOrNoBreak‹ noch am Anfang ein Auswahlfensterchen einbauen für:
Selected Story - Dokument - Selection
wie in ›TextCleanup‹?

Ich arbeite immer jeden Artikel erst einzeln durch. So habe ich mehr Kontrolle.

Gruß
Quarz

als Antwort auf: [#197690] Top

Martin Fischer  M  p
Beiträge: 9696

28. Nov 2005, 10:40

Beitrag #41 von 48
Beitrag ID: #198075

Bewertung:

(6450 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Ursula,

das arbeite ich Dir noch ein.
Allerdings brauchst Du ein bißchen Geduld.
Vielleicht komme ich heute Abend dazu.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#198067] Top

Martin Fischer  M  p
Beiträge: 9696

30. Nov 2005, 08:51

Beitrag #42 von 48
Beitrag ID: #198482

Bewertung:

(6415 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Ursula,

> meinst Du, Du könntest beim Script ›KerningOrNoBreak‹ noch am Anfang
> ein Auswahlfensterchen einbauen für: Selected Story - Dokument - Selection
> wie in ›TextCleanup‹?

Das angepaßte (zusammengebastelte) Skript habe ich Dir per email zukommen lassen.


Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#198067] Top

Wolfgang J. Kremer
Beiträge: 48

5. Dez 2005, 18:49

Beitrag #43 von 48
Beitrag ID: #199263

Bewertung:

(6371 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Martin !

Ich finde das Script "noBreak.jsx" wirklich sehr gut. Leider fehlt auch mir die Möglichkeit, den zu überarbietenden Text bzw. Textrahmen mithilfe eines Auswahlfenstern anzuwählen. Kannst du mir da noch weiterhelfen.

Bis bald

Wolfgang

als Antwort auf: [#198482] Top

Martin Fischer  M  p
Beiträge: 9696

5. Dez 2005, 20:11

Beitrag #44 von 48
Beitrag ID: #199273

Bewertung:

(6361 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Wolfgang,

das Skript ist zusammengebastellt (das sieht man ihm an) und funktioniert möglicherweise nicht unter jeder Bedingung ganz hasenrein. Ich werde die nächsten Tage aber nicht dazu kommen, es intensiver zu prüfen und umzubasteln. Deswegen werfe ich Dir (oder Euch) die grüne Banane hin, um mögliche Fehler rückgemeldet zu bekommen. Ok?

Code
//KerningOrNoBreak.js 
//DESCRIPTION: Weist definierten Zeichenfolgen das Attribut "optisches Kerning" oder "kein Umbruch" zu. Der zu bearbeitende Bereich kann eingeschränkt werden.
//
var myObject;
var myCheckSelection = false;
if(app.documents.length != 0){
if(app.activeDocument.stories.length != 0){
var myArray = myDisplayDialog();
myChoice = myArray[0];
myObject = myArray[1];
myCheckSelection = myArray[2];
if(myObject != "None"){
doIt(myChoice, myObject);
}
}
else{
alert("The current document contains no text. Please open a document containing text and try again.");
}
}
else{
alert("No documents are open. Please open a document and try again.");
}

function myDisplayDialog(){
var myCheckSelection = false;
var myDialog = app.dialogs.add({name:"Modify Pairs"});
with(myDialog.dialogColumns.add()){
if(app.selection.length != 0){
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Suchbereich", minWidth:100});
}
var myRangeButtons = radiobuttonGroups.add();
with(myRangeButtons){
radiobuttonControls.add({staticLabel:"Ausgewählter Textfluß", checkedState:true});
radiobuttonControls.add({staticLabel:"Dokument"});
if(app.selection[0].contents != ""){
radiobuttonControls.add({staticLabel:"Auswahl"});
}
}
}
with(dialogRows.add()){
staticTexts.add({staticLabel:"----------------------------------"});
}
}
with(dialogRows.add()){
with(dialogColumns.add()){
staticTexts.add({staticLabel:"Auswahl", minWidth:100});
}
var myChoiceButtons = radiobuttonGroups.add();
with(myChoiceButtons){
radiobuttonControls.add({staticLabel:"Kerning", checkedState:true});
radiobuttonControls.add({staticLabel:"Kein Umbruch"});
}
}
}
var myResult = myDialog.show();
var aChoice = myChoiceButtons.selectedButton;
if (myResult == true){
var myObject = app.documents[0];
if(app.selection.length != 0){
switch(myRangeButtons.selectedButton){
case 0:
switch(app.selection[0].constructor.name){
case "InsertionPoint":
case "Character":
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "TextFrame":
myObject = app.selection[0].parentStory;
break;
default:
myObject = "None";
break;
}
break;
case 1:
myObject = app.activeDocument;
break;
case 2:
switch(app.selection[0].constructor.name){
case "Word":
case "TextStyleRange":
case "Line":
case "Paragraph":
case "TextColumn":
case "Text":
case "TextFrame":
if(app.selection[0].contents != ""){
myObject = app.selection[0].texts.item(0);
myCheckSelection = true;
}
else{
myObject = "None";
}
break;
default:
myObject = "None";
break;
}
break;
}
}
}
else{
myObject = "None";
}
myDialog.destroy();
return [aChoice, myObject, myCheckSelection];
}

function doIt(aChoice, aObject){
var myWords = [""];
var myCounter=0;
var KerningTextFileName="KernPairsOptical.txt"
var noBreakTextFileName="noBreak.txt"
var noBreakColor="noBreak";

if (aChoice == 0) {
TextFileName=KerningTextFileName;
myChangeFormat= {kerningMethod:"optical"};
}
// no Break
else if (aChoice == 1) {
TextFileName=noBreakTextFileName;
//myChangeFormat= {noBreak:true, fillColor:noBreakColor};
myChangeFormat= {noBreak:true};
//checkColor(noBreakColor);
}
var myScriptFileName = app.activeScript;
var myScriptFile = File(myScriptFileName);
var myFolder = myScriptFile.parent;
var myFindChangeFileName = myFolder + "/" + TextFileName;
var myFindChangeFile = File(myFindChangeFileName);
var myFileOpen = myFindChangeFile.open("r", undefined, undefined);
if (myFileOpen == false){
myFindChangeFile = File.openDialog("Wähle die Datei mit der Liste der Zeichenfolgen:")
myFileOpen = myFindChangeFile.open("r", undefined, undefined);
}

do{
myLine = myFindChangeFile.readln();
myFindChangeArray = myLine.split("#*#");
if (myFindChangeArray[0].length > 1){
myWords[myCounter] = myFindChangeArray[0];
myCounter+=1;
}
} while(myFindChangeFile.eof == false);
myFindChangeFile.close();

app.findPreferences = null;
app.changePreferences = null;
for (k=0; k < myWords.length; k++){
myChanging(aObject, myWords[k]);
}

function myChanging(oneRange,oneWord) {
if (oneWord.length>0 && oneWord !=" ") {
myResults = oneRange.search(oneWord,false,true,undefined, undefined, myChangeFormat);
}
}
}

function checkColor(oneColor) {
try{
mySwatch = app.documents[0].colors.add({name:oneColor,space:ColorSpace.rgb, colorValue:Array(250,0,0)});
}
catch (myError){
mySwatch = app.documents[0].colors.item(oneColor);
}
}



Martin Fischer

Skripte für InDesign im Skriptarchiv von HilfDirSelbst.ch

als Antwort auf: [#199263] Top

Wolfgang J. Kremer
Beiträge: 48

6. Dez 2005, 11:27

Beitrag #45 von 48
Beitrag ID: #199377

Bewertung:

(6336 mal gelesen)
URL zum Beitrag

Beitrag als Lesezeichen

Kerning (unterschneiden) in InDesign


Hallo Martin !

Danke für die schnelle Reaktion. Ich habe im Moment auch etwas viel um die Ohren, werde aber so bald wie möglich dein Script testen. Erst einmal vielen Dank.

Bis bald
Wolfgang

als Antwort auf: [#199273] Top
« « 1 2 3 4 » »  


Forenindex » Programme » Print/Bildbearbeitung » Adobe InDesign » Kerning (unterschneiden) in InDesign


^