Bislang hatte ich angenommen, dass ein insertionPoint nur genau einen textStyleRange zählen kann.
Heute machte ich die Entdeckung, dass ein insertionPoint zwischen zwei Zeichen in InDesign CS5 durchaus mehrere textStyleRanges zählen kann. Mein Maximum waren 17(!) textStyleRanges eines einzigen insertionPoints. Die Zahl ist nicht zwingend abhängig von der Zahl der zugewiesenen Zeichenattribute.
Ein insertionPoint in Text mit derselben Formatierung weist in InDesign CS4 nur einen textStyleRange auf. Das klingt für mich auch plausibel.
Wähle ich in InDesign CS5 ein benachbartes Zeichen dieses wunderbaren insertionPoints aus, dann hat dieses erwartungsgemäß wie auch in InDesign CS4 und früher nur einen textStyleRange.
Bei meinen Experimenten stellte ich aber auch fest, dass es insertionPoints mit 0 textStyleRanges gibt: diejenigen, die am Ende eines Textabschnitts (auch am Ende einer Tabellenzelle) stehen. Beim Adressieren eines textStyleRanges einer Auswahl schaut InDesign wohl ab dem ersten Einfügepunkt nur nach vorne und nicht zurück:
app.selection[0].textStyleRanges.firstItem().select(); Hier ein kleines Skriptbeispiel, mit dem man die Auswahl auf den aktuellen textStyleRange vom Anfang bis zum Ende ausdehnen kann (hilft mit öfters bei der Markierung etwa von kursiv oder mit Kapitälchen ausgezeichnetem Text oder Text mit einer bestimmten Sprache:
Mit diesem Skriptle bin ich in InDesign CS5 gescheitert, solange ich nur einen Einfügepunkt ausgewählt hatte, denn die Bedingung
app.selection[0].textStyleRanges.length <= 1; wird dann – nach meinen bisherigen Erfahrungen – nicht erfüllt, da ein Einfügepunkt in InDesign CS5 entweder keinen oder mehrere textStyleRanges zählt. ;-)
Freilich ist es möglich, bei den Bedingungen zu prüfen, ob die Auswahl von der Klasse insertionPoints ist und diesen aufgrund der Besonderheiten in InDesign CS5 ein besonderes Augenmerk zu schenken.
Hat jemand eine Idee, wie ein
insertionPoint in InDesign CS5 anders als in den früheren InDesign-Versionen in den Genuss von
mehreren textStyleRanges kommt?