;; ;; フォントの設定 ;; ;; VMware 上の X Server であるか? (defvar my-x-on-vmware nil) (if (string-match "^HOSTNAME-ON-VMWARE" (system-name)) (setq my-x-on-vmware t)) (when window-system (cond ;; Ver.21 以前 ((<= emacs-major-version 21) (set-default-font "fontset-standard")) ;; X / emacs22 ((and (eq window-system 'x) (= emacs-major-version 22)) (dolist (fspec '("-*-fixed-medium-r-normal--12-*-*-*-*-*-fontset-12" "-*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14" "-*-fixed-medium-r-normal--16-*-*-*-*-*-fontset-16" "-*-fixed-medium-r-normal--18-*-*-*-*-*-fontset-18")) (if (not (assoc fspec fontset-alias-alist)) (create-fontset-from-fontset-spec fspec))) (add-to-list 'default-frame-alist '(font . "fontset-14") t)) ;; CarbonEmacs ((eq window-system 'mac) (require 'carbon-font) (setq mac-allow-anti-aliasing t) (fixed-width-set-fontset "hirakaku_w3" 12)) ;; Emacs 23 以上 ((>= emacs-major-version 23) (let (my-font-height my-font my-font-ja my-font-size my-fontset) (cond ;; for X (debian/ubuntu/fedora) ((eq window-system 'x) ;;(setq my-font-height 90) (setq my-font-height 105) ;;(setq my-font-height 120) ;;(setq my-font "Monospace") (setq my-font "Inconsolata") ;;(setq my-font "Takaoゴシック") ;;(setq my-font-ja "VL ゴシック") ;;(setq my-font-ja "Takaoゴシック") (setq my-font-ja "IPAゴシック") (setq face-font-rescale-alist '(("-cdac$" . 1.3))) ;; VMware 上のX11では、800x600 のとき 96 dpi になるように調節されている。 ;; なので、別のサイズやフルスクリーンにすると、dpi の値が変化する。 ;; 結果、Emacs Xft では同じ pt に対するpixel値が大きくなってしまう。 ;; 対処不明。。。取り敢えず直接 pixel サイズで指定して対処? (when my-x-on-vmware (setq my-font-size 14)) ) ;; Cocoa Emacs ((eq window-system 'ns) (setq mac-allow-anti-aliasing t) (setq my-font-height 120) ;;(setq my-font "Courier") ;;(setq my-font "Courier New") ;;(setq my-font "Osaka-Mono") ;;(setq my-font "Monaco") ;; XCode 3.1 で使っているフォント (setq my-font "Menlo") ;; XCode 3.2 で使ってるフォント ;;(setq my-font "Consolas") (setq my-font-ja "Hiragino Kaku Gothic Pro") ;;(setq my-font-ja "Hiragino Maru Gothic Pro") ;;(setq my-font-ja "IPAゴシック") ;; フォントサイズの微調節 (12ptで合うように) (setq face-font-rescale-alist '(("^-apple-hiragino.*" . 1.2) (".*osaka-bold.*" . 1.2) (".*osaka-medium.*" . 1.2) (".*courier-bold-.*-mac-roman" . 1.0) (".*monaco cy-bold-.*-mac-cyrillic" . 0.9) (".*monaco-bold-.*-mac-roman" . 0.9) ("-cdac$" . 1.3))) ) ;; NTEmacs ((eq window-system 'w32) (setq scalable-fonts-allowed t) (setq w32-enable-synthesized-fonts t) (setq my-font-height 100) ;;(setq my-font "MS ゴシック") ;;(setq my-font "VL ゴシック") ;;(setq my-font "IPAゴシック") ;;(setq my-font "Takaoゴシック") ;;(setq my-font "Inconsolata") (setq my-font "Consolas") ;;(setq my-font "DejaVu Sans Mono") ;;(setq my-font-ja "MS ゴシック") ;;(setq my-font-ja "VL ゴシック") (setq my-font-ja "IPAゴシック") ;;(setq my-font-ja "Takaoゴシック") ;;(setq my-font-ja "メイリオ") ;; ime-font の設定がわからん ;; フォントサイズの微調節 (10ptで合うように) (setq face-font-rescale-alist '((".*MS.*bold.*iso8859.*" . 0.9) (".*MS.*bold.*jisx02.*" . 0.95) (".*DejaVu Sans.*" . 0.9) (".*メイリオ.*" . 1.1) ("-cdac$" . 1.3))) ;;(dolist (e face-font-rescale-alist) ;; (setcar e (encode-coding-string (car e) 'emacs-mule))) ) ) ;; デフォルトフォント設定 (cond ;; pixel 単位で指定 ((and my-font-size my-font) (setq my-fontset (create-fontset-from-ascii-font (format "%s:size=%d" my-font my-font-size)))) ;; 高さを pt 単位で指定 (my-font (set-face-attribute 'default nil :family my-font :height my-font-height) ;;(set-frame-font (format "%s-%d" my-font (/ my-font-height 10))) ) ) (when my-fontset (add-to-list 'default-frame-alist `(font . ,my-fontset) t)) ;; 日本語文字に別のフォントを指定 (when my-font-ja (let ((fn (or my-fontset (frame-parameter nil 'font))) (rg "iso10646-1")) (set-fontset-font fn 'katakana-jisx0201 `(,my-font-ja . ,rg)) (set-fontset-font fn 'japanese-jisx0208 `(,my-font-ja . ,rg)) (set-fontset-font fn 'japanese-jisx0212 `(,my-font-ja . ,rg))) ) )) ))