Das oben beschriebene Verhalten ist vom Design her korrekt und stimmt mit der Implementierung der bidirektionalen Textunterstützung überein.
Erstens eine Lösung für Ihre Anforderung, wie ich sie verstehe.
Wenn Sie diese RTL-Beispiele mit einem Präfix und Suffix umschließen möchten und sie rechts und links von Ihrem ursprünglichen hervorgehobenen Text visuell erscheinen lassen möchten, können Sie ein RLM-Steuerzeichen nach dem Präfix platzieren, und es verhält sich wie gewünscht.
Sie können ein RLM hinzufügen, indem Sie im Dialogfeld "Suchen / Ersetzen" auf die Schaltfläche "Spezial" klicken und auswählen RTL Mark
. Sie können auch einfach ^r
manuell eingeben. Ich werde die Texte verwenden PRE
und POST
(anstelle der XXX
in Ihren Beispielen):
Wenn Sie diesen "Ersetzen durch" -Text mit einem Ihrer RTL-Beispiele verwenden:
Dann erhalten Sie dieses Ergebnis, das meiner Meinung nach das Ergebnis ist, das Sie gesucht haben:
Also was passiert gerade?
In Ihren RTL-Beispielen haben Sie einen Text, der aus zwei Teilen oder zwei "Richtungsläufen" besteht. Der erste ist ein LTR-Lauf (der "abcd" -Teil) und der zweite ist ein RTL-Lauf (der hebräische "אאא" -Teil), alles innerhalb eines Absatzes, der eine RTL-Basisrichtung hat.
Wenn Sie ein LTR-Präfix (das erste "XXX" in Ihrem Ersetzungsbeispiel) zum LTR-Lauf hinzufügen, machen Sie diesen Lauf nur etwas länger, beispielsweise fügen Sie dem ersten Wort ein paar Buchstaben hinzu. Da LTR-Läufe von links nach rechts gezeichnet werden, erscheinen diese neuen Zeichen dort, wo sie sollen. Wenn Sie anstelle von "abcd" das Wort "stand" verwendet und dann das Präfix "UNDER" hinzugefügt haben, wäre das resultierende Wort "UNDERstand" (nicht "standUNDER").
Um mit solchen Situationen zurechtzukommen und einige Unklarheiten manuell zu lösen, stellt Unicode "Steuerzeichen" bereit, bei denen es sich um unsichtbare Marken handelt, die jeweils ihre eigene Rolle oder Wirkung haben.
Die Rechts-nach-Links-Markierung (RLM) verhält sich wie ein RTL-Zeichen (stellen Sie sich einen Buchstaben mit der Zeichenbreite "א" mit Nullbreite vor). Wenn wir dieses Zeichen direkt nach unserem Präfix platzieren, unterbrechen wir effektiv den oben beschriebenen LTR-Lauf mit einem hebräischen Zeichen. Jetzt wird der Text nach Bedarf visuell dargestellt, wobei das Präfix zuerst am rechten Rand erscheint, dann unser unsichtbares hebräisches Zeichen und dann das ursprüngliche "abcd".