Hallo faxinger,
ich hätte da noch einen Ansatz, der ohne eine Verankerung auskommt.
1. Wandle jede Fundstellen in eine Outline als Duplikat.
Also Schleife durch die Fundstellen mit Zähler n . Innerhalb der Schleife dann:
Warum die [0] ? Weil createOutlines ein Array zurückgibt. Ich gehe hier mal von einer Länge 1 aus.
2. Zeichne im Spread der Outline (das ist der parent von outline) eine graphicLine mit den geometricBounds der Outline. Das gelingt am besten, wenn Du die Eigenschaft
rulerOrigin der
viewPreferences des Dokuments auf
RulerOrigin.SPREAD_ORIGIN stellst.
An dieser Stelle kannst Du auch Werte für
strokeWeight und
strokeColor mitgeben. Vielleicht auch noch einen Wert für
itemLayer, damit die
graphicLine auf eine gesonderte Ebene gelangt.
3. Um von links unten nach rechts oben zu zeichnen, kannst Du den
entirePath umdefinieren:
Dann kannst Du das Objekt aus 1. wieder löschen:
Da wir hier kein konkretes Beispiel sehen, ist es etwas schwierig zu entscheiden, ob mein Vorschlag taugt, um von "Grundlinie" zu "Versalhöhe" zu zeichnen. Je nach Typografie der Preise sind "Versalhöhe" und "Grundlinie" vielleicht weniger geeignet.
Bedenke auch, was passieren soll, wenn gefundener Text in Übersatz steht.
Mit
horizontalOffset eines der insertionPoints eines gefundenen Texts würde ich übrigens nicht arbeiten. Das ist nicht exakt genug an der Form des Texts dran. Kann sich sogar
im Text befinden, wenn mit Unterschneidung gearbeitet wurde.