Я и друг шутили насчет Алефа. После попытки набрать א 0 (переключить эти 2 символа) они переключились! Любая последовательность символов не останавливает этот эффект. Почему это!??
Попробуйте набрать их с обратным 0 и א (c & p для א):
א 0
א - 0
א \ 0
א -. / 0
Слова однако разделяют их
א foobar 0
Я нахожусь на Arch Linux и еще не проверял это ни на одной другой ОС
РЕДАКТИРОВАТЬ: номер не должен быть нулевым. Работает с цифрами, но не с буквами.
ב-5 דקות
(через 5 минут).Ответы:
'א', 'HEBREW LETTER ALEF' (U + 05D0) имеет класс BIDI (двунаправленный) "Справа налево [R]", потому что иврит традиционно пишется справа налево. Цифры, с другой стороны, не имеют определенной направленности, и поэтому весь кусок алеф и ноль интерпретируется как справа налево. В этом случае следующий символ необязательно может быть расположен справа от предыдущего символа, как диктуют довольно сложные двунаправленные правила Unicode.
У вас есть несколько вариантов решения этой проблемы.
Вы можете использовать «ℵ», «ALEF SYMBOL» (U + 2135) . Это символ, имеющий свойство слева направо: ℵ0.
Вместо обычной цифры
0
вы можете использовать символ, подобный нулю, с направлением слева направо, например, «〇», «ИДЕОГРАФИЧЕСКИЙ НУЛЕВЫЙ НОМЕР» (U + 3007) .Самый чистый способ - использовать символ «СЛЕВА К ПРАВО» (U + 200E) ( Википедия ) после алефа: «א 0». Это невидимый символ нулевой ширины, который имеет направленность слева направо. Таким образом, он оказывает такое же влияние на алгоритм двунаправленного размещения текста, как и вставка, скажем, латинской буквы слева направо после א, за исключением того, что никакой видимой буквы там не появится.
источник
U+202C
), когда контекст, с которым вы хотите, чтобы они работали, завершился.Aleph ( U + 05D0 ) - это буква иврита, а иврит пишется справа налево, поэтому Unicode назначает ему двунаправленный класс «справа налево». (См. Unicode TR9: Двунаправленный алгоритм для более подробной информации.)
Латинские буквы, конечно, «слева направо». Однако ноль ( U + 0030 ) находится в двунаправленном классе «European Number», который является слабым классом - в то время как LtR по умолчанию может переключаться на RtL, если перед ним стоит «сильный» символ справа налево. (См. Двунаправленные типы символов и устранение слабых типов в TR9.)
В результате направления до и после меняются местами для всего слова - если вы поставите ноль «до», оно появится справа; если вы напишите ноль «после», он появится слева.
источник
0
используется языками LTR и RTL, и поэтому программное обеспечение просто направляет его в том же направлении, что и предыдущая буква. Если это следует за символами LTR, это LTR. Если это следует за буквами RTL, это RTL. Есть также переопределения, чтобы поменять его. fileformat.info/info/unicode/char/202d/index.htmВозможно, лучшим способом добиться этого было бы:
И обязательная ссылка на xkcd https://xkcd.com/1137/
источник
Вполне возможно иметь ноль впереди, как показано в следующем примере, который был сделан в Notepad ++.
То, что вы видите, а также становится очевидным, если вы попытаетесь пометить символ в своем вопросе, это то, что иврит пишется справа налево и (так как 0 напрямую связан), текст обрабатывается справа налево (вместо слева) вправо) образом.
См. Второй пример проблемы, с которой столкнулся Firefox (с моей стороны) с четким выбором.
источник
Иврит написан справа налево - это заставляет алеф-символ переносить информацию, что следующий символ должен быть напечатан слева от него.
Если вы проверите шестнадцатеричный документ (или проведете курсор по тексту с помощью клавиш со стрелками в подходящем редакторе), вы заметите, что сначала вы попадаете в alpeh, а затем в цифру.
Т.е. предположение «следующий символ == символ справа» не выполняется.
источник
Вопрос в том, где вы это делаете, и в реализации. Чтобы получить поведение для чисел на иврите, все символы должны быть направлены справа налево. В HTML / CSS это:
В операционной системе иврит и двунаправленность должны быть включены.
Обходные пути, предлагая использование других символов в качестве заменителей, побеждает цель Unicode. Алеф как математический оператор может выглядеть одинаково в некоторых наборах символов, но это совершенно другой символ, чем еврейский алеф, как по контексту, так и по тому, как он будет анализироваться. Например, носитель / компьютер на иврите не будет правильно обрабатывать его, если он используется в сочетании с ивритским словом. Числа и не-альфа-символы являются проблемой, когда они сами не получают ту же кодировку, что и альфа-символы. Таким образом, по иронии судьбы сами числа, по-видимому, должны быть независимыми от набора символов / направленности, принимать любую юникодную направленность предыдущей буквы. Таким образом, в иврите документ - числа становятся «Hebraicized», то есть направленно, как иврит. В то время как англо-латинский документ,
источник
Это возможно:
א 0
א - 0
א \\ 0
א -. / 0
א foobar 0
(Этот ответ не ответил «почему это так», поскольку на него уже ответили другие. Но он отвечает на вопрос в заголовке «невозможно ...?»)
источник