Неможливо поставити нуль після алефа?


144

Ми з другом жартували про Алефа. Спробувавши набрати א 0 (перемкнути ці 2 символи), вони переключились самі! Будь-яка послідовність символів не зупиняє цей ефект. Чому це!??

Спробуйте ввести їх за допомогою зворотного значення 0 і א (c & p для א):

א 0

א - 0

א \\\ 0

א -. / 0

Слова, однак, розділяють їх

א foobar 0

Я перебуваю на arch linux і ще не перевіряв цього на будь-якій іншій ОС

EDIT: Число не повинно бути нульовим. Він працює з цифрами, але не літерами.


14
На перший погляд я подумав, що ти збожеволів. Виявляється, це просто артефакт того, як використовуються різні мовні напрямки. Чудове запитання!

6
Для написання єврейського тексту цей порядок має сенс. Інакше було б найприємніше набирати такі речі, як ב-5 דקות(за 5 хвилин).
угорен

7
@jamesqf: І є одна, дивіться публікацію IllidanS4.
grawity

28
@jamesqf, єврейські літери існують в Unicode для написання івриту. І я смію сказати, що є більше нас, хто пише іврит (7 мільйонів або більше), ніж тих, хто пише про встановлені кардинальності.
ugoren

27
@ugoren за деякими підрахунками налічує 130 тис. математиків , але по правді кажучи, математика - це універсальна мова, тому дійсно є ℵ₀.
Нік Т

Відповіді:


111

'א', 'HEBREW LETTER ALEF' (U + 05D0) має клас BIDI (двонаправлений) "Вправо-вліво [R]", оскільки іврит традиційно пишеться справа наліво. Цифри, з іншого боку, не мають призначеної їм конкретної спрямованості, і тому весь шматок алефа і нуля трактується як правий наліво. У цьому випадку наступний символ може не обов'язково розташовуватися праворуч від попереднього символу, як диктують досить складні двонаправлені правила Unicode.

У вас є кілька варіантів, щоб вирішити цю проблему.

  1. Ви можете використовувати "ℵ", "ALEF SYMBOL" (U + 2135) . Це символ і має властивість зліва направо: ℵ0.

  2. Замість звичайної цифри 0ви можете використовувати нульовий символ із спрямованістю зліва направо, наприклад "〇", "IDEOGRAPHIC NUMBER ZERO" (U + 3007) .

  3. Найчистішим способом є використання символу "ВЛІТА-ПРАВА" (U + 200E) ( Вікіпедія ) після алефа: "א 0". Це невидимий символ нульової ширини, який визначається так, щоб він був спрямований зліва направо. Таким чином, він має такий же ефект на алгоритм компонування двостороннього тексту, як і вставлення, скажімо, латинської ліворуч ліворуч після א, за винятком того, що там не з’явиться видима літера.


69
У математичному контексті (на який я думаю, що це так) U + 2135 є правильним символом.
cmbuckley

10
Ви повинні бути обережними з перекриттями - там, де ви розміщуєте їх у тексті, важливо видалити їх (використовуючи символ U+202C"попріографічного форматування" ), коли контекст, на який ви бажаєте, щоб вони працювали, завершуються.
J ...

4
Крім того, символи "переосмислення" є своєрідними надмірностями, "вбудовування" достатньо для цього випадку використання. Існує також новий клас під назвою "ізолювати", не впевнений, у чому різниця в цій ситуації.
Випадково832

4
Я рекомендую поміняти місцями 2 і 3.
wizzwizz4

10
@ Random832 Все це непосильне. Все, що вам потрібно, - це позначка зліва направо (U + 200E) між алефом і нулем. Таким чином, вам також не потрібні зайві "попсові" символи.
Ільмарі Каронен

198

Алеф ( U + 05D0 ) - єврейська літера, а іврит пишеться справа наліво, тому Unicode присвоює їй двонаправлений клас "Право наліво". (Докладніше див. У Unicode TR9: Двонаправлений алгоритм .)

Латинські літери, звичайно, "зліва направо". Однак нуль ( U + 0030 ) знаходиться у двонаправленому класі "Європейський номер", який є слабким класом - тоді як LtR за замовчуванням може перейти на RtL, якщо перед ним є "сильний" символ "Право наліво". (Див. Типи двонаправлених символів та вирішення слабких типів у TR9.)

Як результат, вказівки до і після заміняються на все слово - якщо ви поставите нуль "до", воно з’явиться праворуч; якщо ви напишете нуль 'після' алефа, він з’явиться зліва.


14
Це надзвичайно поширена проблема в багатьох текстових редакторах та веб-сайтах під час введення івритом. Я думаю, що це стосується й інших мов праворуч-ліворуч. З часом, безумовно, стає краще, але уявіть, що намагаєтеся написати проблему зі словом - перемикання вперед і назад між івритськими словами (наприклад, символом алефа) та цифрами (на зразок символу 0) кілька разів ...
Джейк

3
@Walt Більшість підручників, які я бачив, - це тип "занурення", в якому використовується надзвичайно простий іврит, але майже повністю іврит. Використовувати мову для навчання мови може здатися контрінтуїтивним, але це дозволяє більш органічно нарощувати мовні навички. Можливо, ви побачите транслітерацію чи трансляцію (чимось на зразок lh4.ggpht.com/-_Vc8TUDwznQ/UlhaLFjnrGI/AAAAAAAAzQk/_zm4BMC0aLw/… - "Шалом Кіта Алеф" = "Привіт перший клас")
Джейк

1
@Jake Ах, це має сенс. Єдиною іноземною мовою, яку я справді взяв, була латинська; наші підручники, як правило, були англійською мовою з одним шматочком латинського тексту, щоб розшифрувати кожну главу, аж до того часу, поки весь формат класу перейшов з «вивчити латинську мову» на «переклад цілого епічного вірша», трохи за один раз, протягом курсу навчальний рік ».
Олов'яний чоловік

5
@Walt: Я думаю, що може виникнути непорозуміння. Якщо я введіть латинське (LTR) слово, то єврейське (RTL) слово, то інше латинське слово, я можу їх вільно містити у реченні, і лише єврейське слово надає RTL. Це все розроблено так, щоб легко вміститися в одне і те ж речення. Проблема полягає в тому, що номер 0використовується обома мовами LTR та RTL, і тому програмне забезпечення просто робить його в тому ж напрямку, що і попередня літера. Якщо він слід за символами LTR, це LTR. Якщо це слід за літерами RTL, це RTL. Існує також відміни, щоб замінити його. fileformat.info/info/unicode/char/202d/index.htm
мукають Duck

4
Нуль не стає RTL - це все ще LTR, і послідовність цифр відображатиметься зліва направо навіть з івритом навколо нього, але рівні вбудовування взаємодіють таким чином, що нуль відображається ліворуч від Гебрейський символ, що передує йому в порядку пам'яті. (Двонаправленість Unicode складна.)
user2357112


14

Цілком можливо мати нуль попереду, як показано в наступному прикладі, який був зроблений у Notepad ++.

Алеф з 0

Те, що ви бачите, а також стає очевидним, якщо ви намагаєтесь позначити символу у вашому запитанні, це те, що іврит пишеться праворуч ліворуч і (як 0 безпосередньо пов'язано), текст обробляється праворуч ліворуч (замість ліворуч вправо) спосіб.

Дивіться другий приклад проблеми, яку Firefox (на моєму кінці) має чіткий вибір.

Firefox, вибираючи текст праворуч наліво


17
Це жахлива порада, оскільки вона грає в ігри з фактичним упорядкуванням персонажів, щоб отримати певне візуальне впорядкування. Інші відповіді пояснюють, чому це відбувається, а деякі включають правильний спосіб боротьби з цим (переосмислення та явні вказівки).
Дранон

8
Не могли б ви вказати, де я включаю якусь форму поради? Я просто показую приклад того, що відбувається, що дійсно можливо мати суфіксну цифру та надавати інформацію про те, чому це відбувається так, як це відбувається.
Сет

13

Іврит пишеться праворуч ліворуч - це змушує символ аллефа нести інформацію, що наступний символ повинен бути надрукований ліворуч від нього.

Якщо ви перевірите свій шістнадцятковий документ (або перемістіть курсор через текст за допомогою клавіш зі стрілками у відповідному редакторі), ви помітите, що спочатку ви дістанетесь до alpeh, а потім до цифри.

Тобто: припущення "наступний символ == символ праворуч" не відповідає.


3
א 0 0 א 0-א א -0

Питання в тому, де ти це робиш, та реалізація. Для отримання поведінки на івриті з числами всі символи повинні бути спрямовані праворуч наліво. У HTML / CSS є:

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

В Операційній системі повинні бути включені іврит та двонаправлення.

Обхідні шляхи, пропонуючи використовувати інші символи як замінники, перемагають мету Unicode. Алеф як математичний оператор може виглядати однаково в деяких наборах символів, але є абсолютно іншим символом, ніж єврейський алеф, як в контексті, так і в тому, як він буде розбиратися. Наприклад, динамік / комп’ютер, котрий єврейською мовою, не обробить його правильно, якщо він буде використаний у поєднанні з єврейським словом. Числа та не-альфа-символи є проблемою, коли їм самим не надається таке ж спрямоване кодування, як альфа-символи. Таким чином, за іронією долі, самі цифри, хоча, здавалося б, не повинні залежати від набору символів / спрямованості, приймають будь-яку однонаправленість попередньої літери. Таким чином, у єврейському документі - цифри стають «гебраїзованими», тобто напрямково схожі на іврит. Враховуючи, що англійсько-латинський документ,


OP був намагається використовувати алеф як числовий оператор, ні?
grawity

Ну, взагалі було незрозуміло. У будь-якому випадку, спрямованість не повинна бути актуальною. Алеф використовується в наборі позначень і має нескінченне, нескінченне позначення рядів. Він повинен бути спрямований зліва направо, оскільки вся математика зліва направо незалежно від мови, якою ви користуєтесь. Однак використання алефа як символу на івриті є спрямованим праворуч ліворуч.
Danny F

2

Це можливо:

א 0

א - 0

א \\ 0

א -. / 0

א foobar 0

(Ця відповідь не відповіла "чому це так", як це вже відповідають інші. Але вона відповідає на питання в заголовку "неможливо ...?")


7
Але це також не відповідає ЯК, і так майже марно.
NH.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.