Skip to content

Instantly share code, notes, and snippets.

@fukusaka
Created May 7, 2010 04:07
Show Gist options
  • Save fukusaka/393042 to your computer and use it in GitHub Desktop.
Save fukusaka/393042 to your computer and use it in GitHub Desktop.
;;
;; フォントの設定
;;
;; 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)))
)
))
))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment