144 votes

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

Un ami et moi plaisantions sur les Aleph. En essayant de taper 0 (échanger ces 2 caractères), ils se sont échangés eux-mêmes ! Toute séquence de symboles n'empêche pas cet effet. Pourquoi cela ?

Essayez de les taper avec le 0 et l'inverse (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 d'autres systèmes d'exploitation.

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

196voto

James Mertz Points 390

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

Les lettres latines sont bien sûr "de gauche à droite". Cependant, le zéro ( U+0030 ) fait partie de la classe bidirectionnelle "Numéro européen", qui est un faible par défaut, elle peut passer en RtL si un caractère de droite à gauche "fort" la précède. _(Voir Types de caractères bidirectionnels y Résoudre les types faibles dans TR9)._

Par conséquent, les directions de avant y après sont intervertis 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.

109voto

IS4 Points 1370

'', 'LETTRE HÉBRAÏQUE ALEF' (U+05D0) a la classe BIDI (bidirectionnelle) "Right-to-Left [R]", car l'hébreu s'écrit traditionnellement de droite à gauche. Les chiffres, par contre, n'ont pas de directionnalité spécifique qui leur est assignée, et donc tout le morceau d'aleph et de zéro est interprété comme étant de droite à gauche. Dans ce cas, le caractère suivant n'est pas nécessairement situé à droite du caractère précédent, comme l'imposent les règles bidirectionnelles plutôt complexes d'Unicode.

Vous avez plusieurs possibilités pour contourner ce problème.

  1. Vous pouvez utiliser "", "SYMBOLE DE L'ALEF" (U+2135) . C'est un symbole et il 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 directionalité de gauche à droite, tel que "", "NUMÉRO IDÉOGRAPHIQUE ZÉRO" (U+3007) .

  3. Le moyen le plus propre est d'utiliser le MARQUE DE GAUCHE À DROITE (U+200E) le caractère ( Wikipedia ) après l'aleph : "0". Il s'agit d'un caractère invisible de largeur nulle qui est défini comme ayant une directionnalité de gauche à droite. Ainsi, il a le même effet sur l'algorithme de mise en page bidirectionnelle du texte que l'insertion, par exemple, d'une lettre latine de gauche à droite après le , sauf qu'aucune lettre visible n'apparaîtra à cet endroit.

21voto

wvxvw Points 846

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

echo -e "\u200F0"

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

‮LTR

14voto

Seth Points 8547

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

Alef with 0

Ce que vous voyez et qui devient également apparent si vous essayez de marquer le caractère dans votre question, c'est que l'hébreu s'é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 les problèmes que rencontre Firefox (de mon côté) avec une sélection claire.

Firefox selecting a right to left text

13voto

Eugen Rieck Points 19064

L'hébreu s'écrit de droite à gauche, ce qui fait que le caractère aleph porte l'information que le caractère suivant doit être imprimé. gauche d'elle.

Si vous vérifiez votre document en hexadécimal (ou si vous déplacez le curseur dans votre texte avec les touches fléchées d'un éditeur approprié), vous remarquerez que vous arrivez d'abord à l'alpeh, puis au chiffre.

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X