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.
ב-5 דקות
(en 5 minutos).Respuestas:
'א', '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.
Puede usar 'ℵ', 'SÍMBOLO ALEF' (U + 2135) . Es un símbolo y tiene la propiedad de izquierda a derecha: ℵ0.
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) .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í.
fuente
U+202C
) cuando se completa el contexto en el que desea que operen.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.
fuente
0
es 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.htmQuizás, una mejor manera de lograr esto sería:
Y la referencia obligatoria de xkcd https://xkcd.com/1137/
fuente
Es perfectamente posible tener un cero al frente como se muestra en el siguiente ejemplo que se realizó en Notepad ++.
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.
fuente
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.
fuente
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:
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,
fuente
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 ...?")
fuente