¿Imposible poner un cero después de un aleph?

144

Yo y un amigo bromeábamos sobre Aleph's. ¡Al intentar escribir א 0 (cambiar esos 2 caracteres), se cambiaron ellos mismos! Cualquier secuencia de símbolos no detiene este efecto. ¿¿¡Por qué es esto!??

Intente escribirlos con el 0 y א invertido (c & p para א):

א 0

א - 0

א \\\ 0

א -. / 0

Sin embargo, las palabras las separan

א foobar 0

Estoy en Arch Linux y aún no he probado esto en ningún otro sistema operativo

EDITAR: El número no tiene que ser cero. Funciona con números, pero no con letras.

Gman Smith
fuente
14
A primera vista pensé que estabas loco. Resulta que es simplemente un artefacto de cómo se usan las diferentes direcciones del idioma. Gran pregunta!
66
Para escribir texto hebreo, este orden tiene sentido. De lo contrario, sería muy molesto escribir cosas como ב-5 דקות(en 5 minutos).
ugoren
77
@jamesqf: Y hay uno, mira la publicación de IllidanS4.
Grawity
28
@jamesqf, existen letras hebreas en Unicode para escribir hebreo. Y me atrevo a decir que hay más de nosotros que escribimos en hebreo (aproximadamente 7 millones) que aquellos que escriben sobre cardinalidades establecidas.
ugoren
27
@ugoren, según algunos cálculos, hay 130k matemáticos , pero en verdad, las matemáticas son el lenguaje universal, por lo que realmente hay ℵ₀.
Nick T

Respuestas:

111

'א', 'HEBREW LETTER ALEF' (U + 05D0) tiene la clase BIDI (bidireccional) "de derecha a izquierda [R]", porque el hebreo se escribe tradicionalmente de derecha a izquierda. Los dígitos, por otro lado, no tienen una direccionalidad específica asignada a ellos, por lo que todo el fragmento de aleph y zero se interpreta como de derecha a izquierda. En este caso, el siguiente carácter puede no estar necesariamente ubicado a la derecha del carácter anterior, como lo dictan las reglas bidireccionales bastante complejas de Unicode.

Tiene varias opciones para solucionar este problema.

  1. Puede usar 'ℵ', 'SÍMBOLO ALEF' (U + 2135) . Es un símbolo y tiene la propiedad de izquierda a derecha: ℵ0.

  2. En lugar del dígito habitual 0, puede usar un carácter similar a cero con direccionalidad de izquierda a derecha, como '〇', 'NÚMERO IDEOGRÁFICO CERO' (U + 3007) .

  3. La forma más limpia es usar el carácter 'MARCA DE IZQUIERDA A DERECHA' (U + 200E) ( Wikipedia ) después del aleph: "א 0". Este es un carácter invisible de ancho cero que se define para tener direccionalidad de izquierda a derecha. Por lo tanto, tiene el mismo efecto en el algoritmo de diseño de texto bidireccional que insertar, por ejemplo, una letra latina de izquierda a derecha después de א, excepto que no aparecerá ninguna letra visible allí.

IllidanS4
fuente
69
En un contexto matemático (que espero que sea), U + 2135 es el carácter correcto para usar.
cmbuckley
10
Debe tener cuidado con las anulaciones: cuando las coloca en el texto, es importante eliminarlas (utilizando el carácter de "formato direccional pop" U+202C) cuando se completa el contexto en el que desea que operen.
J ...
44
Además, los caracteres de "anulación" son una especie de exageración, "incrustar" es suficiente para este caso de uso. También hay una nueva clase llamada "aislar", no estoy seguro de cuál es la diferencia en esta situación.
Random832
44
Recomiendo intercambiar 2 y 3.
wizzwizz4
10
@ Random832 Todos esos son excesivos. Todo lo que realmente necesita es una marca de izquierda a derecha (U + 200E) entre el alef y el cero. De esa manera, tampoco necesitas ningún personaje "pop" adicional.
Ilmari Karonen
198

Aleph ( U + 05D0 ) es una letra hebrea, y el hebreo se escribe de derecha a izquierda, por lo que Unicode le asigna la clase bidireccional "de derecha a izquierda". (Ver Unicode TR9: Algoritmo bidireccional para más detalles).

Las letras latinas son, por supuesto, "de izquierda a derecha". Sin embargo, cero ( U + 0030 ) está en la clase bidireccional "Número europeo", que es una clase débil , mientras que LtR por defecto, puede cambiar a RtL si hay un carácter "fuerte" de derecha a izquierda delante de él. (Consulte Tipos de caracteres bidireccionales y Resolución de tipos débiles en TR9).

Como resultado, las direcciones de antes y después se intercambian por la palabra completa: si coloca el cero 'antes', aparecerá a la derecha; si escribes el cero 'después' de aleph, aparecerá a la izquierda.

Gravedad
fuente
14
Este es un problema extremadamente común en varios editores de texto y sitios web al escribir en hebreo; me imagino que también es cierto para otros idiomas de derecha a izquierda. Ciertamente ha mejorado con el tiempo, pero imagínese tratando de escribir un problema de palabras, alternando entre palabras hebreas (como el carácter aleph) y números (como el carácter 0) repetidamente ...
Jake
3
@Walt La mayoría de los libros de texto que he visto son del tipo "inmersión", que usan un hebreo extremadamente simple pero casi completamente hebreo. Puede parecer contra-intuitivo usar un idioma para enseñar el idioma, pero permite una acumulación más orgánica de habilidades lingüísticas. Es posible que vea una transliteración o traducción en línea (algo así como lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/… - "Shalom Kita Aleph" = "Hola primer grado")
Jake
1
@Jake Ah, eso tiene sentido. El único idioma extranjero que realmente tomé fue el latín; nuestros libros de texto solían ser en su mayoría en inglés con un solo fragmento de texto en latín para descifrar cada capítulo, hasta que el formato completo de la clase cambió de "aprender latín" a "traducir todo este poema épico, poco a poco, a lo largo del curso de el año escolar".
Tin Man
55
@Walt: Creo que puede haber un malentendido. Si escribo una palabra latina (LTR), luego una palabra hebrea (RTL), luego otra palabra latina, puedo tenerlas todas libremente en una oración, y solo la palabra hebrea representa RTL. Todo está diseñado para encajar fácilmente en la misma oración. El problema es que el número 0es utilizado por los lenguajes LTR y RTL, por lo que el software solo lo hace en la misma dirección que la letra anterior. Si sigue caracteres LTR, es LTR. Si sigue letras RTL, es RTL. También hay anulaciones para cambiarlo. fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck
44
El cero no se está convirtiendo en RTL: sigue siendo LTR, y una secuencia de dígitos se mostrará de izquierda a derecha incluso con hebreo alrededor, pero los niveles de incrustación interactúan de tal manera que el cero aparece a la izquierda del Carácter hebreo que lo precede en orden de memoria. (La bidireccionalidad Unicode es complicada.)
user2357112
20

Quizás, una mejor manera de lograr esto sería:

echo -e "\u200F0א"

Y la referencia obligatoria de xkcd https://xkcd.com/1137/

LTR

wvxvw
fuente
14

Es perfectamente posible tener un cero al frente como se muestra en el siguiente ejemplo que se realizó en Notepad ++.

Alef con 0

Lo que está viendo y también se hace evidente si intenta marcar el carácter en su pregunta, es que el hebreo se escribe de derecha a izquierda y (como el 0 está directamente conectado) el texto se maneja de derecha a izquierda (en lugar de izquierda a la derecha) de manera.

Vea el segundo ejemplo para el problema que Firefox (por mi parte) tiene con una selección clara.

Firefox seleccionando un texto de derecha a izquierda

Seth
fuente
17
Este es un consejo terrible, porque juega juegos con el orden real de los personajes para obtener un orden visual particular. Las otras respuestas explican por qué ocurre esto y algunas incluyen la forma correcta de tratarlo (la anulación y las marcas de dirección explícitas).
Dranon
8
¿Podría indicar dónde incluyo algún tipo de consejo? Simplemente estoy mostrando un ejemplo de lo que sucede, que de hecho es posible tener un número de sufijo y proporcionar información sobre por qué sucede como sucede.
Seth
13

El hebreo se escribe de derecha a izquierda; esto hace que el carácter aleph lleve la información, que el siguiente carácter debe imprimirse a la izquierda .

Si comprueba su documento en hexadecimal (o mueve el cursor a través de su texto con las teclas de flecha en un editor adecuado), notará que primero llega al alpeh, luego al dígito.

Es decir: la suposición "siguiente carácter == carácter a la derecha" no se cumple.

Eugen Rieck
fuente
3
א 0 0 א 0-א א -0

El problema es dónde haces esto y la implementación. Para obtener el comportamiento del número hebreo, todos los caracteres deben estar en direccionalidad de derecha a izquierda. En HTML / CSS que es:

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

En el sistema operativo, el hebreo y la bidireccionalidad deben estar habilitados.

Las soluciones alternativas al sugerir el uso de otros personajes como sustitutos, anula el propósito de Unicode. El aleph como operador matemático puede verse igual en algunos conjuntos de caracteres, pero es un carácter completamente diferente al aleph hebreo, tanto en contexto como en cómo se analizará. Por ejemplo, un hablante / computadora nativo de hebreo no lo procesará correctamente si se usa junto con una palabra hebrea. Los números y los caracteres no alfa son un problema cuando no se les da la misma codificación direccional que los caracteres alfa. Por lo tanto, irónicamente, los números en sí mismos, aunque aparentemente deberían ser independientes de un conjunto de caracteres / direccionalidad, tomar cualquier direccionalidad unicode de la letra anterior. Así, en un documento hebreo, los números se vuelven 'hebraizados', es decir, direccionalmente como el hebreo. Mientras que un documento inglés-latín,

Danny F
fuente
El OP estaba tratando de usar aleph como operador numérico, ¿no?
Grawity
Bueno, no estaba claro en la publicación en absoluto. En cualquier caso, la direccionalidad no debería ser relevante. Aleph se usa en notación de conjunto y tiene una designación de serie infinita e infinita. Debería direccionalmente de izquierda a derecha, ya que todas las matemáticas se dejan de derecha a derecha, independientemente del idioma que esté utilizando. Sin embargo, el uso de aleph como carácter en hebreo se establece direccionalmente de derecha a izquierda.
Danny F
2

Es posible:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Esta respuesta no respondió "por qué es esto", ya que otros ya la respondieron. Pero sí responde a la pregunta en el título, "imposible de ...?")

usuario23013
fuente
77
Pero tampoco responde CÓMO, por lo que es casi inútil.
NH.