Unmöglich, nach einem Aleph eine Null zu setzen?

144

Ich und ein Freund scherzten über Alephs. Beim Versuch, א 0 einzugeben (diese 2 Zeichen umzuschalten), haben sie sich selbst umgestellt! Eine beliebige Folge von Symbolen stoppt diesen Effekt nicht. Warum ist das!??

Versuchen Sie, diese mit der 0 und א umgekehrt einzugeben (c & p für א):

א 0

א - 0

א \\\ 0

א -. / 0

Wörter trennen sie jedoch

א foobar 0

Ich bin auf Arch Linux und habe dies noch nicht auf einem anderen Betriebssystem getestet

EDIT: Nummer muss nicht Null sein. Es funktioniert mit Zahlen, aber nicht mit Buchstaben.

Gman Smith
quelle
14
Auf den ersten Blick dachte ich, du wärst verrückt. Es stellt sich heraus, dass es nur ein Artefakt ist, wie verschiedene Sprachrichtungen verwendet werden. Gute Frage!
6
Für das Schreiben von hebräischem Text ist diese Reihenfolge sinnvoll. Andernfalls wäre es am ärgerlichsten, Dinge wie ב-5 דקות(in 5 Minuten) einzugeben.
Ugoren
7
@jamesqf: Und es gibt eine, siehe Beitrag von IllidanS4.
Grawity
28
@jamesqf, In Unicode gibt es hebräische Buchstaben zum Schreiben von Hebräisch. Und ich wage zu sagen, dass es mehr von uns gibt, die Hebräisch schreiben (etwa 7 Millionen) als diejenigen, die über festgelegte Kardinalitäten schreiben.
Ugoren
27
@ugoren In mancher Hinsicht gibt es 130.000 Mathematiker , aber in Wahrheit ist Mathematik die universelle Sprache, also gibt es wirklich ℵ₀.
Nick T

Antworten:

111

'א', 'HEBREW LETTER ALEF' (U + 05D0) hat die BIDI-Klasse (bidirektional) "Right-to-Left [R]", da Hebräisch traditionell von rechts nach links geschrieben wird. Den Ziffern hingegen ist keine bestimmte Richtung zugewiesen, sodass der gesamte Teil aus Aleph und Null als von rechts nach links interpretiert wird. In diesem Fall muss das folgende Zeichen nicht unbedingt rechts neben dem vorhergehenden Zeichen stehen, da die recht komplexen bidirektionalen Unicode-Regeln dies vorschreiben.

Sie haben mehrere Möglichkeiten, um dieses Problem zu umgehen.

  1. Sie können 'ℵ', 'ALEF SYMBOL' (U + 2135) verwenden . Es ist ein Symbol und hat die Eigenschaft von links nach rechts: ℵ0.

  2. Anstelle der üblichen Ziffer 0können Sie auch ein Null-ähnliches Zeichen mit einer Richtung von links nach rechts verwenden, z. B. '' ',' IDEOGRAPHIC NUMBER ZERO '(U + 3007) .

  3. Am saubersten ist die Verwendung des Zeichens "LINKS NACH RECHTS" (U + 200E) ( Wikipedia ) nach dem Buchstaben "א 0". Dies ist ein unsichtbares Zeichen mit der Breite Null, das so definiert ist, dass es von links nach rechts gerichtet ist. Auf den bidirektionalen Textlayout-Algorithmus hat dies dieselbe Auswirkung wie das Einfügen eines lateinischen Buchstabens von links nach rechts nach dem א, mit der Ausnahme, dass dort kein sichtbarer Buchstabe angezeigt wird.

IllidanS4
quelle
69
In einem mathematischen Kontext (was ich erwarte) ist U + 2135 das richtige Zeichen.
Cmbuckley
10
Sie müssen mit Überschreibungen vorsichtig sein - wo Sie sie in Text einfügen, ist es wichtig, sie zu entfernen (unter Verwendung des Zeichens "Pop-Directional-Formatierung" U+202C), wenn der Kontext, den Sie bearbeiten möchten, abgeschlossen ist.
J ...
4
Auch die "Override" -Zeichen sind eine Art Overkill, "Embedding" ist für diesen Anwendungsfall ausreichend. Es gibt auch eine neue Klasse namens "isolate", bei der der Unterschied in dieser Situation nicht klar ist.
Random832
4
Ich würde empfehlen, 2 und 3 zu
tauschen
10
@ Random832 Das sind alles Overkill. Alles, was Sie wirklich brauchen, ist eine Markierung von links nach rechts (U + 200E) zwischen dem Alef und der Null. Auf diese Weise brauchen Sie auch keine zusätzlichen "Pop" -Zeichen.
Ilmari Karonen
198

Aleph ( U + 05D0 ) ist ein hebräischer Buchstabe, und Hebräisch ist von rechts nach links geschrieben, sodass Unicode ihm die bidirektionale Klasse "Von rechts nach links" zuweist. (Weitere Informationen finden Sie unter Unicode TR9: Bidirektionaler Algorithmus .)

Lateinische Buchstaben sind natürlich "von links nach rechts". Null ( U + 0030 ) ist jedoch in der bidirektionalen Klasse "European Number", die eine schwache Klasse ist. Während LtR standardmäßig zu RtL wechseln kann, wenn ein "starkes" Zeichen von rechts nach links davor steht. (Siehe Bidirektionale Zeichentypen und Beheben schwacher Typen in TR9.)

Infolgedessen werden die Richtungen davor und danach für das gesamte Wort vertauscht. Wenn Sie die Null 'davor' setzen, wird sie rechts angezeigt. Wenn Sie die Null nach dem Buchstaben schreiben, wird sie links angezeigt.

Grawity
quelle
14
Dies ist ein äußerst häufiges Problem bei einer Reihe von Texteditoren und Websites, wenn Sie auf Hebräisch tippen. Ich kann mir vorstellen, dass dies auch für andere Sprachen von rechts nach links zutrifft. Es ist mit der Zeit sicherlich besser geworden, aber stellen Sie sich vor, Sie versuchen, ein Wortproblem zu schreiben - indem Sie wiederholt zwischen hebräischen Wörtern (wie dem Aleph-Zeichen) und Zahlen (wie dem 0-Zeichen) hin- und herschalten ...
Jake
3
@Walt Die meisten Lehrbücher, die ich gesehen habe, sind "Immersions" -Typen, die extrem einfaches Hebräisch verwenden, aber fast ausschließlich Hebräisch. Es mag kontraintuitiv erscheinen, eine Sprache zum Unterrichten der Sprache zu verwenden, aber es ermöglicht einen organischeren Aufbau von Sprachkenntnissen. Möglicherweise wird inline eine Transliteration oder Übersetzung angezeigt (so etwas wie "Hallo, erste Klasse")
Jake
1
@Jake Ah, das macht Sinn. Die einzige Fremdsprache, die ich wirklich nahm, war Latein; Unsere Lehrbücher bestanden in der Regel aus Englisch und enthielten einen Teil des lateinischen Textes, um jedes Kapitel zu entschlüsseln, bis das gesamte Klassenformat im Laufe des Jahres von "lateinisch lernen" auf "dieses ganze epische Gedicht Stück für Stück übersetzen" umgestellt wurde das Schuljahr".
Tin Man
5
@Walt: Ich denke es kann ein Missverständnis geben. Wenn ich ein lateinisches (LTR) Wort eingebe, dann ein hebräisches (RTL) Wort, dann ein anderes lateinisches Wort, kann ich sie alle frei in einem Satz haben, und nur das hebräische Wort gibt RTL wieder. Es ist alles so konzipiert, dass es leicht in denselben Satz passt. Das Problem ist, dass die Nummer 0sowohl von LTR- als auch von RTL-Sprachen verwendet wird und die Software sie daher in dieselbe Richtung wie den vorherigen Buchstaben führt. Wenn es auf LTR-Zeichen folgt, ist es LTR. Wenn es RTL-Buchstaben folgt, ist es RTL. Es gibt auch Überschreibungen, um es zu tauschen. fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck
4
Die Null wird nicht zu RTL - es ist immer noch LTR und eine Folge von Ziffern wird von links nach rechts angezeigt, auch wenn Hebräisch in der Nähe ist. Die Einbettungsebenen interagieren jedoch so, dass die Null links von angezeigt wird Hebräisches Zeichen in Speicherreihenfolge davor. (Unicode-Bidirektionalität ist kompliziert.)
user2357112
20

Ein besserer Weg, dies zu erreichen, wäre vielleicht:

echo -e "\u200F0א"

Und die obligatorische xkcd-Referenz https://xkcd.com/1137/

LTR

wvxvw
quelle
14

Es ist durchaus möglich, eine Null voranzustellen, wie im folgenden Beispiel gezeigt, das in Notepad ++ erstellt wurde.

Alef mit 0

Was Sie sehen und auch erkennen, wenn Sie versuchen, das Zeichen in Ihrer Frage zu markieren, ist, dass Hebräisch von rechts nach links geschrieben ist und (da die 0 direkt verbunden ist) der Text von rechts nach links (anstelle von links) behandelt wird nach rechts).

Siehe das zweite Beispiel für die Probleme, die Firefox (an meinem Ende) mit einer klaren Auswahl hat.

Firefox wählt einen Text von rechts nach links aus

Seth
quelle
17
Dies ist ein schrecklicher Rat, da Spiele mit der tatsächlichen Reihenfolge der Charaktere gespielt werden, um eine bestimmte visuelle Reihenfolge zu erhalten. Die anderen Antworten erläutern, warum dies auftritt, und einige enthalten die richtige Vorgehensweise (das Überschreiben und explizite Richtungszeichen).
Dranon
8
Könnten Sie darauf hinweisen, wo ich eine Form von Beratung einbinde? Ich zeige nur ein Beispiel dafür, was passiert, dass es tatsächlich möglich ist, eine Nachsetzziffer zu haben und Informationen darüber zu geben, warum es so passiert.
Seth
13

Hebräisch wird von rechts nach links geschrieben - dadurch trägt das Aleph-Zeichen die Information, dass das nächste Zeichen links davon gedruckt werden soll .

Wenn Sie Ihr Dokument hexadezimal prüfen (oder den Cursor mit den Pfeiltasten in einem geeigneten Editor durch Ihren Text bewegen), werden Sie feststellen, dass Sie zuerst zur Alpe und dann zur Ziffer gelangen.

Dh: Die Annahme "nächstes Zeichen == Zeichen rechts" gilt nicht.

Eugen Rieck
quelle
3
א 0 0 א 0-א א -0

Das Problem ist, wo Sie dies tun und die Implementierung. Um ein Verhalten mit hebräischen Zahlen zu erzielen, müssen alle Zeichen von rechts nach links gerichtet sein. In HTML / CSS ist das:

<p style="direction:rtl"> א0 0א 0-א א-0 </p>

Im Betriebssystem müssen Hebräisch und Bidirektionalität aktiviert sein.

Die Problemumgehung, die die Verwendung anderer Zeichen als Ersatz vorschlägt, macht den Zweck von Unicode zunichte. Das Aleph als mathematischer Operator mag in einigen Zeichensätzen gleich aussehen, ist jedoch ein völlig anderes Zeichen als das hebräische Aleph, sowohl im Kontext als auch in der Art und Weise, wie es analysiert wird. Beispielsweise wird ein Hebräisch-Muttersprachler / Computer es nicht korrekt verarbeiten, wenn es in Verbindung mit einem Hebräisch-Wort verwendet wird. Zahlen und Nicht-Alpha-Zeichen sind ein Problem, wenn sie selbst nicht die gleiche Richtungscodierung wie die Alpha-Zeichen erhalten. Ironischerweise sollten also Zahlen selbst, obwohl sie scheinbar unabhängig von einem Zeichensatz / einer Direktionalität sein sollten, die Unicode-Direktionalität des vorhergehenden Buchstabens annehmen. So werden in einem hebräischen Dokument die Zahlen "hebräisch", dh gerichtet wie Hebräisch. Während ein englisch-lateinisches Dokument,

Danny F
quelle
Die OP wurde versucht Aleph als numerischer Operator zu verwenden, nicht wahr?
Grawity
Nun, es war in der Post überhaupt nicht klar. In jedem Fall sollte die Richtwirkung nicht relevant sein. Aleph wird in Mengenschreibweise verwendet und hat eine unendliche Serienbezeichnung. Es sollte von links nach rechts gerichtet sein, da die gesamte Mathematik von links nach rechts ausgerichtet ist, unabhängig davon, welche Sprache Sie verwenden. Die Verwendung von Aleph als Zeichen in Hebräisch ist jedoch von rechts nach links gerichtet.
Danny F
2

Es ist möglich:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Diese Antwort antwortete nicht "warum ist das", da dies bereits von anderen beantwortet wurde. Sie beantwortet jedoch die Frage im Titel "unmöglich zu ...?")

user23013
quelle
7
Es antwortet aber auch nicht auf WIE und ist daher fast unbrauchbar.
NH.