hilfdirselbst.ch
Facebook Twitter gamper-media
Forenindex -- Lesezeichen

3 Lesezeichen für findchangebylist

FindChangeList - allgemeine Fragen
Hallo rübi,

Antwort auf: 1. Ist es egal in welcher Codierung die Datei gespeichert wird (Windows Latin, MacOS, Utf 8)?


Ja, denn Adobe-Programme konvertieren 8-bit codierte Dateien nach Unicode:

Zitat von Adobe InDesign CS2 Scripting Reference When doing file I/O, Adobe applications convert 8-bit character encoding to Unicode. By default, this conversion process assumes that the system encoding is used (code page 1252 in Windows or Mac Roman in Mac OS).



Antwort auf: 2. Warum muss ich mindestens eine findChangeOption eingeben damit überhaupt etwas passiert?


FindChangeByList.jsx erwartet pro Zeile 5 Felder:

Zitat von FindChangeList.txt The format of each record in the file is:
findType<tab>findProperties<tab>changeProperties<tab>findChangeOptions<tab>description

Where:
<tab> is a tab character
(1) findType is "text", "grep", or "glyph" (this sets the type of find/change operation to use).
(2) findProperties is a properties record (as text) of the find preferences.
(3) changeProperties is a properties record (as text) of the change preferences.
(4) findChangeOptions is a properties record (as text) of the find/change options.
(5) description is a description of the find/change operation


Du könntest die FindChangeOptions auch ohne Attribute übergeben: {}

Antwort auf: 3. Wie kann ich nach einem Zeichenformat (entweder Helvetica Neue 75 bold oder besser noch nur den Schnitt 75 bold) suchen?
>> appliedFont?? Wie würde die komplette Suche lauten?

text<tab>{fontStyle:"75 Bold"}<tab>{appliedCharacterStyle:"Bold"}<tab>{}<tab>// ersetze Schriftstil '75 bold' durch Zeichenformat 'Bold'

also:
Code
text	{fontStyle:"75 Bold"}	{appliedCharacterStyle:"Bold"}	{}	// ersetze Schriftstil '75 bold' durch Zeichenformat 'Bold' 


Antwort auf: 4. In dem Beispiel in der Datei
(//text {findWhat:"^9^9.^9^9"} {appliedCharacterStyle:"price"} steht kein "change to"
> Ist die dritte Stelle in der Eingabe immer das "change to"? Woher weis man, wann es erforderlich ist und wann nicht??

Das steht in den Instruktionen zur Struktur der Einträge in 'FindChangeList.txt' (s.o.).

Ich habe Übersichten zu den Eigenschaften (properties), nach denen gesucht werden kann und die ersetzt werden können, nebst den möglichen Optionen angehängt (es handelt sich um Auszüge aus der HTML-Umsetzung der Scripting-Reference für CS3: indesigncs3jshelp.zip):

Text-Suche:
01_FindTextPreference.html
02_ChangeTextPreference.html
03_FindChangeTextOption.html

GREP-Suche:
04_FindGrepPreference.html
05_ChangeGrepPreference.html
06_FindChangeGrepOption.html
...
Martin Fischer
22. Mär 2008, 09:07
CS2 Index / Thema
Diesen Text habe ich Dieter schon als PM zugeschickt.
Aber ich dachte, vielleicht kann ja noch jemand damit etwas anfangen.

Hallo Dieter,

ich habe mir mal Gedanken gemacht. Dabei lernt man ja selber immer wieder noch etwas dazu.
Noch komfortabler wird die Texbearbeitung allerdings mit InDesign CS3, denn da ist GREP vorhanden, dessen Möglichkeiten noch viel größer sind.

- Das Script "CharStyle_PeterKahrel" ist meiner Ansicht nach eines der "stärksten" Scripte.
Ich lasse es als erstes nach dem Platzieren des Word-Textes laufen.
Es legt für alle Auszeichnungen im Text ein Zeichenformat an, sodass ich anschließend den gesamten Text mit einem Absatzformat, z.B. "Fließtext", mit gedrückter Alt-Taste formatieren kann, ohne dass mir die Auszeichnungen verloren gehen.

- Anschließend benutze ich das "KerningOrNoBreak", wofür ich mir auch die passende txt-Datei erstellt habe.
Dies kommt an zweiter Stelle, da es einen "noBreak" z. B. zwischen "1. Jahrhundert" einfügt, das dann mit dem nächsten Script mit einem Achtelgeviert unterschnitten wird.

- Dann noch das Script "TextCleanUp" mit den entsprechenden txt-Dateien, die ich mir je nach Auftrag zusammengestellt habe.

Danach kann ich mit der Kontrolle anfangen, und die noch verbleibenden Feinkorrekturen ausführen.
Mit diesen 3 Scripten hat man erst mal eine Menge Arbeit gespart.
Es gibt aber noch mehr "schöne" Scripte.


Wie installiert man Scripte?
http://hilfdirselbst.org/...php?read_category=14

Wie kann ich die txt-Dateien sinnvoll ablegen?
http://www.hilfdirselbst.ch/...i?post=293725#293725

Link zum Script "KerningOrNoBreak"
http://www.hilfdirselbst.ch/..._P199273.html#199273

Link zum Script "CharStyle_PeterKahrel"
http://www.hilfdirselbst.ch/...i?post=253681#253681

Die Scripte lassen sich in "ExtendScript Toolkit" öffnen um evtl. Änderungen vorzunehmen;
z.B. in "CharStyle" den Zeichenformaten eine neue Bezeichnung zu geben.

Ich habe in etlichen Java-ScriptZeilen eine Farbe zugewiesen, um eine bessere Kontrolle zu haben.
Diese Farben müssen natürlich vorher in der ID-Datei angelegt sein.

Als Anlage eine zip-Datei, die die 3 Scripte und Mustertxt-Dateien enthält.

Gruß
Quarz
...
Quarz
4. Apr 2008, 12:42
GREP lernen
Vielen Dank, das war ein weiterer guter Tip.

Der Autor des Skriptes weiß um seinen Bug, und will ihn demnächst beheben.

Er gibt aber einen Workaround an, der meiner Meinung nach funktioniert. Er sagt, dass man die Preferences auf "Nothing" stellen kann, aber nicht die Options. Wenn man die entsprechenden Zeilen auskommentiert funktioniert das Suchen & Tauschen nach dem Skript richtig. Wenn man das Skript als Binärdatei exportiert stimmen auch die Umlaute in den Dialogen.

Der von mir daraufhin geänderte Skriptteil sieht folgendermaßen aus:
Code
function myFindText(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){ 
//Reset the find/change preferences before each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
var myString = "app.findTextPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeTextPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeTextOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
myFoundItems = myObject.changeText();
//Reset the find/change preferences after each search.
app.changeTextPreferences = NothingEnum.nothing;
app.findTextPreferences = NothingEnum.nothing;
// app.findChangeTextOptions = NothingEnum.nothing;
}
function myFindGrep(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change grep preferences before each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
var myString = "app.findGrepPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGrepPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGrepOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGrep();
//Reset the find/change grep preferences after each search.
app.changeGrepPreferences = NothingEnum.nothing;
app.findGrepPreferences = NothingEnum.nothing;
// app.findChangeGrepOptions = NothingEnum.nothing;
}
function myFindGlyph(myObject, myFindPreferences, myChangePreferences, myFindChangeOptions){
//Reset the find/change glyph preferences before each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
var myString = "app.findGlyphPreferences.properties = "+ myFindPreferences + ";";
myString += "app.changeGlyphPreferences.properties = " + myChangePreferences + ";";
// myString += "app.findChangeGlyphOptions.properties = " + myFindChangeOptions + ";";
app.doScript(myString, ScriptLanguage.javascript);
var myFoundItems = myObject.changeGlyph();
//Reset the find/change glyph preferences after each search.
app.changeGlyphPreferences = NothingEnum.nothing;
app.findGlyphPreferences = NothingEnum.nothing;
// app.findChangeGlyphOptions = NothingEnum.nothing;
}


Ob damit aber alles funktioniert kann ich mit meinen Skriptkenntnissen nicht beurteilen.
...
dschmutzi
17. Jul 2007, 12:37