牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Cocoa Emacs 利用時のみフォント設定を効かせるinit.elの設定、とバージョンとかで切り替える場合の設定。

異なるMacOS バージョンかつ Emacs 22 と 23 と共通の init.el にしたかったからこうなったよメモ。
(ここでは使用してない defvar で定義した変数もとりあえず入れとく)

(環境:MacOSX10.6, 10.4, Carbon Emacs 22, Cocoa Emacs 23)

Cocoa Emacs 利用時のみの設定

(defvar is_emacs22 (equal emacs-major-version 22))
(defvar is_emacs23 (equal emacs-major-version 23))
(defvar is_window-sys (not (eq (symbol-value 'window-system) nil)))
(defvar is_mac (or (eq window-system 'mac) (featurep 'ns)))
(defvar is_carbon (and is_mac is_emacs22 is_window-sys))
(defvar is_cocoa (and is_mac is_emacs23 is_window-sys))
(defvar is_inline-patch (eq (boundp 'mac-input-method-parameters) t))
(defvar is_darwin (eq system-type 'darwin))

(when is_cocoa
  ;; font setting for Emacs 23
  (set-face-attribute 'default nil
                      :family "Monaco"
                      :height 120)
  (set-fontset-font "fontset-default"
                    'japanese-jisx0208
                    '("Osaka" . "iso10646-1"))
  (set-fontset-font "fontset-default"
                    'katakana-jisx0201
                    '("Osaka" . "iso10646-1"))
  (setq face-font-rescale-alist
        '((".*Monaco-bold.*" . 1.0)
          (".*Monaco-medium.*" . 1.0)
          (".*Osaka-bold.*" . 1.0)
          (".*Osaka-medium.*" . 1.0)
          ("-cdac$" . 1.4)))
  )

font-spec を使わないのは MacOS10.4 環境の Emacs23 で動かなかったから。10.4で23使わないからいいんだけども、いちおう。


切り換える場合の設定(おまけ)

前記の defvar で定義した変数を利用して、環境ごとに切り替え。
以下設定例

(cond
 (is_carbon
  (require 'color-theme)
  (color-theme-initialize)
  (color-theme-arjen)
  )

 (is_cocoa
  ;; Aqua Emacs23 not have color-theme.el
  (require 'color-theme)
  (color-theme-initialize)
  (color-theme-dark-laptop)

  ;; カーソル点滅
  (blink-cursor-mode 1)

  ;; inline patch
  (when is_inline-patch
    (setq default-input-method "MacOSX")
    (mac-set-input-method-parameter
     "com.apple.keylayout.US" 'cursor-type 'bar)
    (mac-set-input-method-parameter
     "com.apple.inputmethod.Kotoeri.Japanese" 'cursor-type '(hbar . 3))
    (mac-set-input-method-parameter
     "com.apple.inputmethod.Kotoeri.Japanese" 'cursor-color "red")
    )

  ;; Drag and Drop
  (define-key global-map [ns-drag-file] 'ns-find-file)
  )
 )

参考サイト