[GastForen Programme Print/Bildbearbeitung Adobe InDesign trennstellenInBedingte.jsx Script anpassen

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

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

21. Mär 2010, 15:50
Beitrag # 1 von 11
Bewertung:
(3439 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

Ich bearbeite gerade ein Wörterbuch in dem die Lemma vorgetrennt sind zb:
Band|schei|ben|vor|fall
Nun sollte, wenn das Wort am Spaltenende geteilt wird, statt dem "|"-Längsstrich ein Divis erscheinen.

Das Script "trennstellenInBedingte.jsx" kommt dem - glaube ich - recht nahe.
Aber
1. sollte es nur bei einem bestimmten Zeichenformat eingreifen.
und
2. hab ich es bisher nicht geschaft das, statt wie im Script angeführte, "SpecialCharacters.DISCRETIONARY_HYPHEN" beim ersetzen zu GID/CID365 zu ändern.

Das Script müsste also statt einer Trennstelle am Spaltenende GID/CID14 suchen und durch GID/CID365 ersetzten, und dass auch nur im Zeichenformat "Lemma".

Kann mir jemand einen Tipp geben bzw. weiterhelfen?

Danke schön.
Martin
X

trennstellenInBedingte.jsx Script anpassen

pixxxelschubser
Beiträge gesamt: 1708

21. Mär 2010, 16:46
Beitrag # 2 von 11
Beitrag ID: #437260
Bewertung:
(3426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Willkommen auf HDS,

eine kleine Gegenfrage:
Muss es eine Scriptlösung sein oder reicht eine GREP-Variante auch schon aus?

http://www.abload.de/....php?img=aaab44g.png


als Antwort auf: [#437258]

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

21. Mär 2010, 17:13
Beitrag # 3 von 11
Beitrag ID: #437264
Bewertung:
(3411 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Bin mir nicht sicher, denn ich kann mit Grep nicht die Glype per GID/CID-ID suchen.
Die beiden Zeichen GID/CID 365 und 14 liegen im Font am gleichen Unicode-Platz (002D).
Und wenn ich so das Zeichen kopiere und im Grep-Suchfeld reinkopiere, taucht das erste der beiden am Unicodeplatz hinterlegten Zeichen auf, und ich kanns nicht durch das andere ersetzten.

Danke.
Martin


als Antwort auf: [#437260]

trennstellenInBedingte.jsx Script anpassen

pixxxelschubser
Beiträge gesamt: 1708

21. Mär 2010, 19:03
Beitrag # 4 von 11
Beitrag ID: #437271
Bewertung:
(3388 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hatte vorher den Teil mit dem Spaltenende überlesen.

Also nochmal – vielleicht habe ich dich auch falsch verstanden:
Du möchtest alle Lemmata eines Lexems an den Trennstellen durch die "vertikale Linie" oder besser die "Pipe" trennen? Außer, die Trennung fällt auf das Spaltenende, dann möchtest du den Divis (Unicode 002D) als Trennung?

Ist das soweit richtig?

Und der vorher gepostete GREP (auch wenn er sich nicht auf das Spaltenende bezieht) findet zumindest die "vertikale Linie" nach einem Buchstaben.

Vielleicht kannst du auch ein/zwei erklärende Screenshots hochladen.


als Antwort auf: [#437264]
(Dieser Beitrag wurde von pixxxelschubser am 21. Mär 2010, 19:08 geändert)

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

21. Mär 2010, 19:23
Beitrag # 5 von 11
Beitrag ID: #437272
Bewertung:
(3383 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Also die Lemata sind von der Redaktion schon mit Silbentrennstrichen versehen (vertikale Striche CID365) zB:
Barm|her|zig|keit
Sollte so ein Wort über ein Spaltenende laufen

bla blea bla bla Barm|her-
zig|keit


möchte ich das letzte | (CID365) durch ein Divis (CID14) ersetzen.


als Antwort auf: [#437271]

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

22. Mär 2010, 20:44
Beitrag # 6 von 11
Beitrag ID: #437379
Bewertung:
(3312 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab nun einen Screenshot gemacht und angehängt.
Darauf sieht man eine Textstelle und das Glyphenfenster mit der Unicode ID 002D.
Das ist gleichzeitig die Trennzeichenbelegung.
Nur gibts an der Unicode ID zwei Zeichen, die mit GID/CID365 bzw GID/CID14 hinterlegt sind.
IDCS3 greift in der Trennzone auf das erste Zeichen zu.
Und ich hätte gerne das Script daraufhin angepasst, dass am Zeilenende das andere verwendet wird.

Im Script an der Codestelle
Code
 theStory.lines[n].insertionPoints.lastItem().contents = SpecialCharacters.DISCRETIONARY_HYPHEN 


find ich mit SpecialCharacters.DISCRETIONARY_HYPHEN zumindest das, am Ende der Zeile neu eingefügte Zeichen.
Nur weiß ich nicht, was ich statt dessen reinschreiben muss, dass das GID/CID14-Zeichen statt der "gewollten Teilung" eingefügt wird.

Bzw. ich find nicht mal die Stelle, wo nach der Trennung gesucht wird.

Ich hoffe, ich hab's jetzt besser erklärt.

Danke
Martin


als Antwort auf: [#437272]
Anhang:
wb.gif (16.2 KB)

trennstellenInBedingte.jsx Script anpassen

pixxxelschubser
Beiträge gesamt: 1708

23. Mär 2010, 00:33
Beitrag # 7 von 11
Beitrag ID: #437387
Bewertung:
(3279 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok, per Skript ist es einfacher.

Bin ja mal gespannt, wie die richtigen Skripter meinen "Schnipsel" auseinandernehmen.

Code
//RemovePipeBevorHyphen.jsx 
//DESCRIPTION:Scriptschnipsel zum Umbauen – funktioniert in der ersten Zeile des ersten Textrahmens
var myLine = app.documents.item(0).textFrames.item(0).lines.item(0);
var a = myLine.characters.item(-2).contents;
var b = myLine.characters.item(-1).contents;
if (a == '|' && b == SpecialCharacters.DISCRETIONARY_HYPHEN)
{
myLine.characters.item(-2).remove();
}



als Antwort auf: [#437379]

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

23. Mär 2010, 21:38
Beitrag # 8 von 11
Beitrag ID: #437477
Bewertung:
(3211 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank erstmal.
Kannst du mir noch sagen, wie man statt "|" nach dem GID/CID365-Zeichen sucht?

lg
Martin


als Antwort auf: [#437387]

trennstellenInBedingte.jsx Script anpassen

pixxxelschubser
Beiträge gesamt: 1708

25. Mär 2010, 00:36
Beitrag # 9 von 11
Beitrag ID: #437588
Bewertung:
(3157 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von waldviertler Vielen Dank erstmal.
Kannst du mir noch sagen, wie man statt "|" nach dem GID/CID365-Zeichen sucht?

lg
Martin


Da gibt es ein kleines Problem:
Welches Zeichen mit der GID/CID365 soll denn gesucht werden (genauer: Welches Zeichen in welcher Schriftart – denn da unterscheiden sich die Zeichen).

Sieh dir bitte folgende Screenshot mit verschiedenen Schriften an!
http://www.abload.de/....php?img=11533tb.png


Nur eine andere Frage: Funktioniert das gepostete Script bei dir nicht? Du müßtest es doch nur noch um zwei Schleifen, die durch die textFrames und durch die Lines der textFrames gehen, ergänzen, um es auf ein ganzes Dokument anzuwenden.


als Antwort auf: [#437477]

trennstellenInBedingte.jsx Script anpassen

waldviertler
Beiträge gesamt: 43

25. Mär 2010, 00:58
Beitrag # 10 von 11
Beitrag ID: #437589
Bewertung:
(3152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo pixxxelschubster

Der Font wurde extra angefertigt - siehe Screenshot im 6. Beitrag (wb.gif).
Es liegen 2 Zeichen an EINEM Unicode Platz (diesen Platz teilen sich (GID/CID365 und GID/CID14).
Das Script würde funktionieren, nur kommt im Text nicht das |-Zeichen vor, sondern ein Unterzeichen eines Unicodeplatzes, nämlich GID/CID365.
Vielen Dank.

Martin


als Antwort auf: [#437588]

trennstellenInBedingte.jsx Script anpassen

pixxxelschubser
Beiträge gesamt: 1708

28. Mär 2010, 23:17
Beitrag # 11 von 11
Beitrag ID: #437908
Bewertung:
(3061 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Es ist recht schwierig, dein "Problem" nachzuvollziehen, da mir die erforderlichen Zeichen nicht in der richtigen Schriftart vorliegen. Ich glaube zwar zu wissen, was du möchtest, aber ich werde nicht schlau draus, welches Zeichen bei dir wie belegt ist. Zeige mir doch bitte einen Vorher-Screenshot und einen Nachher-Screenshot (beide mit eingeblendeten verborgenen Zeichen) und wenn möglich auch die Variante mit den beiden GID's (bitte beschriften!).

Sollte es sich bei dem Längsstrich um ein Zeichen handeln, dass eindeutig über seinen Unicode zu identifizieren ist und dem ein bedingter Trennstrich folgt, dann funktioniert das Skript. Aber du schreibst, das dem nicht so ist.

Das Skript ersetzt den Längsstrich vor dem bedingten Trennstrich – und zwar ausschliesslich am Spaltenende. Das setzt voraus, dass Längsstrich und bedingter Trennstrich zwei verschiedene Zeichen sind. Und so hatte ich dich verstanden. Das Skript ist allerdings auch eine Einbahnstraße. Ändert sich der Umbruch nach Ausführungs des Skriptes, dann bleibt der Längsstrich weg.
Wenn allerdings der Längsstrich bei dir die Doppelbelegung hätte, dann würde sich dieser automatisch bei einer Trennung in den Divis wandeln – alles andere wäre Quatsch und in dem Falle hättest du den Thread auch gar nicht erst eröffnet.

Und die meisten Wörterbücher, die ich kenne, "trennen" im Wort mit einem schmalen Längsstrich, der bei Umbruch am Spaltenende durch ein Divis ersetzt wird.

Vielleicht antwortet dir ja auch noch jemand anderes, denn ich weiß zur Zeit nicht wirklich was wie wann wo. Wie wurde das bisher bei euch gehandhabt? Oder ist es dein/euer erstes Wörterbuch?

Aber ich warte erstmal deine Antwort ab.


als Antwort auf: [#437589]
X