É compatível com o Unicode do GNU Emacs, ou é apenas Multi-Lingual ciente via Mule?

3

Eu li que o GNU Emacs lida com scripts internacionais através de um sistema chamado Mule (Multi-Lingual-Environment).

Eu também li (há algum tempo atrás) que havia um movimento em andamento (nos últimos anos) para torná-lo Unicode compatível, e que isso estava sendo implementado na versão 23 (-ish?).

Eu digitei algum texto Unicode (por exemplo, कैसे) em gedit e copiei com sucesso para o Emacs. O copiar e colar funciona nas duas direções.

No entanto, no Emacs, usar Ctrl + Shift + U para digitar um único Unicode Codepoint não funciona, nem o Editor de Método de Entrada do IBus é reconhecido pelo Emacs.

Qual é o estado do jogo com o Emacs e o Unicode?
... e é possível usar o IME do IBus com o Emacs?

    
por Peter.O 13.11.2010 / 17:34

2 respostas

2

Resposta curta: IBus com ibus.el ; Gnome Ctrl+Shift+U ⇒ Emacs C-x 8 RET

O suporte do Emacs para conjuntos de caracteres de mais de 8 bits vem de MULE , que é quase tão antigo quanto o Unicode (deriva do suporte para o japonês) e muito mais antigo do que o suporte generalizado ao Unicode (em termos de programas que suportam texto, fontes, etc.) Unicode. Um bom suporte ao Unicode veio com o GNU Emacs 23, que é a versão padrão do Ubuntu 10.04. Suporte aceitável para Unicode veio com o GNU Emacs 22, que era a versão padrão do Ubuntu 8.04. Versões anteriores fizeram ter algum suporte para Unicode, mas era mais comum encontrar erros ou limitações.

O Emacs não usa o Gnome, então você não pode usar os métodos de entrada do Gnome nele. Por exemplo, Ctrl + Deslocamento + U para inserir um ponto de código pelo seu código hexadecimal é um recurso do Gnome, portanto não funciona Emacs O equivalente nativo do Emacs é Ctrl + Q , que por razões históricas deve ser seguido pelo código octal; se você preferir hexadecimal, personalize read-quoted-char-radix para o valor 16. Um comando Emacs similar é C-x 8 RET ( ucs-insert ; se você usá-lo frequentemente, você pode querer vinculá-lo a um sequência de teclas), que pode ser seguida por um ponto de código hexadecimal ou pelo nome de um caractere unicode, com conclusão.

O Emacs tem seu conjunto próprio de métodos de entrada , e também pode usar métodos de entrada do sistema, como UIM (instalar uim-el . O suporte do IBus é relativamente novo; você precisa de ibus.el , que não está no Lucid e acho que não no Maverick também; veja também IBus no wiki do Emacs .

    
por Gilles 14.11.2010 / 14:51
1

O GNU Emacs 23.x possui suporte Unicode interno para texto codificado em UTF-8. Sua também fornece suporte para UTF-16. Eu realmente recomendo que você instale o pacote emacs23 para evitar vários bugs no Emacs relacionados a problemas de mula.

E para tentar evitar o problema Intelligent Input Bus , você pode instalar sistemas de entrada Anthy . Eu vi que funciona muito bem para o japonês:

sudo apt-get install anthy anthy-el

Após instalá-lo, edite seu arquivo .emacsrc para incluir o texto abaixo:

; 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 " ")

Se isso não funcionar para você, você pode ter encontrado um bug no Emacs em relação ao seu suporte para iBus.

    
por crncosta 13.11.2010 / 18:13