Per Skript sollen die Namen der verknüpften Bilder in eine Textdatei exportiert werden. In meinen bisherigen Versuchen entstehen dabei Probleme, sobald Umlaute in den Dateinamen der Bilder enthalten sind (in meinem Skript sollen gerade u.a. Umlaute eliminiert bzw. durch andere Zeichen ersetzt werden).
Im Skript unten habe ich zwei Wege (Funktionen) zum Export der Bildnamen dargestellt: 1. Direktexport über File.open() - exportTXT() 2. Export über temporären Textrahmen - exportTempFrameAsTXT()
Gehe ich den ersten Weg über den Direktexport, löscht mir ein Umlaut in den zu exportierenden Daten den gesamten Inhalt. Die exportierte Textdatei ist leer.
Gehe ich den zweiten Weg über die Erstellung eines temporären Textrahmens und dem Export dessen Textflusses, werden die Umlaute falsch ausgegeben. Z.B. "o" statt "ö".
Es kommt mir vor, als würde beim Auslesen der Dateinamen per Skript ein "ö" als eine "o.."-Zeichenkombination umgesetzt (also ein o kombiniert mit einem Zeichen "..". Bei Weg 1 führt das Zeichen ".." zum Verlust der zu exportierenden Daten und bei Weg 2 wird dieses Zeichen ignoriert. Wie bekomme ich ein "ö" als "ö" aus den Namen der verknüpften Bilder?
In folgendem Skript können die beiden Exportmethoden getestet werden.
Habe dasselbe über AppleScript versucht. Da kommen die Umlaute richtig an:
Kann mir jemand einen Hinweis geben, wie ich die Umlaute per JavaScript korrekt exportieren kann?
============ OS X 10.4.8 InDesign CS2 (4.04)
Viele Grüße Martin
(Dieser Beitrag wurde von Martin Fischer am 19. Dez 2006, 15:18 geändert)
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
ich kann Deine Ergebnisse bestätigen. Und ich habe auch schon bei einem ähnlichen Problem viel Zeit investiert, ohne eine Lösung gefunden zu haben.
Hier ein Ansatz, wie "wenigstens" beim direkten Export der Text nicht verlorengeht. Allerdings auch ohne Umlaute.
Im Kapitel "3 Using File and Folder Objects" der Scripting-Referenz findest Du unter "File and folder supported encoding names" vielleicht einen Encoding-Namen, welcher besser funktioniert (ich habe nicht alle ausprobiert).
Gruss, Hans
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
danke für Deine Bestätigung und den Hinweis mit dem Encoding.
Im Skripting-Forum ist mir mittlerweile bestätigt worden (und ein kleines AppleScript hat dies offen zu Tage gefördert), daß Unicode-Zeichen manchmal durch zwei Zeichen repräsentiert werden. So ist das "ö" manchmal ein "o" kombiniert mit dem diakritischen Unicode-Zeichen \u0308 (combining diaresis).
Peter Kahrel hat mir einen Hinweis gegeben, wie ich das \u0308 per RegExp aus einer Zeichenkette rauslösche. Ich werde das konstruktiv dahingehend ausbauen, aus den zwei Zeichen wieder eines, nämlich das gewünschte und benötigte "ö" hinzubasteln.
Wer oder was zerlegt mir beim Weg vom Finder (Dateinamen der Bilddatei) über InDesign ins Skript ein einzelnes Zeichen in eine Kombination? Und wie ist dieser Zerlegung vorzubeugen?
Warum passiert das nur in JavaScript und nicht auch in AppleScript?
Warum wird das Skripten von einem Tag auf den anderen auf einmal so mühsam? ;-)
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
ich habe von Scripten nicht viel Ahnung und weiß nicht ob dir diese Info weiterhilft! Habe dein Script auf einer WindowsXP-Maschine probiert. Erstaunlicherweise werden hier die Umlaute der verknüpften Dateien ohne Probleme exportiert. Es scheint möglicherweise auch am Betriebssystem zu liegen?
Viele Grüße
Jürgen
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
> Erstaunlicherweise werden hier die Umlaute der verknüpften Dateien ohne Probleme exportiert
Gut beobachtet.
Für den Mac habe ich nun eine cleanupUmlaut()-Funktion ergänzt, die aus den zwei Zeichen, die zusammen einen Umlaut darstellen, einen einzeichigen Umlaut machen.
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
Ich stehe erst am Anfang und habe mich zunächst auf die Umlaute konzentriert, weil mit denen am ehesten zu rechnen ist.
Das fertige Skript soll übrigens gerade dafür sorgen, daß die Sonderzeichen aus den Dateinamen von Verknüpfungen eliminiert werden. ;-) Aber dazu müssen sie erst mal zum Greifen sein.
> Hier müsste ich auch die Zeichen à â ç é è ê ë î ï ô ù û > und À Â Ç É È Ê Ë Î Ï Ô Ù Û behandeln ...
Danke für die Auflistung. Diese Zeichen werde ich auch noch aufnehmen. Bei fremden Daten muß man mit allem rechnen. Ich selber hüte mich davor, Sonderzeichen in Dateinamen zu verwenden, ertappe mich jedoch hin und wieder beim Gebrauch von Leerstellen.
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
hast Du Lust auf eine kleine Überraschung? Dann erstelle ein neues Dokument, platziere irgend ein Bild und führe das unten stehende Skript aus. Bitte beachte: während der Ausführung wird die Bilddatei umbenannt.
Die Überraschung? Wirf mal einen Blick auf den Bilddateinamen.
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
na ... richtig überrascht bin ich nicht. Wende ich doch diese Befehle auch an. Nur nicht in dieser Abfolge.
Ich nehme an, Du wirst diesen Code an das Ersetzen der Umlaute anschliessen.
Hier eine Idee, wie man das Ersetzen vereinfachen könnte:
Die 'goodChars' können natürlich noch ergänzt werden. Und vor jedem Umbenennen einer Datei muss das Script prüfen, ob nicht schon eine gleichnamige existiert.
Gruss, Hans
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
ich bin mir nicht sicher, ob Du mich richtig verstanden hast.
Es ging mir in der Studie nicht darum zu zeigen, wie man Umlaute durch gute Zeichen ersetzt (in dem "Hauptscript" geht es darum, verknüpfte Dateien anhand einer externen Tabelle mit alten und den dazugehörigen neuen Namen umzubenenen und neu zu verknüpfen; die neuen Namen werden vom Anwender vergeben; was weiß ich, was der Anwender hinterher für Zeichen für die neuen Namen verwendet und wenn er einen Umlaut verwenden will, habe ich ihm nicht auf den Finger zu klopfen).
Es ging mir vielmehr darum zu zeigen, daß dies auf dem Mac mit JavaScript aus InDesign nicht zuverlässig geht.
Der vorgegebene neue Dateiname war "äöüÄÖÜ.eps". Tatsächlich heißt die Datei - ohne irgendwelche Manipulationen der Zeichen des neuen Namens - hinterher "äöüAOÜ.eps". Die zwei Punkte über Ä und Ö verschwinden bei der Zuweisung des neuen Namens im Nirgendwo - und das nur, wenn großgeschriebene Umlaute in Serie (mindestens 2) hintereinander auftauchen.
Unter Windows habe ich es noch nicht getestet. Ich vermute, daß es dort korrekt ausgeführt wird.
Mit AppleScript funktioniert das richtig.
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
ich habe Dich nicht richtig verstehen können, weil hier (mit Mac OS X 10.4.4, Landeseinstellungs-Sprache "Deutsch") alle sechs Diäresis-Zeichen sichtbar sind: "äöüÄÖÜ.eps". Sowohl im Finder als auch in der InDesign-Links-Palette.
Aber vielleicht kann jemand anderer Deine Überraschung nachvollziehen. Denn vielleicht hat meine französische InDesign-Version einen EInfluss.
Das AppleScript kann etwas vereinfacht werden:
Gruss, Hans
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
auf Deinen Hinweis hin werde ich heute später mal die Preferences von InDesign löschen. Möglicherweise stinkt hier etwas. Bei anderer Gelegenheit konnte ich mir damit auch schon behelfen.
Und Dank für die Vereinfachung des AppleScripts (ich hatte schon halb drauf gehofft). Da bin ich ja ganz schön um die Ecken gefahren. Wenn das nur mal kein Schandfleck wird. ;-)
Viele Grüße Martin
Skript-Export der Dateinamen von verknüpften Bildern mit Umlauten
keine Sorge. :-) Du bist den logischen Weg gegangen.
Meine Abkürzung beruht darauf, dass der Finder den Namen einer Datei aufgrund eines kompletten Pfades ändern kann. Und wenn man vorher ein Alias speichert, dann wird damit später auch die "neue" Datei gefunden.