Hallo Uwe,
danke für die schnelle Antwort.
Das Skript ist, denke ich, von Martin Fischer ausgetüftelt worden. Ich hab ein wenig gestöbert und es hier, als Suche/Ersetze Skript, im HDS-Service gefunden:
http://www.hilfdirselbst.ch/..._P199273.html#199273 (oder s.u.)
Wahrscheinlich hast du recht und das ganze Skript muss angepasst werden, denn anstatt „=0“ steht dort „=null“ (sorry), und so läuft es nicht.
Wenn Martin der Autor ist. Vielleicht liest er mit (Hallo Martin!) und hat das Skript angepasst?
Schöne Grüße
Silke Doepner
//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);
}
}