Impossibile mettere uno zero dopo un aleph?


144

Io e un amico stavamo scherzando su di aleph. Dopo aver provato a digitare א 0 (scambia quei 2 caratteri), si sono scambiati! Qualsiasi sequenza di simboli non ferma questo effetto. Perchè è questo!??

Prova a digitare questi con 0 e א invertiti (c & p per א):

א 0

א - 0

א \\\ 0

א -. / 0

Le parole tuttavia li separano

א foobar 0

Sono su Arch Linux e non l'ho ancora testato su nessun altro SO

EDIT: il numero non deve essere zero. Funziona con i numeri, ma non con le lettere.


14
A prima vista pensavo fossi pazzo. Si scopre che è semplicemente un artefatto di come vengono utilizzate le diverse direzioni linguistiche. Ottima domanda!

6
Per la scrittura di testo ebraico, questo ordine ha senso. Altrimenti sarebbe molto fastidioso digitare cose come ב-5 דקות(in 5 minuti).
Ugoren,

7
@jamesqf: E ce n'è uno, vedi il post di IllidanS4.
Grawity

28
@jamesqf, esistono lettere ebraiche in Unicode per scrivere l'ebraico. E oso dire che ci sono più di noi che scrivono l'ebraico (circa 7 milioni) di quelli che scrivono di cardinalità prestabilite.
ugoren,

27
@ugoren da alcuni punti ci sono 130k matematici , ma in verità la matematica è il linguaggio universale, quindi c'è davvero ℵ₀.
Nick T

Risposte:


111

'א', 'HEBREW LETTER ALEF' (U + 05D0) ha la classe BIDI (bidirezionale) "Da destra a sinistra [R]", perché l'ebraico è tradizionalmente scritto da destra a sinistra. Le cifre, d'altra parte, non hanno una direzionalità specifica assegnata a loro, e quindi l'intero pezzo di aleph e zero viene interpretato come da destra a sinistra. In questo caso, il seguente carattere potrebbe non trovarsi necessariamente a destra del carattere precedente, come impongono le regole bidirezionali piuttosto complesse di Unicode.

Sono disponibili diverse opzioni per aggirare questo problema.

  1. Puoi usare 'ℵ', 'ALEF SYMBOL' (U + 2135) . È un simbolo e ha la proprietà da sinistra a destra: ℵ0.

  2. Invece della solita cifra 0, puoi usare un carattere simile a zero con direzionalità da sinistra a destra, come '〇', 'ZERO NUMERO IDEOGRAFICO' (U + 3007) .

  3. Il modo più pulito è utilizzare il carattere "MARCHIO SINISTRA DESTRA" (U + 200E) ( Wikipedia ) dopo l'aleph: "א 0". Questo è un carattere invisibile di larghezza zero definito per avere direzionalità da sinistra a destra. Pertanto, ha lo stesso effetto sull'algoritmo del layout del testo bidirezionale dell'inserimento, diciamo, di una lettera latina da sinistra a destra dopo il א, tranne per il fatto che non apparirà alcuna lettera visibile lì.


69
In un contesto matematico (che mi aspetto che sia), U + 2135 è il personaggio corretto da usare.
cmbuckley,

10
Devi fare attenzione alle sostituzioni: dove le inserisci nel testo è importante rimuoverle (usando il carattere di "formattazione direzionale pop" U+202C) quando il contesto su cui desideri che vengano completate.
J ...

4
Inoltre, i caratteri "override" sono un po 'eccessivi, "l'incorporamento" è sufficiente per questo caso d'uso. C'è anche una nuova classe chiamata "isolare", non sono sicuro di quale sia la differenza in questa situazione.
Casuale 832

4
Consiglierei di scambiare 2 e 3.
wizzwizz4

10
@ Random832 Tutti questi sono eccessivi. Tutto ciò di cui hai veramente bisogno è un segno da sinistra a destra (U + 200E) tra l'alef e lo zero. In questo modo non avrai bisogno di alcun personaggio "pop" extra.
Ilmari Karonen,

198

Aleph ( U + 05D0 ) è una lettera ebraica e l'ebraico è scritto da destra a sinistra, quindi Unicode le assegna la classe bidirezionale "Da destra a sinistra". (Vedi Unicode TR9: algoritmo bidirezionale per maggiori dettagli.)

Le lettere latine sono ovviamente "Da sinistra a destra". Tuttavia, zero ( U + 0030 ) è nella classe bidirezionale "Numero europeo", che è una classe debole - mentre LtR per impostazione predefinita, può passare a RtL se c'è un carattere "forte" da destra a sinistra prima di esso. (Vedi Tipi di caratteri bidirezionali e Risoluzione di tipi deboli in TR9.)

Di conseguenza, le direzioni di prima e dopo vengono scambiate per l'intera parola - se si mette lo zero "prima", verrà mostrato a destra; se scrivi lo zero 'dopo' aleph, apparirà sulla sinistra.


14
Questo è un problema estremamente comune in numerosi editor di testo e siti Web quando si digita in ebraico: immagino sia vero anche per altre lingue da destra a sinistra. Nel corso del tempo è sicuramente migliorato, ma immagina di provare a scrivere un problema di parole: passare da una parola ebraica all'altra (come il carattere aleph) e da numeri (come il carattere 0) ripetutamente ...
Jake,

3
La maggior parte dei libri di testo che ho visto sono di tipo "ad immersione", che usano un ebraico estremamente semplice ma praticamente interamente ebraico. Può sembrare controintuitivo utilizzare una lingua per insegnare la lingua, ma consente un accumulo più organico delle abilità linguistiche. Potresti vedere una traslitterazione o una traduzione in linea (qualcosa come lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/… - "Shalom Kita Aleph" = "Hello First Grade")
Jake,

1
@Jake Ah, ha senso. L'unica lingua straniera che ho davvero preso era il latino; i nostri libri di testo tendevano ad essere per lo più inglesi con un solo pezzo di testo latino per decifrare ogni capitolo, fino a quando l'intero formato della classe passava da "imparare il latino" a "tradurre l'intero poema epico, un po 'alla volta, attraverso il corso di anno scolastico".
Tin Man,

5
@Walt: penso che ci possa essere un malinteso. Se scrivo una parola latina (LTR), quindi una parola ebraica (RTL), quindi un'altra parola latina, posso liberamente inserirle tutte in una frase e solo la parola ebraica rende RTL. È tutto progettato per adattarsi facilmente alla stessa frase. Il problema è che il numero 0è utilizzato da entrambe le lingue LTR e RTL, quindi il software fa la stessa direzione della lettera precedente. Se segue i caratteri LTR, è LTR. Se segue le lettere RTL, è RTL. Ci sono anche sostituzioni per scambiarlo. fileformat.info/info/unicode/char/202d/index.htm
Mooing Duck

4
Lo zero non sta diventando RTL - è ancora LTR e una sequenza di cifre apparirà da sinistra a destra anche con l'ebraico attorno ad esso, ma i livelli di incorporamento interagiscono in modo tale che lo zero si presenti sulla sinistra del Carattere ebraico che lo precede in ordine di memoria. (La bidirezionalità Unicode è complicata.)
user2357112


14

È perfettamente possibile avere uno zero davanti come mostrato nell'esempio seguente realizzato in Notepad ++.

Alef con 0

Quello che vedi e diventa anche evidente se provi a contrassegnare il personaggio nella tua domanda, è che l'ebraico è scritto da destra a sinistra e (poiché lo 0 è direttamente collegato) il testo è gestito da destra a sinistra (invece che a sinistra a destra).

Vedi il secondo esempio per il problema che Firefox (dalla mia parte) ha con una chiara selezione.

Firefox selezionando un testo da destra a sinistra


17
Questo è un consiglio terribile, perché gioca con l'ordinamento reale del personaggio al fine di ottenere un particolare ordinamento visivo. Le altre risposte spiegano perché ciò si verifica e alcuni includono il modo giusto di affrontarlo (la sostituzione e i segni di direzione espliciti).
Dranon,

8
Potresti indicare dove sto includendo qualche forma di consiglio? Sto semplicemente mostrando un esempio di ciò che accade, che è davvero possibile avere un numero di suffisso e fornire informazioni sul perché ciò avvenga in questo modo.
Seth

13

L'ebraico è scritto da destra a sinistra - questo fa sì che il personaggio aleph porti le informazioni, che il personaggio successivo dovrebbe essere stampato a sinistra di esso.

Se esagoni il tuo documento (o muovi il cursore del testo con i tasti freccia in un editor adatto), noterai che arrivi prima all'alpeh, quindi alla cifra.

Vale a dire: il presupposto "carattere successivo == carattere a destra" non regge.


3
א 0 0 א 0-א א -0

Il problema è dove lo fai e l'implementazione. Per ottenere il comportamento del numero ebraico, tutti i personaggi devono essere nella direzionalità da destra a sinistra. In HTML / CSS che è:

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

Nel sistema operativo, è necessario abilitare l'ebraico e la bidirezionalità.

Le soluzioni alternative suggerendo l'uso di altri personaggi come sostituti, vanifica lo scopo di Unicode. L'aleph come operatore matematico può sembrare lo stesso in alcuni set di caratteri, ma è un personaggio completamente diverso da quello ebraico, sia nel contesto che nel modo in cui verrà analizzato. Ad esempio, un altoparlante / computer nativo ebraico non lo elaborerà correttamente se utilizzato insieme a una parola ebraica. I numeri e i caratteri non alfa sono un problema quando non hanno la stessa codifica direzionale dei caratteri alfa. Quindi, ironicamente, i numeri stessi mentre apparentemente dovrebbero essere indipendenti da un set di caratteri / direzionalità, assumono qualunque direzionalità unicode della lettera precedente. Così in un documento ebraico - i numeri diventano "ebraici", cioè direzionalmente come l'ebraico. Considerando che un documento latino-inglese,


L'OP stava cercando di usare aleph come operatore numerico, no?
Grawity

Bene, non era affatto chiaro nel post. In ogni caso, la direzionalità non dovrebbe essere pertinente. Aleph è usato nella notazione set e ha una designazione infinita, infinita di serie. Dovrebbe direzionalmente da sinistra a destra poiché tutti i calcoli sono lasciati a destra indipendentemente dalla lingua che stai usando. Tuttavia l'uso di aleph come personaggio in ebraico è impostato direzionalmente da destra a sinistra.
Danny F,

2

È possibile:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Questa risposta non ha risposto "perché è questo", in quanto ha già risposto da altri. Ma risponde alla domanda nel titolo, "impossibile da ...?")


7
Ma non risponde anche a HOW, quindi è quasi inutile.
NH.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.