Question Impossible de mettre un zéro après un aleph?


Moi et un ami plaisantait à propos d'aleph. En essayant de taper א 0 (changer ces 2 caractères), ils se sont changés! Toute séquence de symboles n'arrête pas cet effet. Pourquoi est-ce!??

Essayez de les taper avec le 0 et א inversé (c & p pour א):

א 0

א - 0

א \\\ 0

א -. / 0

Les mots les séparent cependant

Ob foobar 0

Je suis sur arch linux et je ne l'ai pas encore testé sur d'autres OS

EDIT: le nombre ne doit pas nécessairement être zéro. Cela fonctionne avec des nombres, mais pas des lettres.


143
2017-07-31 06:18


origine


Au premier abord, je pensais que tu étais fou. Il s'avère que c'est simplement un artefact de la façon dont les différentes directions de la langue sont utilisées. Bonne question!
Pour écrire du texte en hébreu, cet ordre a du sens. Sinon, il serait très ennuyeux de taper des choses comme ב-5 דקות (dans 5 minutes). - ugoren
@jamesqf: Et il y en a un, voir le post d'IllidanS4. - grawity
@jamesqf, les lettres hébraïques existent en Unicode pour écrire l'hébreu. Et j'ose dire que nous sommes plus nombreux à écrire l'hébreu (environ 7 millions) que ceux qui écrivent sur des cardinalités fixes. - ugoren
@ugoren par certains comptes, il y a 130 000 mathématiciens, mais en vérité, les mathématiques sont le langage universel, donc il y a vraiment ℵ₀. - Nick T


Réponses:


'א', 'HEBREW LETTER ALEF' (U + 05D0) a la classe BIDI (bidirectionnelle) "Right-to-Left [R]", car l'hébreu est traditionnellement écrit de droite à gauche. Les chiffres, par contre, ne sont pas associés à une direction spécifique. Par conséquent, tout le morceau d'aleph et de zéro est interprété comme étant de droite à gauche. Dans ce cas, le caractère suivant peut ne pas être nécessairement situé à droite du caractère précédent, comme le dictent les règles bidirectionnelles complexes d'Unicode.

Vous avez plusieurs options pour contourner ce problème.

  1. Vous pouvez utiliser 'ℵ', 'SYMBOLE ALEF' (U + 2135). C'est un symbole et a la propriété de gauche à droite: ℵ0.

  2. Au lieu du chiffre habituel 0, vous pouvez utiliser un caractère de type zéro avec une direction de gauche à droite, tel que '〇', 'NUMÉRO IDÉOGRAPHIQUE ZÉRO' (U + 3007).

  3. Le moyen le plus propre est d'utiliser le 'MARCHE GAUCHE À DROITE' (U + 200E) personnage (Wikipédia) après l'aleph: "א 0". C'est un caractère invisible de largeur zéro défini pour avoir une directionalité de gauche à droite. Ainsi, il a le même effet sur l’algorithme de disposition de texte bidirectionnel que l’insertion, par exemple, d’une lettre latine de gauche à droite après le א, sauf qu’aucune lettre visible n’y apparaîtra.


110
2017-07-31 10:48



Dans un contexte mathématique (ce à quoi je m'attends, U + 2135) est le bon caractère à utiliser. - cmbuckley
Vous devez être prudent avec les remplacements - où vous les placez dans le texte, il est important de les supprimer (en utilisant le caractère "formatage directionnel pop") U+202C) lorsque le contexte dans lequel vous souhaitez les faire fonctionner se termine. - J...
En outre, les caractères "override" sont en quelque sorte exagérés, "incorporation" est suffisante pour ce cas d'utilisation. Il y a aussi une nouvelle classe appelée "isoler", qui ne sait pas quelle est la différence dans cette situation. - Random832
Je recommande de permuter 2 et 3. - wizzwizz4
@ Random832 Tout cela est excessif. Tout ce dont vous avez vraiment besoin est un marque de gauche à droite (U + 200E) entre le alef et le zéro. De cette façon, vous n'avez pas non plus besoin de caractères "pop" supplémentaires. - Ilmari Karonen


Aleph (U + 05D0) est une lettre hébraïque, et l'hébreu est écrit de droite à gauche, donc Unicode lui attribue la classe bidirectionnelle "Droite à gauche". (Voir Unicode TR9: algorithme bidirectionnel pour plus de détails.)

Les lettres latines sont bien sûr "de gauche à droite". Cependant, zéro (U + 0030) est dans la classe bidirectionnelle "European Number", qui est un faible class - tandis que LtR par défaut, il peut passer à RtL s'il y a un caractère "fort" de droite à gauche avant lui. (Voir Types de caractères bidirectionnels et Résoudre les types faibles dans TR9.)

En conséquence, les directions de avant et après sont échangés pour le mot entier - si vous mettez le zéro "avant", il apparaîtra à droite; si vous écrivez le zéro "après", il apparaîtra à gauche.


197
2017-07-31 06:39



C'est un problème extrêmement courant dans un certain nombre d'éditeurs de texte et de sites Web lors de la saisie en hébreu - j'imagine que c'est également le cas pour d'autres langues de droite à gauche. C'est certainement mieux au fil du temps, mais imaginez que vous essayiez d'écrire un problème de mot - basculant entre les mots hébraïques (comme le caractère aleph) et les nombres (comme le caractère 0) ... - Jake
@Walt La plupart des manuels que j’ai vus sont du type «immersion», qui utilisent un hébreu extrêmement simple, mais à peu près entièrement hébreu. Il peut sembler contre-intuitif d'utiliser une langue pour enseigner la langue, mais cela permet un développement plus organique des compétences linguistiques. Vous pourriez voir une translittération ou une traduction en ligne (quelque chose comme lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/... - "Shalom Kita Aleph" = "Bonjour première année") - Jake
@Jake Ah, c'est logique. La seule langue étrangère que j'ai vraiment prise était le latin; nos manuels avaient tendance à être principalement anglais avec un seul morceau de texte latin pour déchiffrer chaque chapitre, jusqu’à ce que tout le format de classe passe de «apprendre le latin» à «traduire tout ce poème épique, un peu à la fois». l'année scolaire". - Walt
@Walt: Je pense qu'il peut y avoir un malentendu. Si je tape un mot latin (LTR), puis un mot hébreu (RTL), alors un autre mot latin, je peux librement les avoir tous dans une phrase, et seul le mot hébreu rend RTL. Tout est conçu pour s'intégrer facilement dans la même phrase. Le problème est que le nombre 0 est utilisé à la fois par les langages LTR et RTL, de sorte que le logiciel fait juste la même direction que la lettre précédente. S'il suit les caractères LTR, c'est LTR. S'il suit les lettres RTL, c'est RTL. Il est également nécessaire de l’échanger. fileformat.info/info/unicode/char/202d/index.htm - Mooing Duck
Le zéro ne devient pas RTL - il est toujours LTR, et une séquence de chiffres apparaîtra de gauche à droite, même avec l'hébreu qui l'entoure, mais les niveaux d'intégration interagissent de telle manière que le zéro apparaît à gauche de l'hébreu. Caractère hébreu le précédant dans l'ordre de la mémoire. (La bidirectionnalité Unicode est compliquée.) - user2357112


Peut-être, une meilleure façon d'y parvenir serait de:

echo -e "\u200F0א"

Et la référence xkcd obligatoire https://xkcd.com/1137/

‮LTR


18
2017-08-02 11:27





L'hébreu est écrit de droite à gauche - le caractère aleph porte l'information, le prochain caractère doit être imprimé la gauchede celui-ci.

Si vous vérifiez votre document par hex (ou déplacez le curseur dans votre texte avec les touches fléchées dans un éditeur approprié), vous remarquerez que vous obtenez d'abord l'alpeh, puis le chiffre.

I.e .: L'hypothèse "caractère suivant == caractère à droite" ne tient pas.


14
2017-07-31 06:36





Il est parfaitement possible d'avoir un zéro devant, comme le montre l'exemple suivant qui a été créé dans Notepad ++.

Alef with 0

Ce que vous voyez et devient également évident si vous essayez de marquer le caractère dans votre question, est-ce que l'hébreu est écrit de droite à gauche et (comme le 0 est directement connecté) le texte est traité de droite à gauche (au lieu de gauche) à droite).

Voir le deuxième exemple pour le problème que Firefox (de mon côté) a avec une sélection claire.

Firefox selecting a right to left text


14
2017-07-31 06:43



C'est un conseil terrible, car il joue à des jeux avec l'ordre réel des personnages afin d'obtenir un ordre visuel particulier. Les autres réponses expliquent pourquoi cela se produit et certaines incluent la bonne façon de le gérer (les marques de direction explicites et de substitution). - Dranon
Pourriez-vous indiquer où j'inclus un conseil? Je ne fais que montrer un exemple de ce qui se passe, qu’il est effectivement possible d’avoir un numéro de suffixe et de fournir des informations sur la raison pour laquelle cela se produit. - Seth


C'est possible:

א 0

א - 0

א \\ 0

א -. / 0

Ob foobar 0

(Cette réponse n'a pas répondu "pourquoi est-ce", comme cela a déjà été répondu par d'autres. Mais elle répond à la question dans le titre, "impossible à ...?")


3
2017-08-02 09:44



Mais cela ne répond pas non plus à HOW, et est donc presque inutile. - NH.


 א 0 0 א 0-א א -0

3
2017-08-06 17:00



L'OP était essayer d'utiliser aleph comme opérateur numérique, non? - grawity
Eh bien, ce n'était pas clair dans le post du tout. Dans tous les cas, la directivité ne devrait pas être pertinente. Aleph est utilisé en notation et possède une désignation de série infinie et infinie. Il devrait être dirigé de gauche à droite, car toutes les mathématiques sont laissées à droite, quelle que soit la langue utilisée. Cependant, l'utilisation de aleph comme un caractère en hébreu est orientée de droite à gauche. - Danny F