お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2007-04-25 13:55:41

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Emacs でのフォント設定について

http://forum.ubuntulinux.jp/viewtopic.php?id=250
上記トピックから移動しました。

クリーンインストールした日本語ローカライズ版 Feisty は、truetype 以下に ipa ディレクトリはなく、ipamona のみになっていますね。ipafont は別途 apt-get しないといけないようです。
以下は Feisty で Emacs21 に ipamona フォントを設定したときの手順です。

$ cd /usr/share/fonts/truetype/ipamona/
$ sudo ttmkfdir
$ sudo mkfontdir

上記コマンドを実行して fonts.scale と fonts.dir を生成します。

/etc/X11/xorg.conf に

Fontpath "/usr/share/fonts/truetype/ipamona/"

を追記して X を再起動します。
再起動後、ipamona フォントが認識されているか確認してみます。

$ xlsfonts | grep ipamona
-ipamona-gothic-medium-r-normal--0-0-0-0-c-0-iso8859-1
-ipamona-gothic-medium-r-normal--0-0-0-0-c-0-iso8859-1
(以下略)

Emacs に設定を追加してフォントセットを作成します。

ipamona の uigothic を使った例)
(create-fontset-from-fontset-spec
  "-ipamona-uigothic-medium-r-normal--12-*-*-*-*-*-fontset-ipamona12")

以上で問題なくフォントが使えるようになりました。手順的には Edgy と全く同じです。

でも個人的にはデフォルトでインストールされている shinonome フォントが一番見やすい気がします。
shinonome を使うためには .emacs に

(create-fontset-from-fontset-spec
"-shinonome-gothic-medium-r-normal--12-*-*-*-*-*-fontset-shinonome12")

と記述するだけで OK です。
また Emacs のバッファを Shift + 左クリックすることで、登録されているフォントセットをその場で切り替えられます。色々と比べてみるとよいでしょう。

# 左クリックと右クリックを間違えていたので訂正しました

最後の編集者: mizuno (2007-04-25 14:02:36)

オフライン

 

#2 2007-04-26 08:55:23

dek
メンバ
登録日: 2007-02-12

Re: Emacs でのフォント設定について

おはようございます。ちょいと追加させてください。
ひとつにはEdgyからアップグレードした私の環境にはttmkfdirがなかったので
ttmkfdirがない人はsudo apt-get install ttmkfdirしましょうね、というのと
もうひとつはEmacsのフォント設定の別解です。

mizunoさんの解はEmacsからXに働きかけてフォントを変更していますが
こちらは直接Xに「Emacsのフォントはこれだよ」と指定しています。
~/.Xresourcesに

emacs*Background: DarkSlateGray
emacs*Foreground: White
emacs*pointerColor: Orchid
emacs*cursorColor: Orchid
emacs*bitmapIcon: on
emacs*font: -shinonome-gothic-medium-r-*-*-16-*-*-*-*-*-*-*
emacs.geometry: 90x54

こういうのを記述して、コマンドラインから
$ xrdb ~/.Xresources
としてからEmacsを起動してみましょう。かなり見栄えが変わったと思います。
設定項目は見たまんま。backgroundを白に戻したければ
emacs*Background: White
としてやれば白くなる。みたいな感じです。詳しい情報は X (7) のman pageを見て下さい。
もちろん設定の必要がない部分は書く必要ありません。
問題になっているフォント指定はemacs*font:以下にこのよく見る記述法で書き込みます。
詳しく説明すると難儀なので、 xfontsel でググってみてください。
文字が大き過ぎるなら16を14に変えてみてもいいでしょう。
ウインドウがでかすぎるならgeometryの数値です。
ただ、変更するたびに
$ xrdb ~/.Xresources
するのは忘れないように。

mizunoさんのやりかたでも問題ないのですし、Emacs21から見栄えのカスタマイズが
非常に柔軟になっているので、その一環としてフォント設定もEmacsでやるのがのみこみやすいのですが
こちらは若干マシンパワー節約になっている気がするのと
.emacsを少しでも小さくしたいという事情とで私は愛用しています。

オフライン

 

#3 2007-04-26 10:50:44

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: Emacs でのフォント設定について

dek による投稿:

ひとつにはEdgyからアップグレードした私の環境にはttmkfdirがなかったので
ttmkfdirがない人はsudo apt-get install ttmkfdirしましょうね、というのと

失礼しました。Feisty にもデフォルトで ttmkfdir はインストールされていません。apt-get する必要があります。
どうやら書き込みを無意識のうちに省略してしまったようです。

dek による投稿:

~/.Xresourcesに

emacs*Background: DarkSlateGray
emacs*Foreground: White

(中略)

mizunoさんのやりかたでも問題ないのですし、Emacs21から見栄えのカスタマイズが
非常に柔軟になっているので、その一環としてフォント設定もEmacsでやるのがのみこみやすいのですが
こちらは若干マシンパワー節約になっている気がするのと
.emacsを少しでも小さくしたいという事情とで私は愛用しています。

なるほど。理解しました。
私のやり方は Emacs 側で使用する X のフォントを指定するわけですがこちらは逆なのですね。
ですが、私の感覚だと X という環境側が個別のアプリを制御するのはなんだか違和感があります。
.emacs が小さくなると起動が早くなる(のかな?)といったメリットもありそうですが、逆に .emacs に全て書けばひとつのファイルで設定が完結するわけで、この辺りは個人の好みでしょうね。

ちなみに私は色設定を .emacs に

;; デフォルトの色づけを変える
(add-hook 'font-lock-mode-hook '(lambda ()
  (set-face-foreground 'font-lock-builtin-face "spring green")
  (set-face-foreground 'font-lock-comment-face "slate gray")
(以下略)

といった感じで指定しています。

# ひょっとしてこういった設定も、起動の遅さに一役買ってるのかなぁ

オフライン

 

#4 2007-04-27 02:31:43

hiro
メンバ
登録日: 2006-11-06

Re: Emacs でのフォント設定について

よろしければ、色づけの参考にしたいので、「以下略」の部分を示していただけないでしょうか?

オフライン

 

#5 2007-04-27 11:56:11

mizuno
管理者
From: Kyoto
登録日: 2007-02-28

Re: Emacs でのフォント設定について

見た目まわりはこんな感じになっています。ちょっと無駄があるかもしれません。

;;フレーム設定
(setq default-frame-alist
      (append (list '(top . 50) ; 起動時の表示位置(上から)
                    '(left . 50) ; 起動時の表示位置(左から)
                    '(width . 150) ; 起動時のサイズ(幅)
                    '(height . 70) ; 起動時のサイズ(縦)
                    '(foreground-color . "#FFFFFF") ; 文字の色
                    '(background-color . "gray30") ; 背景の色
                    '(cursor-color . "gray") ; カーソルの色
               )
              default-frame-alist))

;;リージョンに色を付ける
(setq transient-mark-mode t)

;;フォントロック
(global-font-lock-mode 1)
(setq font-lock-support-mode 'jit-lock-mode)
;; 色づけは最大限に
(setq font-lock-maximum-decoration t)
;; デフォルトの色づけを変える
(add-hook 'font-lock-mode-hook '(lambda ()
  (set-face-foreground 'font-lock-builtin-face "spring green")
  (set-face-foreground 'font-lock-comment-face "slate gray")
  (set-face-foreground 'font-lock-string-face  "spring green")
  (set-face-foreground 'font-lock-keyword-face "khaki")
  (set-face-foreground 'font-lock-constant-face "violet")
  (set-face-foreground 'font-lock-function-name-face "hot pink")
  (set-face-foreground 'font-lock-variable-name-face "hot pink")
  (set-face-foreground 'font-lock-type-face "cyan")
  (set-face-foreground 'font-lock-warning-face "magenta")
  (set-face-bold-p 'font-lock-function-name-face t)
  (set-face-bold-p 'font-lock-warning-face nil)
))

オフライン

 

Board footer

Powered by FluxBB