Является ли GNU Emacs Unicode совместимым, или это просто мультиязычная поддержка через Mule?

Я читал, что GNU Emacs обрабатывает международные сценарии через систему под названием Mule (Многоязычная среда).

Я также читал (где-то некоторое время назад), что в последние годы был предпринят шаг (чтобы сделать его Unicode совместимым), и что это было реализовано в версии 23 (-ish?).

Я набрал текст Unicode (например, कैसे) в gedit и успешно скопировал его в Emacs. Копировальная паста работает в обоих направлениях.

Однако в Emacs использование Ctrl + Shift + U для ввода единой кодовой точки Unicode не работает, и редактор методов ввода IBus не распознается Emacs.

Каково состояние игры с Emacs и Unicode?
... и возможно ли использовать IBus IME с Emacs?

3
задан 13 November 2010 в 20:04

2 ответа

Короткий ответ: IBus с ibus.el; Gnome Ctrl+Shift+U ⇒ Emacs C-x 8 RET


Поддержка Emacs more-than-8-bit наборов символов приходит от МУЛА, который почти так же стар как Unicode (это происходит из поддержки японского языка), и значительно старше, чем широко распространенная поддержка Unicode (с точки зрения программ, поддерживающих текст Unicode, шрифты, и т.д.). Хорошая поддержка Unicode шла с GNU Emacs 23, который является версией по умолчанию с Ubuntu 10.04. Приемлемая поддержка Unicode шла с GNU Emacs 22, который был версией по умолчанию с Ubuntu 8.04. Предыдущие версии действительно имели некоторую поддержку Unicode, но было более распространено столкнуться с ошибками или ограничениями.

Emacs не использует Gnome, таким образом, Вы не можете использовать методы ввода Gnome в нем. Например, Ctrl+Shift+U для вставки кодовой точки ее шестнадцатеричным кодом является функцией Gnome, таким образом, он не работает в Emacs. Эквивалентный собственный компонент Emacs является Ctrl+Q, который по историческим причинам должен сопровождаться восьмеричным кодом; если Вы предпочитаете шестнадцатеричный, настроить read-quoted-char-radix к значению 16. Подобная команда Emacs C-x 8 RET (ucs-insert; при использовании его часто можно хотеть связать его с более коротким сочетанием клавиш), который может сопровождаться шестнадцатеричной кодовой точкой или названием unicode символа с завершением.

Emacs имеет свой собственный набор методов ввода и может также использовать системные методы ввода, такие как UIM (установка uim-el. Поддержка IBus является относительно новой; Вам нужно ibus.el, который не находится в Lucid, и я думаю не в Индивидуалисте также; см. также IBus на Wiki Emacs.

2
ответ дан 13 November 2010 в 20:04

GNU Emacs 23.x имеет встроенную поддержку Unicode для текста в кодировке UTF-8. Он также обеспечивает поддержку UTF-16. Я действительно рекомендую вам установить пакет emacs23 , чтобы избежать ошибок в Emacs, связанных с проблемами Mule.

И чтобы избежать проблемы Intelligent Input Bus , вы можете установить Anthy системы ввода. Я видел, что это очень хорошо работает для японцев:

sudo apt-get install anthy anthy-el

После установки отредактируйте ваш .emacsrc, добавив следующий текст:

; Set load path for anthy.el
(push "/usr/share/emacs/site-lisp/anthy/" load-path)

; Load anthy.el
(load-library "leim-list")
(load-library "anthy")

;; Workarounds and customizations

; Fix slow input response in emacs23
(if (>= emacs-major-version 23)
(setq anthy-accept-timeout 1))

; Set japanese-anthy as the default input-method
(setq default-input-method "japanese-anthy")

; Shift-space to toggle anthy-mode (default is Ctrl-\)
(global-set-key (kbd "S-SPC") 'anthy-mode)

; Map wide-space to hankaku-space
(setq anthy-wide-space " ")

вы, возможно, обнаружили ошибку в Emacs, касающуюся его поддержки iBus.

0
ответ дан 13 November 2010 в 20:04

Другие вопросы по тегам:

Похожие вопросы: