Ich bin der Unicode-Mailingliste beigetreten, um eine Ergänzung zu Unicode vorzuschlagen, die in Fällen wie diesem eine Lösung wäre. Eine der Antworten, die ich erhielt, war diese:
(Ich:) Das Problem ist, dass diese Ersetzung (soweit ich weiß) außerhalb jedes Rendering-Kontexts erfolgt, wenn der Text nur eine Zeichencode-Sequenz ist. Es ist nicht sinnvoll zu wissen, in welche Richtung der Text geht. Manchmal ist es völlig unmöglich, wenn die Textrichtung vom Kontext abhängt, der zum Zeitpunkt der Ersetzung nicht verfügbar ist.
Das oben Gesagte ist streng genommen ungenau. Jedes ernsthafte Text-Rendering heutzutage erfordert eine Shaping-Engine wie HarfBuzz, und die Ligatur von „->“ in „→“ würde von einem solchen Shaper in Zusammenarbeit mit einer Schriftart, die Ligaturen unterstützt, durchgeführt werden. Die Shaping-Engine ist sich des bidi-Kontexts und des Skripts des von ihr geformten Textes bewusst und könnte daher im Prinzip den Pfeil spiegeln.
Sie sprechen von etwas wie diesem: GitHub - tonsky/FiraCode: Free monospaced font with programming ligatures
Erwägen Sie den Wechsel zum Ligaturenansatz anstelle einer blinden Zeichenersetzung. Ein weiterer vorteilhafter Vorteil wäre, dass beim Kopieren und Einfügen der Text immer noch „->“ anstelle eines Pfeils wäre.
Ich habe mich nicht mit den technischen Details der Implementierung befasst, das überlasse ich Ihnen, wenn Sie sich für diese Lösung entscheiden.
Bearbeiten: Nun, wenig überraschend, Fira Text ist insbesondere nicht für RTL konzipiert, daher ist das Rendering nicht optimal – aber zumindest zeigt es in die richtige Richtung! https://fonts.google.com/specimen/Fira+Code?preview.text=A%20->%20B,%20א%20->%20ב
Firefox:
Ich bin mir nicht sicher, ob es heute eine Schriftart gibt, die dies korrekt tut und explizit RTL/bidi unterstützt.
