[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

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

Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

cwenet
Beiträge gesamt: 1136

17. Jan 2021, 15:45
Beitrag # 1 von 4
Bewertung:
(10016 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Tag,

ich möchte hiermit alle Textstrings, die eine bestimmte horizontale Skalierungen haben, aufspüren und dann mit einem Zeichenformat versehen Das S+E über UI kommt nicht in Frage, da unterschiedliche Werte vorkommen können:

Code
var curSel   = app.selection;  
var curStory = curSel[0].parent;
var allChars = curStory.characters;

for (var c=0; c<allChars.length; c++) {

if ((allChars[c].horizontalScale > groesser) && (allChars[c].horizontalScale < kleiner))

{
allChars[c].appliedCharacterStyle = "Kapitaelchen";
}

}


Gibt es hierfür eine schnellere Lösung bzw. eleganter? Das ist für INDD ja richtig viel Arbeit.
Bitte um Vorschläge.
Grüße
Christoph

(Dieser Beitrag wurde von cwenet am 17. Jan 2021, 15:47 geändert)
X

Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

WernerPerplies
Beiträge gesamt: 2759

17. Jan 2021, 17:21
Beitrag # 2 von 4
Beitrag ID: #578266
Bewertung:
(9983 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Christoph,

kein Skript, sondern ein möglicher Weg:
1. eine Beispielsuche über das UI vornehmen.
2. die Suchen- und Ersatzparameter aus den Preferences auslesen.
3. die zu suchenden Werte und die zugehörigen Zeichenformate in ein Array speichern, in etwa so:
Code
var /*Array*/sAr =[ 
{search: SearchParameter, replace: ReplaceParameter},
{search: SearchParameter, replace: ReplaceParameter},
.
.
.
],
/*Int*/l = sAr.length,
/*Int*/ll = -1
/*Array*/founds = [];

for (var i = 0; i < l; i++){
founds = Deine Suche: sAr[i].search;
ll = founds.length
for (var ii = 0; ii < ll; ii++){
founds[ii].appliedCharacterStyle = sAr[i].replace
}
}


So, ich hoffe, ich habe nichts übersehen und mich verständlich ausgedrückt.


als Antwort auf: [#578264]

Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

Martin Fischer
  
Beiträge gesamt: 12778

17. Jan 2021, 17:21
Beitrag # 3 von 4
Beitrag ID: #578267
Bewertung:
(9983 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Du könntest mit einer »Hilfsformatierung« arbeiten.
Z.B. Durchstreichen, wenn das nicht vorkommt.

1. allem Text Durchstreichen zuweisen
2. allen 100% Skalierung Durchstreichen wegnehmen
3. Durchstreichen suchen, textStyleRanges ermitteln und in Abhängigkeit des Skalierungswerts bestimmte Dinge tun (z.B. bedingten Text zuweisen oder so).


als Antwort auf: [#578264]

Suchen u. Ersetzen von Strings mit bestimmter horizontaler Skalierung [INDD15.1.1 WIN10]

cwenet
Beiträge gesamt: 1136

17. Jan 2021, 17:32
Beitrag # 4 von 4
Beitrag ID: #578268
Bewertung:
(9974 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen lieben Dank an Werner und Martin.

Grüße und schönen Abend
Christoph


als Antwort auf: [#578267]
X