[GastForen Programme Print/Bildbearbeitung Adobe InDesign "BilderKatalog", ein JavaScript für CS2

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

"BilderKatalog", ein JavaScript für CS2

Hans Haesler
Beiträge gesamt: 5826

21. Mai 2007, 00:24
Beitrag # 31 von 37
Beitrag ID: #292396
Bewertung: ||
(1987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Leute,

die Scripts, welche ich bei meinen Tests verwendet hatte, sind
im Premium-Member-Bereich gepostet:
http://www.hilfdirselbst.ch/...i?post=292395#292395

Zuerst benutzte ich ein AppleScript, welches die Mac-Roman-Zeichen
von 128 bis 255 aufreiht, abgegrenzt mit einem normalen Buchstaben
und unterteilt in 16 handliche Absätze. So sieht der erste aus:
01sÄsÅsÇsÉsÑsÖsÜsás

Mit diesen Textketten benannte ich 16 Bilddateien und startete die
Version 03 des BilderKatalog-Scripts (mit deaktiviertem Suchen/Ersetzen).
Im Gegensatz zur Ergebnis mit der Version 02 (und dem Originalscript) wo
128 Zeichen hexadezimal codiert zurückkommen, sind 76 Zeichen in Ordnung.

Die restlichen 52 Buchstaben sind ausnahmslos diakritische, d.h. mit
einem Akzentzeichen versehen. Man kann sie grob in drei Gruppen
unterteilen: deutsch (D), französisch (F), andere (A).

D = ÄÖÜäöü
F = ÇÉàâçéèêëîïôùûÀÂÊËÈÎÏÔÛÙ
A = ÅÑáãåíìñóòõùÃÕÿŸÁÍÌÓÒÚ

Die Anzahl Suchen/Ersetzen-Läufe könnte man einschränken, indem in
der deutschen Version nur die sechs Buchstaben behandelt werden.
Aber was ist, wenn ein Bildname "Dalí.jpg" lautet?

Denkbar ist eine Unterteilung in Funktionen, entsprechend dem
Unicode-Wert der Zusatzzeichen:
\u0300 = àèìòùÀÈÌÒÙ
\u0301 = áéíóúÁÉÍÓÚ
\u0302 = âêîôûÂÊÎÔÛ
\u0303 = ãñõÃÑÕ
\u0308 = äëïöüÄËÏÖÜÿŸ
\u030A = åÅ
\u0327 = çÇ

Im JavaScript-Testscript setzte ich nach dem Worst-Case-Prinzip einen
Dateinamen mit je einem Buchstaben jeder Sorte, setzte die Aufrufe
in eine Schleife mit 1000 Durchgängen und stoppte die Zeit (siehe
das Script im Member-Bereich).

Es erwies sich als nützlich, Tests einzubauen, um zu prüfen, ob die
Sorte im String vorkommt, um nicht die entsprechende Funktion vergebens
aufzurufen.

Jetzt hab ich das Script BilderKatalog_04d.js mit diesen Funktionen
ergänzt und auf http://www.fachhefte.ch zum Download bereitgestellt.

Damit werden alle Zeichen richtig in die Textrahmen gesetzt.

Noch nicht untersucht habe ich, ob es eine Möglichkeit gibt, die
Namen direkt korrekt zu erhalten, damit das Suchen/Ersetzen vermieden
werden kann.

Gruss, Hans


als Antwort auf: [#292180]
X

"BilderKatalog", ein JavaScript für CS2

Thomas Kaiser
Beiträge gesamt: 1299

21. Mai 2007, 14:57
Beitrag # 32 von 37
Beitrag ID: #292533
Bewertung:
(1931 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Scusa wegen meiner Hartnäckigkeit aber mir ging das nicht mehr aus dem Kopf. Immerhin scheint die Aufgabenstellung darauf hinzudeuten, daß die JavaScript-Implementation innerhalb ID insofern beschränkt ist, als hier echte Unicode-Fähigkeit fehlen würde.

Denn "eigentlich" sollte man einem Unicode-fähigen Programm (Stichwort "mehrsprachiger Satz") auch per Scripting Text, der in UTF-8 vorliegt, einflössen können bzw. kann man es ja auch -- mit AppleScript ist das kein Problem.

Insofern zweifle ich an der Aufgabenstellung an sich, also an der Notwendigkeit, Unicode-Text erst wieder nach MacRoman zu wandeln bevor er in einen Textrahmen geladen werden kann. Falls das wirklich nicht gehen sollte, wäre es meines Erachtens ein klarer Bug bzw. eine ziemlich häßliche Limitation von Adobes JS-Implementation.

Durch das Nachdenken da drüber hab ich jetzt vielleicht die richtigen Suchbegriffe verwendet und bin hier gelandet:

    http://www.indesignscriptingreference.com/...mportPreference.aspx

Ist "TextImportCharacterSet" nicht das, was es dann analog auch für das einfache Setzen von Buchstaben in Textrahmen ohne Import einer (temporären) Textdatei bräuchte?

Ich frag eigentlich nur deshalb, weil ich als reiner Apple- und Unix-Scripter wegen potentieller Cross-Plattform-Fähigkeit über das Erlernen von JavaScript nachdenke -- ein nur mangelhafter Unicode-Support der Adobe-Implementierung mir diese Idee aber sofort wieder austreiben würde :-)

Gruss,

Thomas


als Antwort auf: [#292396]

"BilderKatalog", ein JavaScript für CS2

Hans Haesler
Beiträge gesamt: 5826

21. Mai 2007, 15:51
Beitrag # 33 von 37
Beitrag ID: #292562
Bewertung:
(1912 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Thomas,

gut, dass Du so hartnäckig bist. Das schätze ich. :-)

Aber beim vorliegenden Problem, hilft das Bestimmen eines
TextImportCharacterSets nichs. Die Bildlegenden liegen nicht
als Datei vor. Man müsste für jede extra eine schreiben.

Diese Lösung habe ich auch schon in Betracht gezogen, aber
mangels Zeit noch nicht ausprobiert.

Abgesehen davon hüte ich mich, von Bug zu sprechen, weil
meine bescheidenen Kenntnisse nicht ausreichen, um das
Problem aus jedem Winkel zu betrachten.

Gruss, Hans


als Antwort auf: [#292533]

"BilderKatalog", ein JavaScript für CS2

Thomas Kaiser
Beiträge gesamt: 1299

21. Mai 2007, 16:38
Beitrag # 34 von 37
Beitrag ID: #292584
Bewertung:
(1901 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

Antwort auf [ Hans Haesler ] Aber beim vorliegenden Problem, hilft das Bestimmen eines
TextImportCharacterSets nichs. Die Bildlegenden liegen nicht
als Datei vor. Man müsste für jede extra eine schreiben.


Völlig klar -- das wäre nichts weiter als ein häßlicher Workaround. Aber... wenn Adobe schon daran gedacht hat, beim Import einer Textdatei ein Quell-Encoding bestimmen zu können, dann muß das auch für das Setzen von Text per Skripting gehen -- außer in JavaScript würde von vornherein schon alles als UTF-8 interpretiert. Das scheint aber nicht der Fall zu sein, denn Deine Skripte sind immer MacRoman-kodiert.

Das als "default" empfinde ich angesichts des Zeitpunkts (2007) und der generellen Unicode-Fähigkeit von ID als einen argen Anachronismus. Und daß es "irgendwie" geht beweist ja AppleScript. Wenn ich dort mit Textrahmen von InDesign interagiere, gelingt das als UTF-8 (was meines Erachtens das einzig Richtige ist, denn wie sonst wollte man denn bspw. in einem Dokument lateinische Glyphen und kyrillische mischen?)

Ich bin jetzt kurz davor, bei Adobe eine Anfrage zu stellen, trau mich nur nicht so recht, weil ich eben von JavaScript an sich gar keinen Plan habe :-)

Jedenfalls hab ich auch per http://www.google.com/...site:adobeforums.com nichts Erhellendes herausgefunden und fange langsam an zu zweifeln (ob an mir bzw. meinen Suchkünsten oder an ID weiß ich noch nicht so recht ;-)

Gruss,

Thomas


als Antwort auf: [#292562]

"BilderKatalog", ein JavaScript für CS2

JoyZ
Beiträge gesamt: 19

21. Mai 2007, 17:00
Beitrag # 35 von 37
Beitrag ID: #292593
Bewertung:
(1895 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ganz lieben Dank für den WIRKLICH guten Script.
Genau dies hab ich immer vermisst, direkt, ohne
Bridge. Super!

Auch die Anderen Scripts sind 1. Sahne. Nur z.B.
der "SpracheWechseln"-Script ist ebenfalls Gold
wert. Bis jetzt hatte ich keinen, der diese Aufgabe
eleganter und einfacher löste.

Also, keep up the good work und merci vielmals
Nik


als Antwort auf: [#292584]

"BilderKatalog", ein JavaScript für CS2

manne
Beiträge gesamt: 99

21. Mai 2007, 17:06
Beitrag # 36 von 37
Beitrag ID: #292595
Bewertung:
(1890 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Ganz lieben Dank für den WIRKLICH guten Script.

Ich habe in den letzten Tagen die Weiterentwicklung des Bilderkatalog-Skripts mit Wonne beobachtet. Dieses Skript hat sich unter Hans Fittichen enorm weiterentwickelt.

Ein ganz dickes Lob und Dankeschön an Hans für dieses uneigennützige Engagement.

Was ist das nur, was Dich immer wieder zu Anonymus’ Vorteil so bei der Stange hält?


als Antwort auf: [#292593]

"BilderKatalog", ein JavaScript für CS2

Hans Haesler
Beiträge gesamt: 5826

21. Mai 2007, 22:54
Beitrag # 37 von 37
Beitrag ID: #292687
Bewertung:
(1868 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Nik, hallo Manne,

bitteschön.

Danke für Eure Rückmeldungen! Geschieht sehr selten.

Leider musste ich mich – wie schon oft – herantasten und
konnte die jetzige Lösung nicht auf Anhieb hinzaubern.


>Was ist das nur, was Dich immer wieder zu Anonymus’ Vorteil
>so bei der Stange hält?

Das habe ich ... noch nicht herausgefunden ... :-)

Gruss, Hans


als Antwort auf: [#292595]
X