このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

EmacsとUnicode文字で遊ぶ

http://xahlee.org/emacs/emacs_n_unicode.html (by Xah Lee, 2006-07)に面白いことが載っていました。Emacsで、Unicodeレパートリのさまざまな文字を入力する方法; 実用性はともかくも、まー、遊べます。

[追記]ミスとtypoがありました。アクセント記号の順序と、Lisp式中のfaile→fileです。直しました。[/追記][さらに追記]まだLispコードにミスが残っていたので、直しました。画面も差し替えないと。←差し替えた。[/さらに追記][もっと追記]アンレーーッ?? Lispコードの一部が注釈になっちゃてるよ。Lispだと括弧2つなんてザラだからな。[/もっと追記]

ダイアクリティカルマーク付きアルファベットの入力

ダイアクリティカルマークWikipedia項目参照)が付いたアルファベットを入力できます。

最初の3つはアクセント記号で、上からグレイヴアキュートグレイヴサーカムフレックスというんだそうです。

4番目はダイエレシス(diaeresis, dieresis;ドイツ語ではウムラウト、フランス語ではトレマ)、5番目はチルダです。

Ctrl+x 8([Ctrl]と[X]の同時押しの後で[8])に続くキーストロークでなんか面白いことが起こるかと、わたしゃ猿になってやってみました。

最後の Ctrl+x 8 / o は、狙い通りだったのでうれしかったなー。しかし、この入力は /lisp/international/iso-transl.el で実装されているので、それを見れば試行錯誤しなくてもわかります。

Unicode文字に関する情報

http://www.unicode.org/Public/UNIDATA/UnicodeData.txt をダウンロードして、例えば、~/UnicodeData.txt として置きます。とりあえず*scratch*バッファで次の式を評価します(ずっと設定したいなら .emacsに書く)。

(let ((unidata "~/UnicodeData.txt"))
  (when (file-exists-p unidata)
    (setq describe-char-unicodedata-file unidata)))

これで、Ctrl+u Ctrl+x = (what-cursor-position detail) においてUnicodeData.txtを使った表示がされるようになります*1。例えば、「檜山」の「檜」にカーソルが乗っている状態で Ctrl+u Ctrl+x = すると:


16進文字番号による入力

Ctrl+u Ctrl+x = を使うと、U+表記の16進番号(コードポイント値)もわかります。逆にこの番号から文字を入力できます。

Alt+x(または、ESC x)から set-input-method とコマンドを入力し、プロンプトに ucs と答えます。この入力モードでは、uに引き続き16進番号を入力すると対応するUnicode文字*2が入力されます。例えば、u6a9c で「檜」が入力されます。ucs入力モードから抜けるには Ctrl+\ (toggle-input-method) とします。

外国語の文字で、番号はわかっても入力方法がわからないときは使えるかもしれません。

*1:Ctrl+x = (what-cursor-position) だけなら、UnicodeData.txtは参照されません。

*2:別に「Unicode文字」という文字種があるわけじゃない。Unicodeのレパートリに入っていて、Unicodeの番号で定義される文字、というほどの意味。