Як дістати специфічні для людської мови цифри?


9

TL; DR: як я можу використовувати цифри хінді (١٢٣ ...) під час написання арабською мовою?


Emacs, безсумнівно, вважається найкращим редактором, але якщо мова йде про використання цифр у контексті написання, то для багатомовних користувачів не існує задовільних рішень цієї проблеми порівняно з тим, що надає Microsoft Word, а саме написання контекстуальних цифр.

У Microsoft Word 2010 перейдіть до випадаючого меню -> Додаткові команди -> Додатково -> у розділі Показувати вміст документа ви можете обрати contextдля Числа поза (арабською або хінді чи контекстом чи системою). Опція контексту дозволяє писати цифри відповідно до контексту написання, якби англійські цифри були б арабськими 1,2,3,4,5,6,7,8,9,0 - це звучить дивно! але він так названий (можливо, неправильне слово), і якщо ви пишете арабською мовою, то цифри будуть хінді цифрами, написаними так:
введіть тут опис зображення

Для Windows я виявив, що змінити input-methodчас написання - це шлях, якщо я буду писати багатомовний документ на Emacs, мовляв, англійською та арабською або будь-якою іншою мовою з абсолютно іншим алфавітом. Зміна мови або розкладки клавіатури з мовної панелі в Windows IMHO не дасть вам однакового ефекту, оскільки це зруйнує всі ваші ключові прив’язки редактора Emacs (особливо у випадку двох різних мов, таких як англійська та арабська). Рішення розміщено тут .

У програмі Microsoft Word після встановлення цифр у контексті ви можете безперешкодно писати англійською мовою з арабськими цифрами, а коли переходите писати арабською мовою на велосипеді через ( ALT+ R SHFT), ви пишете текст арабською мовою з хінді цифрами за короткий час, як показано на зображенні нижче. У Emacs після переходу input-methodна арабську мову цифри як і раніше будуть арабськими (1,2,3 тощо), а не потрібними хінді-цифрами.

введіть тут опис зображення

Я не думаю, що вирішення цієї проблеми пов'язане з Microsoft Windows, оскільки зміна мови регіональних параметрів також змінить цифри інтерфейсу Windows і матиме небажаний ефект на загальну систему.

Я вважаю, що потенціал розширення Emacs є ключовим у цій проблемі. Щоб бути більш конкретним; Я пропоную Emacs виявити, input-methodі якщо він є арабською, він повинен автоматично перезаписати всі цифри арабської мови на хінді. АБО якось налаштувати арабську розкладку клавіатури, щоб мати хінді замість арабських цифр.

У списку є кілька пов’язаних публікацій з цією проблемою, але я не зміг перекласти ці шматочки інформації у фактичне рішення, що відповідає специфіці цієї публікації:

https://tex.stackexchange.com/q/191040/26295

Нижче представлений підхід до розширення методу введення в Emacs. https://emacs.stackexchange.com/a/3404/2443

Введення хінді-цифр може бути важким завданням в Emacs, якщо ви хочете вводити по одному цифри хінді,C-x 8 RET вони відображаються в Unicode на такі коди: 0661 для номера 1, 0662 для номера 2, 0663 для номера 3, 0664 для номера 4, 0665 для №5 тощо.

Запитання
Яка найкраща настройка для Emacs 24 та найкоротші натискання клавіш для того, щоб повторити безперебійний досвід написання контексту, який надає Microsoft Word?


Я думаю, тут є деяка плутанина, цифри, які ви називаєте хінді, насправді є арабськими цифрами!
Ікбал Ансарі

@IqbalAnsari Привіт, не іронічно - я знаю, що це може здатися заплутаним вперше, але якщо ти був користувачем Microsoft Word і пишеш арабською мовою, то скоро ти звикнеш до цього жаргону. Якщо у вас є Microsoft Word, ви можете перевірити це.
докторантура

1
Як осторонь: норми публікації в деяких арабськомовних країнах за замовчуванням для хінді чисел (١٢٣ ...), таких як Єгипет, а в інших за замовчуванням арабських цифр (123 ...), таких як Ліван.
Дан

@ Дан, Єгипет та Ліван - країни, що говорять арабською мовою, їм слід використовувати хінді у своїх публікаціях чи будь-яких інших творах. Виходячи з цього, за замовчуванням арабською версією Emacs було б краще змінити цифри з арабської на хінді.
докторантура

Те, що вони повинні чи не повинні робити, не так важливо, як те, що вони насправді роблять. І, для чого це варто, великі інтернет-видання в основному використовують арабські цифри - пор. аль-Джазіра , аль-Хаят (пан-арабський щоденник), аль-Нахар (флагманський ліванський щоденник), аль-Ахрам (флагманський єгипетський щоденник). Я також віддаю перевагу естетиці хінді-цифр, але, схоже, quailробить правильним вибором арабські цифри за замовчуванням, оскільки вони, як видається, є типовими і для арабського світу.
Дан

Відповіді:


10

Отже, вимога така: Коли я використовую arabicметод введення, і я набираю цифру, я хочу, щоб Emacs вставив для цієї цифри символ хінді.

Для цього ми можемо адаптувати ваш зв’язаний підхід, щоб розширити такий метод введення :

(eval-after-load "quail/arabic"
  '(let ((quail-current-package (assoc "arabic" quail-package-alist)))
     (quail-define-rules ((append . t)) ;; don't clobber the existing rules
                         ("0" "\u0660")
                         ("1" "\u0661")
                         ("2" "\u0662")
                         ("3" "\u0663")
                         ("4" "\u0664")
                         ("5" "\u0665")
                         ("6" "\u0666")
                         ("7" "\u0667")
                         ("8" "\u0668")
                         ("9" "\u0669"))))

Потім, коли ви використовуєте C-uC-\ arabic(або просто, C-\якщо це за замовчуванням), і набираєте цифру, він замість цього вставляє вказаний переклад.


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