Falsch - Pfeilrichtung in RTL-Textkontexten

Sie verwenden im Alltag keine von rechts nach links geschriebene Sprache, oder? An dem, was Sie beschrieben haben, gibt es keinen Fehler. Es gibt eine gewisse Mehrdeutigkeit in dem, was Sie gesagt haben, daher werde ich, um Verwirrung zu vermeiden, zuerst auf den zweiten Teil Ihres Kommentars eingehen.

Das ist genau so, wie es sein soll. Denken Sie darüber so nach:

Das Zeichen > bedeutet wörtlich „größer als“. Der String „A > B“ bedeutet „A ist größer als B“.

Ähnlich würde ich, um zu sagen „א ist größer als ב“, „ist größer als“ durch dasselbe Größer-als-Zeichen mit demselben Code U+003E ersetzen. Da der String jedoch vollständig von rechts nach links geschrieben wird, erscheint „א“ rechts von „ב“. Wenn das „Größer-als“-Zeichen wie in LTR gerendert würde, würde es angezeigt: א<ב, was „א ist kleiner als ב“ oder „ב ist größer als א“ bedeutet – die exakt entgegengesetzte Beziehung zu der beschriebenen.

Deshalb wird beim Rendern des Größer-als-Zeichens dieses visuell gespiegelt, wenn es in RTL steht. Aber das zugrunde liegende Zeichen und die dahinter stehenden Unicode-Daten sind immer noch das „Größer-als“-Symbol. Der String bedeutet immer noch „א ist größer als ב“.

Nun zurück zu Ihrer ersten Frage:

Wenn Sie Ihr Tastaturlayout auf eine von rechts nach links geschriebene Sprache (wie Hebräisch oder Arabisch) umstellen, würde die Tastenkombination Umschalt + , (die Taste mit dem aufgedruckten <) tatsächlich das „Größer-als“-Zeichen > eingeben. Dies würde in einem RTL-Kontext wie in der von Ihnen gefundenen Suchleiste als ;> angezeigt werden.

[Bearbeiten: Der nächste Absatz wurde geschrieben, als ich leicht missverstanden habe, was Sie sagten, Sie hätten getestet. Ich dachte, Sie würden in eine RTL-Box mit einer LTR-Tastatur eingeben, während Sie tatsächlich das Gegenteil taten. Hoffentlich habe ich Ihre Verwirrung trotzdem erklärt.]

Aber Sie verwenden immer noch ein lateinisches Tastaturlayout. Wenn Sie also diese Tastenkombination drücken, wird ein „Kleiner-als“-Zeichen < eingefügt. Aber es wird als ;< angezeigt, weil es in RTL bedeutet, dass das, was rechts steht, kleiner ist als das, was links steht.

Fazit: Das Zeichen ist dasselbe, aber seine Darstellung wird gespiegelt.

Wenn Sie verstanden haben, was ich bisher gesagt habe, werden Sie verstehen, dass dies -< oder in RTL ;-< ergeben würde, was ich nicht erwarte, dass es das ist, was Sie meinten.

Habe ich es erfolgreich erklärt oder habe ich Sie nur noch mehr verwirrt?

1 „Gefällt mir“