[macemacsjp-cvs 132] CVS update: CarbonEmacsPackage/GPL/mac

Back to archive index

Seiji Zenitani zenit****@users*****
2005年 11月 19日 (土) 11:28:15 JST


Index: CarbonEmacsPackage/GPL/mac/carbon-font.el
diff -u CarbonEmacsPackage/GPL/mac/carbon-font.el:1.2 CarbonEmacsPackage/GPL/mac/carbon-font.el:1.3
--- CarbonEmacsPackage/GPL/mac/carbon-font.el:1.2	Tue Nov  1 00:48:26 2005
+++ CarbonEmacsPackage/GPL/mac/carbon-font.el	Sat Nov 19 11:28:15 2005
@@ -1,8 +1,8 @@
 ;;; carbon-font.el -- fontsets for Carbon Emacs -*- coding: iso-2022-7bit -*-
 
 ;; Copyright (C) 2004-2005 by T. Hiromatsu <matsu****@users*****>
-;; Version 1_5_1
-;; 2005-10-04
+;; Version 1_5_3
+;; 2005-11-17
 
 ;;; Commentary:
 
@@ -79,16 +79,45 @@
 ;;      (if (eq window-system 'mac) (require 'carbon-font))
 ;;
 ;;  2.3. set fontset
-;;      Fontset names doesn't include size. If you set the fontset like as
-;;          (set-default-font "fontset-hiraginomaru")
-;;      font size was set to 12 (default).
-;;
-;;      If you want to use another size, please use full fontset name like as
-;;          (set-default-font
-;;              "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru")
+;;      If font is defined like as 
+;;          "fontset-hiraginokaku",
+;;      12point of ヒラギノ角ゴシック(hiraginokaku) is used.
+;;
+;;      If you want to use other sizes, please use full XLFD name like as 
+;;            "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru"
+;;
+;;  2.3.1. If you are not familiar to emacs lisp, follow this section.
+;;
+;;      To define default fontset, I suggest you to use
+;;      'fixed-width-set-default-fontset as below.
+;;         12point
+;;             (fixed-width-set-default-fontset "fontset-hiraginokaku")
+;;         other sizes
+;;             (fixed-width-set-default-fontset
+;;                  "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginokaku")
+;;
+;;      On initial frame, to use different font from default one, please set 
+;;          (add-to-list 'initial-frame-alist '(font . "fontset-hiraginomaru"))
+;;      or
 ;;          (add-to-list
-;;              'default-frame-alist
-;;              '(font . "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru"))
+;;           'initial-frame-alist
+;;           '(font . "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru"))
+;;
+;;      To change fontset only on current frame, set
+;;          (set-frame-font "fontset-hiraginomaru")
+;;      or
+;;          (set-frame-font
+;;           "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru")
+;;
+;;  2.3.2. If you are familiar to E-lisps
+;;
+;;      In .emacs.el, by setting ('font . fontset-name) in 
+;;          'default-frame-alist
+;;      or
+;;          'initial-frame-alist
+;;      font "fontset-name" should be used.
+;;      
+;;      To change font on current frame, please use 'set-frame-font.
 ;;
 ;;  3. create your own fontset
 ;;      If you want to create another fontset, please use  new function
@@ -170,22 +199,48 @@
 ;;      としてください。
 ;;
 ;;  2.3. set fontset
-;;      次のようにした場合、
-;;          (set-default-font "fontset-hiraginokaku")
+;;      次のように指定した場合、
+;;          "fontset-hiraginokaku"
 ;;      ヒラギノ角ゴシックの12point が使われます。
 ;;
 ;;      これ以外のサイズを使いたい場合は、
+;;            "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru"
+;;      の様に、フルXLFDネームを指定してください。
 ;;
-;;           (set-default-font
-;;            "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru")
+;;  2.3.1. emacs lisp に馴染の無い方の為に
+;;
+;;      デフォルトで使うフォントセットの指定する場合は以下のように
+;;      fixed-width-set-default-fontset を使ってください。
+;;         12pointを使う場合
+;;             (fixed-width-set-default-fontset "fontset-hiraginokaku")
+;;         12point以外のサイズを使う場合
+;;             (fixed-width-set-default-fontset
+;;                  "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginokaku")
+;;
+;;      最初のフレームだけ、別のfontsetを使いたい場合は、
+;;          (add-to-list 'initial-frame-alist '(font . "fontset-hiraginomaru"))
+;;      や、
 ;;          (add-to-list
-;;           'default-frame-alist
+;;           'initial-frame-alist
 ;;           '(font . "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru"))
+;;      等として下さい。
 ;;
+;;      今カーソルの有るフレームだけ、フォントを変更したい場合は、
+;;          (set-frame-font "fontset-hiraginomaru")
+;;      や
+;;          (set-frame-font
+;;           "-*-*-medium-r-normal--8-*-*-*-*-*-fontset-hiraginomaru")
 ;;      としてください。
 ;;
-;;      最初は、fontsetの指定をしないで、shift + click で出てくる、fontset
-;;      menu から、お好みの物を探す方が良いかもしれません。
+;; 2.3.2. emacs lisp を理解して居られる方に
+;;
+;;      .emacs.el で
+;;          'default-frame-alist
+;;      及び
+;;          'initial-frame-alist
+;;      に、('font . fontset-name) を設定することにより、fontset-name が各々
+;;      有効になります。
+;;      又、現在のフレームのフォントを変更するには、set-frame-font をお使い下さい。
 ;;
 ;;  3. 別のフォントセットを作りたい場合
 ;;      別の組合せの fontset を設定したい場合。(新機能)
@@ -268,7 +323,7 @@
 (defvar carbon-font-defined-sizes '(12 7 8 9 10 14 16 18 20 24))
 
 ;;
-;; hiraginomaru** = ヒラギノ丸ゴ + monaco(alternative) 
+;; hiraginomaru = ヒラギノ丸ゴ + monaco
 ;;
 
 (defvar carbon-font-encode-family-list-hiraginomaru
@@ -287,7 +342,7 @@
                             carbon-font-encode-family-list-hiraginomaru)
 
 ;;
-;; hiraginokaku** = ヒラギノ角ゴ + monaco(alternative) 
+;; hiraginokaku = ヒラギノ角ゴ + monaco
 ;;
 
 (defvar carbon-font-encode-family-list-hiraginokaku
@@ -305,7 +360,7 @@
                             carbon-font-encode-family-list-hiraginokaku)
 
 ;;
-;; hiraginomin** = ヒラギノ明朝 + courier 
+;; hiraginomin = ヒラギノ明朝 + courier 
 ;;
 
 (defvar carbon-font-encode-family-list-hiraginomin
@@ -323,7 +378,7 @@
                             carbon-font-encode-family-list-hiraginomin)
 
 ;;
-;; osaka** = osaka + monaco(alternative) 
+;; osaka = osaka + monaco
 ;;
 
 (defvar carbon-font-encode-family-list-osaka
Index: CarbonEmacsPackage/GPL/mac/fixed-width-fontset.el
diff -u CarbonEmacsPackage/GPL/mac/fixed-width-fontset.el:1.2 CarbonEmacsPackage/GPL/mac/fixed-width-fontset.el:1.3
--- CarbonEmacsPackage/GPL/mac/fixed-width-fontset.el:1.2	Tue Nov  1 00:48:26 2005
+++ CarbonEmacsPackage/GPL/mac/fixed-width-fontset.el	Sat Nov 19 11:28:15 2005
@@ -1,8 +1,8 @@
 ;;; fixed-width-fontset.el -*- coding: iso-2022-7bit -*-
 
 ;; Copyright (C) 2005 by T. Hiromatsu <matsu****@users*****>
-;; Version 1_0_1
-;; 2005-10-04
+;; Version 1_0_3
+;; 2005-11-17
 
 ;;; Commentary:
 
@@ -92,11 +92,16 @@
 ;;  カレントフレームで使われているフォントの、リスケールファクターを、
 ;;  fixed-width-scale-alist から、取得する。
 
-(defun fixed-width-append-factor (&optional frame)
+(defun fixed-width-append-factor (&optional frame init)
   "取得した rescale factor で、face-font-rescale-alist を書き換える。"
-  (let* ((rescale-alist (copy-alist face-font-rescale-alist))
-         (xlfd-fields (x-decompose-font-name (frame-parameter frame 'font)))
-         (size (aref xlfd-fields xlfd-regexp-pixelsize-subnum)))
+  (let* ((alst (frame-parameter frame 'face-font-rescale-alist))
+         (rescale-alist (copy-alist (or alst face-font-rescale-alist)))
+         (init-font (if init (cdr (assoc 'font initial-frame-alist))))
+         (frm-font (frame-parameter frame 'font))
+         (def-font (cdr (assoc 'font default-frame-alist)))
+         (fontset (or init-font frm-font def-font "fontset-default"))
+         (asc (if (fontset-name-p fontset) (fontset-font fontset ?a) fontset))
+         (size (aref (x-decompose-font-name asc) xlfd-regexp-pixelsize-subnum)))
     (dolist (elt fixed-width-get-scale-alist)
       (let* ((font (car elt))
              (new (or (cdr (assoc size elt)) 1.0))
@@ -108,20 +113,38 @@
   "Initialize frame-parameter when creating new frame."
   (let ((lst `((face-font-rescale-alist . ,(fixed-width-append-factor frame)))))
     (modify-frame-parameters frame lst)
-    (fixed-width-append-factor fixed-width-initial-frame)))
+    (if (frame-live-p fixed-width-initial-frame)
+        (fixed-width-append-factor fixed-width-initial-frame))))
+
+(defun fixed-width-set-default-fontset (fontset)
+  "Set default font of default-frame-alist"
+  (let ((old (assoc 'font default-frame-alist)))
+    (if old (setcdr old fontset)
+      (add-to-list 'default-frame-alist (cons 'font fontset)))))
 
 ;;  フォントが変更された場合にフックをかけて、
 ;;  fixed-width-append-factor を起動する。
 
-(defvar fixed-width-initial-frame (caar (cdr (current-frame-configuration))))
+(defvar fixed-width-initial-frame nil)
 
 (make-variable-frame-local 'face-font-rescale-alist)
 
 (add-hook 'after-make-frame-functions
           '(lambda (frame) (fixed-width-make-frame-function frame)))
 
+(add-hook 'before-make-frame-hook
+          '(lambda ()
+             (or fixed-width-initial-frame
+                 (setq fixed-width-initial-frame (selected-frame)))))
+
 (add-hook 'after-setting-font-hook
-          '(lambda () (fixed-width-append-factor nil)))
+          '(lambda ()
+             (fixed-width-append-factor nil)
+             (if (frame-live-p fixed-width-initial-frame)
+                 (progn (select-frame fixed-width-initial-frame)
+                        (fixed-width-append-factor fixed-width-initial-frame)))))
+
+(add-hook 'emacs-startup-hook '(lambda () (fixed-width-append-factor nil t)))
 
 (provide 'fixed-width-fontset)
 


macemacsjp-cvs メーリングリストの案内
Back to archive index