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

144

Moi et un ami plaisantions à propos d'Aleph. En essayant de taper 0 (commuter ces 2 caractères), ils se sont commutés eux-mêmes! Toute séquence de symboles n'arrête pas cet effet. Pourquoi est-ce!??

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

0

- 0

א \\\ 0

-. / 0

Les mots les séparent cependant

א foobar 0

Je suis sur arch Linux et je n'ai pas encore testé cela sur un autre système d'exploitation

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

Gman Smith
la source
14
À première vue, je pensais que tu étais fou. Il s'avère que c'est simplement un artefact de la façon dont différentes directions linguistiques sont utilisées. Bonne question!
6
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
7
@ jamesqf: Et il y en a un, voir le message d'IllidanS4.
Grawity
28
@jamesqf, des lettres hébraïques existent en Unicode pour écrire en hébreu. Et j'ose dire que nous sommes plus nombreux à écrire l'hébreu (environ 7 millions) que ceux qui écrivent sur les cardinalités des ensembles.
ugoren le
27
@ugoren selon certains comptes, il y a 130 000 mathématiciens , mais en vérité, les mathématiques sont la langue universelle, donc il y a vraiment.
Nick T

Réponses:

111

'א', 'HEBREW LETTER ALEF' (U + 05D0) a la classe BIDI (bidirectionnelle) "Right-to-Left [R]", parce que l'hébreu est traditionnellement écrit de droite à gauche. Les chiffres, en revanche, ne sont associés à aucune directionnalité spécifique, de sorte que l'ensemble du bloc aleph et zéro est interprété comme étant de droite à gauche. Dans ce cas, le caractère suivant ne se trouve pas nécessairement à droite du caractère précédent, comme le dictent les règles bidirectionnelles plutôt complexes de Unicode.

Vous avez plusieurs options pour contourner ce problème.

  1. Vous pouvez utiliser les symboles 'ℵ', 'ALEF SYMBOL' (U + 2135) . C'est un symbole qui 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 directionnalité de gauche à droite, tel que '', 'NUMÉRO IDÉOGRAPHIQUE ZÉRO' (U + 3007) .

  3. La méthode la plus propre consiste à utiliser le caractère ' Wikipedia ( gauche à gauche)' (U + 200E ) après le pseudonyme: "א 0". Il s'agit d'un caractère invisible de largeur zéro défini comme ayant une directionnalité de gauche à droite. Ainsi, cela a le même effet sur l’algorithme de disposition de texte bidirectionnel que l’insertion d’une lettre latine de gauche à droite après le, sauf qu’aucune lettre visible n’y figurera.

IllidanS4
la source
69
Dans un contexte mathématique (ce qui est probablement le cas), U + 2135 est le caractère correct à utiliser.
cmbuckley
10
Vous devez faire attention avec les substitutions - lorsque 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 que vous souhaitez utiliser est terminé.
J ...
4
En outre, les caractères "de substitution" sont un peu excessifs, "l'incorporation" est suffisante pour ce cas d'utilisation. Il y a aussi une nouvelle classe appelée "isoler", ne sachant pas quelle est la différence dans cette situation.
Random832
4
Je recommanderais d'échanger 2 et 3.
wizzwizz4
10
@ Random832 Tout cela est exagéré. Tout ce dont vous avez réellement besoin est un repère de gauche à droite (U + 200E) entre le alef et le zéro. De cette façon, vous n’avez pas besoin de caractères "pop" supplémentaires non plus.
Ilmari Karonen le
198

Aleph ( U + 05D0 ) est une lettre en hébreu. L'hébreu est écrit de droite à gauche. Unicode lui attribue la classe bidirectionnelle "De droite à gauche". (Voir Unicode TR9: Algorithme bidirectionnel pour plus de détails.)

Les lettres latines sont bien sûr "Gauche à droite". Cependant, zéro ( U + 0030 ) appartient à la classe bidirectionnelle "Numéro européen", qui est une classe faible - alors que LtR par défaut, elle peut basculer sur RtL si un caractère "fort" de droite à gauche est présent. (Voir Types de caractères bidirectionnels et Résolution des types faibles dans TR9.)

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

Grawity
la source
14
C'est un problème extrêmement courant dans un certain nombre d'éditeurs de texte et de sites Web lors de la frappe en hébreu - j'imagine que c'est également vrai pour les autres langues de droite à gauche. Cela s'est certainement amélioré avec le temps, mais imaginez essayer d'écrire un problème de mots - basculer de manière répétée entre les mots hébreux (comme le caractère Aleph) et les nombres (comme le caractère 0) à plusieurs reprises ...
Jake
3
@Walt La plupart des manuels scolaires que j'ai vus sont du type "immersion", qui utilise un hébreu extrêmement simple mais presque entièrement hébreu. Il peut sembler contre-intuitif d’utiliser une langue pour l’enseigner, mais cela permet une accumulation plus organique de compétences linguistiques. Vous pouvez voir une translittération ou une traduction en ligne (quelque chose comme lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/… - "Shalom Kita Aleph" = "Hello First Grade")
Jake
1
@ Jake Ah, c'est logique. La seule langue étrangère que j'ai vraiment choisie était le latin; nos manuels étaient généralement en anglais avec un seul bloc de texte latin pour déchiffrer chaque chapitre, jusqu'à ce que le format de la classe entière passe de "apprendre le latin" à "traduire ce poème épique en entier, petit à petit, au cours de l'année scolaire".
Tin Man
5
@Walt: Je pense qu'il peut y avoir un malentendu. Si je tape un mot latin (LTR), puis un mot hébreu (RTL), puis 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 numéro 0est utilisé à la fois par les langues LTR et RTL et que le logiciel le fait simplement dans le même sens que la lettre précédente. S'il suit des caractères LTR, c'est LTR. Si cela suit les lettres RTL, c'est RTL. Il y a aussi des substitutions pour l'échanger. fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck le 31/07/17
4
Le zéro ne devient pas RTL - c'est toujours LTR, et une séquence de chiffres s'affichera de gauche à droite même en hébreu, mais les niveaux d'incrustation interagissent de manière à ce que le zéro apparaisse à gauche de l'écran. Caractère hébreu le précédant dans l'ordre de la mémoire. (La bidirectionnalité Unicode est compliquée.)
utilisateur2357112
14

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

Alef avec 0

Ce que vous voyez et devient aussi évident si vous essayez de marquer le caractère dans votre question, est 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) manière.

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

Firefox sélectionnant un texte de droite à gauche

Seth
la source
17
C'est un conseil terrible, car il joue aux jeux avec l'ordre 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 repères de substitution et explicites).
Dranon
8
Pourriez-vous préciser où j'inclus une forme de conseil? Je ne fais que montrer un exemple de ce qui se passe, du fait qu’il est effectivement possible d’avoir un suffixe numérique et de donner des informations sur les raisons pour lesquelles cela se produit.
Seth
13

L'hébreu est écrit de droite à gauche - le caractère aleph est alors porté par l'information, le caractère suivant doit être imprimé à gauche .

Si vous vérifiez votre document au format hexadécimal (ou déplacez le curseur sur votre texte avec les touches de direction dans un éditeur approprié), vous remarquerez que vous accédez d'abord à l'alpeh, puis au chiffre.

C'est-à-dire que l'hypothèse "caractère suivant == caractère à droite" ne tient pas.

Eugen Rieck
la source
3
0 0 0--0

La question est où vous faites cela, et la mise en œuvre. Pour obtenir un comportement de nombre hébreu, tous les caractères doivent être dans la direction de droite à gauche. En HTML / CSS c'est:

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

Dans le système d'exploitation, l'hébreu et la bidirectionnalité doivent être activés.

Les solutions de contournement en suggérant l'utilisation d'autres caractères en tant que substituts annulent l'objectif d'Unicode. Aleph en tant qu'opérateur mathématique peut sembler identique dans certains jeux de caractères, mais est un caractère totalement différent de l'hébreu aleph, à la fois dans son contexte et dans la façon dont il sera analysé. Par exemple, un locuteur / ordinateur natif de l'hébreu ne le traitera pas correctement s'il est utilisé conjointement avec un mot hébreu. Les chiffres et les caractères non alpha constituent un problème lorsqu'ils ne reçoivent pas le même codage directionnel que les caractères alpha. Ainsi, ironiquement, les nombres eux-mêmes devraient, semble-t-il, être indépendants d'un ensemble de caractères / d'une directionnalité, prendre toute directionnalité unicode de la lettre précédente. Ainsi, dans un document en hébreu, les nombres deviennent «hébraïques», c'est-à-dire directionnellement comme l'hébreu. Considérant qu'un document anglais-latin,

Danny F
la source
L'OP a été d' essayer d'utiliser aleph comme opérateur numérique, non?
Grawity
Eh bien, ce n'était pas clair dans le post. Dans tous les cas, la directionnalité ne devrait pas être pertinente. Aleph est utilisé dans la notation d'ensemble et possède une désignation de série infinie, infinie. Il devrait être orienté de gauche à droite puisque toutes les maths sont laissées de droite à droite quelle que soit la langue utilisée. Cependant, l’utilisation de Aleph comme personnage en hébreu est orientée de droite à gauche.
Danny F
2

C'est possible:

0

- 0

א \\ 0

-. / 0

א 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 cela répond à la question dans le titre, "impossible de ...?")

utilisateur23013
la source
7
Mais cela ne répond pas non plus à COMMENT, et est donc presque inutile.
NH.