Автор Гілка: Emacs та українська мова  (Прочитано 5088 раз)

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Emacs та українська мова
« : 2004-11-03 21:38:02 »
Підкажіть, будь ласка, дистрибутив, у якому Emacs друкує
українською і зберігіє файли у koi8-u
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #1 : 2004-11-07 16:55:29 »
Ну, хоч щось підкажіть.
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3744
  • Карма: +9/-0
  • Програміст
Re: Emacs та українська мова
« Відповідей #2 : 2004-11-09 17:22:44 »
Зверніться до Дмитра Ковальова:

http://www.asahi-net.or.jp/~as9d-kvlv/Linux/emacs-ukrainian.html
[Fedora Linux]

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3744
  • Карма: +9/-0
  • Програміст
Re: Emacs та українська мова
« Відповідей #3 : 2004-11-09 17:35:28 »

-> я скористався рецептом боротьби з емаксом. Емакс з'їв то зразу, а
-> от Ікс-емакс - не хоче малювати українські букви. Я перепробував
-> стандартні варіанти -- не вийшло. Де йому треба казати, щоб він
-> українськими буквами писав, а не "~~" ?

Як саме це виглядає?

Я можу уявити собі три причини:
- перемикається в український режим але не може вводити літери;
- не перемикається в український режим;
- перемикається і вводить, але нічого не видно, бо шрифти інші.

Починаючи з кінця
------------------
1.
Якщо це проблема з шрифтами, то його треба запустити з '-fn шрифт'. В цьому
випадку всі гарні шрифти пропадають (все стає написаним одним єдиним шрифтом -
меню, вікна і т.д.), але зате українська працює.

N.B.:

Опція '--unibyte' для xemacs не працює, і як цю заразу перемикнути в
однобайтний режим я не знаю. Єдиний фікс який я знаю - це користуватися
нормальний emacs'ом, що я і роблю :)

2.
Чи xemacs перемикається в український режим? Це можна визначити по 'KOI-8',
яке з'являється (або не з'являється в status-line)

Ті комбінації клавіш, для перемикання в укр/лат режими, що у мене на сторінці,
не працюють для xemacs. Причина проста - в xemacs не вистачає однієї функції
-- toggle-enable-multibyte-characters.

- попробуй зробити вручну
  - стартуй його: 'xemacs -q -f fixed'
              -q -- щоб не вантажився .emacs
  - завантажити файл: 'M-x load-file'
                      Load file: ukrainian.el
  - M-x ukrainian-insertion-mode (перемкнулося чи ні?)
  - якщо з'явилося KOI-8 в статус рядку попробуй друкувати

Якщо це була причина - знайди місце в .emacs, де зустрічається
toggle-enable-multibyte-characters і закоментуй цей рядок:

(defun toggle-ukrainian ()
  (interactive)
  "Make sure the Russian is off first and then toggle Ukrainian"
;  (toggle-enable-multibyte-characters 'nil)    <----- ось тут
  (russian-insertion-mode -1)
  (ukrainian-insertion-mode)
  )



3.
Деякі версії (старі) ukrainian.el не працюють з xemacs
В цьому випадку він перемикається в український режим, але надрукувати нічого
неможливо. Симптоми такі - на кожну клавішу він пищить як скажений і в
міні-буфері пишеться:

"Wrong type argument: 0, #keypress-event [клавіша, яка була натиснута]>"

Структури даних у них двох відрізняються.

Фікс такий:

я трохи змінив код ukrainian.el В самому кінці файлу є таке:

(defun ukrainian-perform-insertion ()
    (interactive)
    (insert (aref ukrainian-insertion-mode-table last-command-event)))

треба це змінити на:

(if (string-equal (substring (emacs-version) 0 3) "GNU")
    (defun ukrainian-perform-insertion ()
      (interactive)
      (insert (aref ukrainian-insertion-mode-table last-command-event)))
  ;; for XEmacsen
  (defun ukrainian-perform-insertion ()
    (interactive)
    (insert (aref ukrainian-insertion-mode-table
                  (event-to-character last-command-event)))))

Для новіших версій ukrainian.el це вже не потрібно. Фікс вже зроблено, але
іншим чином.
[Fedora Linux]

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #4 : 2004-11-10 11:25:53 »
Ту статтю я читав, але у мене щось не запрацювало, як по інструкції.

Пішов іншим шляхом.

Виковиряв із ALT Linux leim, там є нормальна українська розкладка, в інших дистрибутивах якесь нелюдське розташування клавш. Потім із статті Дмитра Ковальова додав до .emacs функції для переключення розкладок по Ctrl - C - U ( R ).

Ситуація така: нормально набирає укаїнською, і все добре, крім одного.
На може зберігати файли в KOI8. В cp125, iso..., unicode все нормально. В її таблиці перекодування нема українських літер. Якщо прибрати і та ї, то зберігає.

Як це поправити? Чи можна додати відсутні літери?
Чи шлях, яким я пішов, веде у тупік?

Дивує, чому досі це не виправлено.
Я ковиряв ASP Linux, ALT Linux, My Linux (наче український)
Slackware (із нього починав)
Нормальна українська йцукен-розкладка є тільки в ALT Linux.
Але ніде нема koi8-u.

І крім цієї статті, ніяких інших матеріалів в інтренеті немає. Такий собі інформаційний вакуум.
Якщо українці імаксом не користуються, то підкажіть кращий редактор.
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #5 : 2004-11-11 10:50:41 »
Ту статтю я читав, але у мене щось не запрацювало, як по інструкції.

Пішов іншим шляхом.

Виковиряв із ALT Linux leim, там є нормальна українська розкладка, в інших дистрибутивах якесь нелюдське розташування клавш. Потім із статті Дмитра Ковальова додав до .emacs функції для переключення розкладок по Ctrl - C - U ( R

leim не буде працювати з українською. Вся проблема в тому, що leim користується ISO кодуванням для збереження текстів на диск (тобто внутрішнє кодування emacs'у -- ISO). В цьому кодуванні за визначенням нема українських літер. Через це такі великі проблеми з українізацією емакса -- додати українізацію до нього за його власними стандартами означає фактично переробити його з голови до ніг. Зрозуміло, що зробити це досить важко і жоден з розробників чи координаторів за це не прагне братися. Хіба, що знайдеться досить толковий українець і це зробить (як зробили свого часу японці, коли створили Mule, якого потім інтегрували в основне дерево).

Наскільки  команда емакса не прагне українізувати, може буде зрозуміло з наступного:

Я був присутній одного разу при розмові одного українського фаната емакса (ще більшого, ніж я сам) з координатором проекту XEmacs (на той час). Їх розмова ледь не закінчилась бійкою, коли і судячи з агресивності тодішнього координатора, для нашого співвітчизника ця бійка б закінчилась сумно. Розмова починалася досить мирно з різних пропозицій і думок як можна українізувати цю штучку. До речі -- практично будь-хто, хто більш-менш займається якоюсь розробкою в світі емакса чудово знають про проблеми українізації (саме українізації), але ... Ця розмова про яку я пишу відбулася десь із 7 -8 років тому, на межі XEmacs 19.x-20.x. Оскільки з того часу ситуація з українською не покращилась, мені здається не покращиться вона і в наступні стільки ж років.

Тому й існують ці примочки типу ukrainian.el,які дозволяють працювати з українською в емаксі шляхом оминання його власних внутрішніх проблем. ukrainian.el не користується ніякими примочками з leim'а і записує текст у його первісній формі -- тобто як текст. leim по суті-ж перетворює emacs з текстового редактора, в текстовий процесор, бо розставляє в тексті всякі лейбочки, з інформацією про те, якою мовою і в якій кодовій таблиці той чи інший шматок написаний. Тому відмовляючись від leim'а і отримуючи можливість користування українською, Ви втрачаєте одночасно можливість користуватися всіма іншими мовами.

Щодо XEmacs -- не можу на жаль нічим допомогти. Я ним перестав користуватися досить давно і віддаю перевагу GNU emacs'у. І на жаль , ці два емакси, замість того щоб поступово інтегруватися, піддалися величезним амбіціям і розходяться все далі й далі. Практично зараз дуже важко конвертувати скрипт, написаний під один з емаксів в інший.

Для ukrainian.el основні правила такі:
 - користуватися завжди unibyte;
 - користуватися шрифтом koi8-u
 - відмовитися від *будь-чого* leim-подібного, чи mule-подібного.
 - language environment -- English чи Default (і тільки).
« Змінено: 2004-11-11 10:55:35 від dmytro »

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #6 : 2004-11-14 17:54:28 »
У мене видно, ukrainian.el із імаксом дружити не хоче.
GNU Emacs 21.3.1


Коли викликаю
M-x ukrainian-insertion-mode

Пише
Symbol's value as variable is void: ukrainian-keyboard-name
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #7 : 2004-11-15 02:57:08 »
У мене видно, ukrainian.el із імаксом дружити не хоче.
GNU Emacs 21.3.1
Тільки що перевірив. У мене (debian sarge) ця  ж версія emacs'у і працює без проблем. Єдине припущення -- що ukrainian.el інший. Візьміть той, що в мене лежить на сторінці, він має працювати
http://www.asahi-net.or.jp/~as9d-kvlv/Linux/ukrainian.el

Відсутній Дмитро Ковальов

  • Кореспондент
  • ***
  • дописів: 236
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #8 : 2004-11-15 05:43:10 »
Візьміть той, що в мене лежить на сторінці, він має працювати
http://www.asahi-net.or.jp/~as9d-kvlv/Linux/ukrainian.el
До речі, я ту сторінку поступово прибираю, і переводжу в Вікі на іншому сервері. Тому всі нові матеріали будуть з'являтися тільки на новому місці: http://dmytro.sytes.net

Сьогодні я поклав тут конвертовану сторінку про emacs.


Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #9 : 2004-11-16 16:01:41 »
У мене, дійсно, була невдала версія ukrainian.el
Ваша працює нормально.
Але у ній незвичне розташування літер і,..
Як би це підправити?
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній uj

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
  • Що новенького?
Re: Emacs та українська мова
« Відповідей #10 : 2004-11-19 17:30:04 »
А хто-небудь знає, чи працює українська у CVS-версії Emacs? Чи є там якісь зміни у цьому напрямку?

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #11 : 2004-11-19 20:11:20 »
Дійсно цікаво. От якби подивитись. У мене нема зараз можливості стільки
викачати :-(
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній uj

  • Новачок
  • *
  • дописів: 8
  • Карма: +0/-0
  • Що новенького?
Re: Emacs та українська мова
« Відповідей #12 : 2004-11-22 21:45:55 »
Сьогодні спробував встановити цвс-версію імексу. Це супер, хлопці. Усе, що я можу сказати -- супер. Спробуйте обов'язково.

УТФ тримає відмінно (перевіряв з українским, та з вью-хелло -- у цьому не працюють лише декілька мов, мабуть, тому, що не встановлені фонти). У вью-хелло з'явилося українське "вітаю" :))

Ввід кирилиці значно поширений, з'явилися декілька нових методів вводу кирилиці, ukrainian-computer працює "як у винді", це не може не радувати.

Я не знаю, як воно працює зараз, тим не менш, я дуже задоволений, піду хлопати у долоні :)

Відсутній Андрій Головинський

  • Кореспондент
  • ***
  • дописів: 141
  • Карма: +0/-0
Re: Emacs та українська мова
« Відповідей #13 : 2004-11-22 22:33:48 »
Дуже добре. А у koi8-u він збегігає?
Never argue with idiots. They just drag you down to their level, and then beat you with experience

Відсутній iip))

  • Графоман
  • ****
  • дописів: 277
  • Карма: +0/-0
  • Перекладач KDE, openSUSE...
Re: Emacs та українська мова
« Відповідей #14 : 2004-11-22 22:50:18 »
Якщо українці імаксом не користуються, то підкажіть кращий редактор.
Kate. Не можу порівнювати з Emacs, бо останній недолюблюю, але з записом файлів у koi8-u "Катя" справляється без проблем.
"You should not be satisfied with being a victim, nor with being a survivor. You should aim to be a conqueror." "Now, go do the right thing!" Dr. Laura