2017/05/14

Emacsのギリシャ文字/キリル文字のフォント表示

長らくブログを書いてなかったので、復帰がてらに、最近やったEmacsの設定について、メモします。

Emacsを使う場合、日本語の設定を
;; 日本語
(set-fontset-font
 'nil 'japanese-jisx0208 (font-spec :family "Takaoゴシック" :height 90))
のように、何かしらフォントの設定を行うと思いますが、その時、ギリシャ文字やキリル文字のフォントも全角化されてしまいます。以下のように...


しかし、全角のギリシャ/キリル文字は読みづらいので、できれば、別のフォントで表示させたくなります。というわけで、こんな感じで別のコードポイントを割り当てます。
;; ギリシャ文字
(set-fontset-font
 'nil '(#x0370 . #x03FF) (font-spec :family "Ubuntu Mono" :height 100))

;; キリル文字
(set-fontset-font
 'nil '(#x0400 . #x04FF) (font-spec :family "Ubuntu Mono" :height 100))

ギリシャ文字のコードポイントは、#x0370〜#x03FF、キリル文字のコードポイントは、#x0400〜#x04FFなので、上記のように設定します。
そして、再表示した結果が以下。

しっかり、半角化されて、綺麗な表示になりました。

ちなみに、私はこんなフォント設定をしています。
(defvar default-font-family "Ubuntu Mono")
(defvar default-font-family-jp "Takaoゴシック")

;; デフォルトフォント設定
(set-face-attribute
 'default nil :family default-font-family :height 100)

;; 日本語のフォントセット : あいうえお ... 日本語
(set-fontset-font
 'nil 'japanese-jisx0208 (font-spec :family default-font-family-jp :height 90))

;; ギリシャ文字のフォントセット : αβγκλ ... ΛΩ
(set-fontset-font
 'nil '(#x0370 . #x03FF) (font-spec :family default-font-family :height 100))

;; キリル文字のフォントセット : Эта статья ... Русский
(set-fontset-font
 'nil '(#x0400 . #x04FF) (font-spec :family default-font-family :height 100))