; 東風フォントセットの設定　kochi-font.el for Meadow
;
; このファイルはSJISです。 
; create-fontset-from-request だと、ASCIIがうまく設定出来なかったので、
; new-fontset を使ってフォントセットを作成しています。
; LISPをよく知らないので力技です... :(
;
; このLISPを取り込むことで、
; kochi-gothic-normal-fontset　や kochi-gothic-small-fontset
; 等のフォントセットが扱えるようになります。
; SHIFTキーを押しながらマウスの左ボタンでポップアップメニュー
; の"Fontset"メニューを選んでフォントを変更してください。
;
; Meadow 1.4だと明朝フォントが扱えません。原因は不明です。
;
; 適当にemacs Lispパスに加えてから、適当に .emacsファイルに
; 以下を参考にカスタマイズしてください。
;
;使用例:
;(setq load-path
;     (append '( "このLISPがあるディレクトリ" ) load-path))
;
;(load-library  "kochi-font")
;(setq default-frame-alist
;      (append (list
;	       '(font . "kochi-gothic-normal-fontset") ; バッファのフォント
;	       '(ime-font . "kochi-gothic-normal"))    ; IMEのフォント
;      default-frame-alist))
;

(cond ((eq window-system 'w32)

; 固定幅の日本語フォントを設定する
(defun new-fixed-japanese-fontset-p (name family height base)
  (let ((width (/ height 2)))
    (w32-add-font name
		  (list (cons 'width width)
			(cons 'height height)
			(cons 'base base)
			(cons 'overhang 0)
			(cons 'fixed t)
			(cons 'encoding-type 4)))
    (w32-change-font-logfont
     name 0     ; normalg
     (list 'w32-logfont family 0 (- height) 400 0 nil nil nil 128 1 3 1))
    (w32-change-font-logfont
     name 1     ; bold
     (list 'w32-logfont family 0 (- height) 700 0 nil nil nil 128 1 3 1))
    (w32-change-font-logfont
     name 2     ; italic
     (list 'w32-logfont family 0 (- height) 400 0 t nil nil 128 1 3 1))
    (w32-change-font-logfont
     name 3     ; bold-italic
     (list 'w32-logfont family 0 (- height) 700 0 t nil nil 128 1 3 1))
    (new-fontset (concat name "-fontset")
		 (list (cons 'ascii name)
		       (cons 'latin-iso8859-1 name)
		       (cons 'latin-jisx0201 name)
		       (cons 'katakana-jisx0201 name)
		       ;(cons 'japanese-jisx0212 name)
		       (cons 'japanese-jisx0208 name)))))

; 複数サイズのフォントセットをまとめて設定する
(defun new-fixed-japanese-fontset-for-multi-size-p (name family)
  (let ((size-list (list '("-huge" 20 17)
			 '("-large" 16 14)
			 '("-normal" 14 12)
			 '("-small" 12 10)
			 '("-tiny" 10 8)))
	(m nil))
    (while size-list
      (setq m (car size-list))
      (new-fixed-japanese-fontset-p (concat name (nth 0 m))
				    family (nth 1 m) (nth 2 m))
      (setq size-list (cdr size-list)))))

;(new-fixed-japanese-fontset-for-multi-size-p "hg-gothic" "HGｺﾞｼｯｸE")
(new-fixed-japanese-fontset-for-multi-size-p "kochi-mincho" "東風明朝")
(new-fixed-japanese-fontset-for-multi-size-p "kochi-gothic" "東風ゴシック")

))
