web-dev-qa-db-ja.com

GNU Emacs Unicodeに準拠していますか、それともMuleを介して多言語対応ですか?

GNU EmacsはMule(Multi-Lingual-Environment)と呼ばれるシステムを介して国際スクリプトを処理することを読みました。

また、(ここ数年)Unicodeに準拠するための動きがあり、これはバージョン23(-ish?)で実装されていることも(どこかで、しばらく前に)読みました。

Unicodeテキスト(例:कैसे)をgeditに入力し、Emacsに正常にコピーしました。コピー&ペーストは両方向で機能します。

ただし、Emacsでは、Ctrl + Shift +を使用して単一のUnicodeコードポイントを入力しても機能せず、IBus入力方式エディターもEmacsで認識されません。

EmacsとUnicodeの使用状況はどうなっていますか?
...そしてEmacsでIBusIMEを使用することは可能ですか?

3
Peter.O

簡単な答え: IBus with ibus.el ; Gnome Ctrl+Shift+U⇒EmacsC-x 8 RET


Emacsが8ビットを超える文字セットをサポートしているのは [〜#〜] mule [〜#〜] で、これはUnicode(日本語のサポートから派生)とほぼ同じくらい古いものです。 Unicodeの広範なサポートよりもはるかに古い(Unicodeテキスト、フォントなどをサポートするプログラムに関して)。優れたUnicodeサポートはGNU Emacs 23、Ubuntu10.04のデフォルトバージョンです。受け入れ可能なUnicodeサポートはGNU Emacs 22、デフォルトでしたUbuntu 8.04以降のバージョン。以前のバージョンdidはUnicodeをある程度サポートしていますが、バグや制限に遭遇することがより一般的でした。

EmacsはGnomeを使用しないため、Gnome入力メソッドを使用することはできません。例えば、 Ctrl+Shift+U 16進コードでコードポイントを挿入することはGnomeの機能であるため、Emacsでは機能しません。ネイティブのEmacsに相当するものは Ctrl+Q、歴史的な理由から、8進コードを続ける必要があります。 16進数を使用する場合は、値16よりも customizeread-quoted-char-radix です。同様のEmacsコマンドはC-x 8 RETucs-insert ;頻繁に使用する場合は、短いキーシーケンスにバインドすることをお勧めします)。その後に16進コードポイントまたはUnicode文字の名前を付けて補完することができます。

Emacsには 独自の入力メソッドのセット があり、 [〜#〜] uim [〜#〜] (install uim-elIBus サポートは比較的新しいです;必要です ibus.el 、これはLucidにはなく、Maverickにもありません。 Emacs wikiのIBus も参照してください。

GNU Emacs 23.xには、UTF-8でエンコードされたテキストに対するUnicodeサポートが組み込まれています。また、UTF-16のサポートも提供します。 Muleの問題に関連するEmacsのいくつかのバグを回避するために、 emacs2 パッケージをインストールすることを強くお勧めします。

また、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 " ")

これがうまくいかない場合は、iBusのサポートに関するEmacsのバグを見つけた可能性があります。

1
crncosta