[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

x-face missing?



猪股と申します。
いつもお世話になります。

一念発起してx-faceを表示させようと奮闘中なのですが、
どうしても白抜き四角になってしまいます。

x-faceを設定する以前は何も表示されていなかったので、
設定自体は有効になっていると思われるのですが、何が
足りないのでしょうか?

フォントはあちらこちらを参考にしてこのように設定して
おります。

;;;;;;;;;;;;;;;;
;;; font設定 ;;;
;;;;;;;;;;;;;;;;
;; フォント設定用の補助関数
(defun my-define-font (prefix font-param logfont-charset-list)
  (let (charset-font-list cell)
    (while (setq cell (car logfont-charset-list))
      (let ((logfont-list (car cell))
            (charset-alist (car (cdr cell))))
        (while (setq cell (car charset-alist))
          (let* ((charset (car cell))
                 (encoding (cdr cell))
                 (font-name (concat prefix (symbol-name charset))))
            (create-font-from-logfont-list font-name
                                           logfont-list encoding font-param)
            (setq charset-font-list
                  (cons (cons charset font-name) charset-font-list))
            (setq charset-alist (cdr charset-alist))))
        (setq logfont-charset-list (cdr logfont-charset-list))))
    charset-font-list))

;; 標準フォントの設定
(let (charset-font-list                 ; 文字集合とフォントの連想リスト
      (font-param '((overhang   . 0)    ; フォント表示用のパラメタ
                    (base       . 16)   ; default 16, base と height の差で行間を調整
                    (height     . 18)   ; default 18
                    (width      . 8)))) ; default 8
  (let ((logfont-charset-list
         '(
           ;; 英字フォント
           (
            ;; 論理フォントのリスト
            ;; ノーマル、ボールド、イタリック、ボールド + イタリックの順
            (
	     ;(w32-logfont "name" "height" "width" "slant" "italic" "strike" "?"
	     ;	  "chara-set" "quality "pitch-and-family")

 	     (w32-logfont "FixedSys" 0 -19 400 0 nil nil nil 128 1 1 1);normal
 	     (w32-logfont "FixedSys" 0 -19 400 0 nil nil nil 128 1 1 1);bold
; 	     (w32-logfont "FixedSys" 0 -19 400 0   t nil nil 128 1 1 1)
					; ↓italic 表示はしない。する場合 ↑
 	     (w32-logfont "FixedSys" 0 -19 400 0   nil nil nil 128 1 1 1);italic
					; ↓italic bold 表示はしない
 	     (w32-logfont "FixedSys" 0 -19 400 0   nil nil nil 128 1 1 1);bold italic
             )
            ;; 文字集合とフォントのコーディング方法の連想リスト
            ((ascii             . 0)
             (latin-iso8859-1   . 1)))
           ;; 日本語フォント
           ((
 	     (w32-logfont "FixedSys" 0 -19 400 0 nil nil nil 128 1 1 1)
 	     (w32-logfont "FixedSys" 0 -19 700 0 nil nil nil 128 1 1 1)
 	     (w32-logfont "FixedSys" 0 -19 400 0 nil nil nil 128 1 1 1)
 	     (w32-logfont "FixedSys" 0 -19 700 0 nil nil nil 128 1 1 1)
	     )
            ((latin-jisx0201    . 0)
             (katakana-jisx0201 . 4)
             (japanese-jisx0208 . 4))))))
    ;; フォントの作成
    ;; 結果は文字集合と作成したフォントの連想リスト
    (setq charset-font-list
          (my-define-font "w16-" font-param logfont-charset-list)))
  ;; x-face, Gnus の起動画面を表示するための ビットマップフォントの作成
  (let ((font-file "d:/Meadow/fonts/bdf/etl8x16-bitmap.bdf"))
    (setq font-file (expand-file-name font-file)) ; ファイル名を展開
    (if (and (locate-library "bitmap")  ; ライブラリの有無をチェック
             (file-exists-p font-file)) ; フォントファイルの有無をチェック
        (let ((logfont-charset-list
               (list (list (list
                            (list 'bdf-font font-file))
                           '((bitmap    . 0))))))
          (require 'bitmap)
          (setq charset-font-list
                (append (my-define-font "bdf16-" font-param
                                        logfont-charset-list)
                        charset-font-list)))))
  
  ;; フォントセットの作成
  (new-fontset "standard-fontset" charset-font-list))

;; 小さめのフォントの設定
;; このサイズだと、l と 1 の区別ができないのが難点
;; また、bitmap も正しく表示されないが仕方がない
(let (charset-font-list
      (font-param '((overhang   . 0)
                    (base       . 10)
                    (height     . 14)
                    (width      . 7))))
  (let ((logfont-charset-list
         '((((w32-logfont "Courier New" 0 -12 400 0 nil nil nil 0 1 3 49)
             (w32-logfont "Courier New" 0 -12 700 0 nil nil nil 0 1 3 49)
             (w32-logfont "Courier New" 0 -12 400 0   t nil nil 0 1 3 49)
             (w32-logfont "Courier New" 0 -12 700 0   t nil nil 0 1 3 49))
            ((ascii             . 0)
             (latin-iso8859-1   . 1)))
           (((w32-logfont "MS ゴシック" 0 -12 400 0 nil nil nil 128 1 3 49)
             (w32-logfont "MS ゴシック" 0 -12 700 0 nil nil nil 128 1 3 49)
             (w32-logfont "MS ゴシック" 0 -12 400 0   t nil nil 128 1 3 49)
             (w32-logfont "MS ゴシック" 0 -12 700 0   t nil nil 128 1 3 49))
            ((latin-jisx0201    . 0)
             (katakana-jisx0201 . 4)
             (japanese-jisx0208 . 4))))))
    (setq charset-font-list
          (my-define-font "w14-" font-param logfont-charset-list)))

  ;; x-face, Gnus の起動画面の表示用に設定するための BDF フォントの設定
  (let ((font "bdf16-bitmap"))
    (if (member font (w32-font-list))   ; すでに登録されているならば
        (setq charset-font-list
              (cons (cons 'bitmap font) charset-font-list))))

  ;; fontset の作成
  (new-fontset "small-fontset" charset-font-list))

;; BDF フォントの設定
(let ((base "d:/Meadow/fonts/bdf/intlfonts/")) ; フォントディレクトリを指定
  (setq base (expand-file-name base)) ; ファイル名の展開
  (if (file-exists-p base)              ; ディレクトリの有無をチェック
      (let ((font-param '((overhang     . 0)
                          (base         . 14)
                          (height       . 16)
                          (width        . 8)))
            charset-font-list)
        ;;
        (let ((logfont-charset-list
               (list
                (list
                 (list
                  (list 'bdf-font (concat base "European/lt1-16-etl.bdf"))
                  (list 'bdf-font (concat base "European/lt1-16b-etl.bdf"))
                  (list 'bdf-font (concat base "European/lt1-16i-etl.bdf"))
                  (list 'bdf-font (concat base "European/lt1-16bi-etl.bdf")))
                 '((ascii               . 0)
                   (latin-iso8859-1     . 1)))
                (list
                 (list
                  (list 'bdf-font (concat base "Japanese.X/8x16rk.bdf")))
                 '((latin-jisx0201      . 0)
                   (katakana-jisx0201   . 1)))
                (list
                 (list
                  (list 'bdf-font (concat base "Japanese.X/jiskan16.bdf")))
                 '((japanese-jisx0208   . 0))))))
          (setq charset-font-list (my-define-font "bdf16-" font-param
                                         logfont-charset-list)))
        ;;
        (let ((font "bdf16-bitmap"))
          (if (member font (w32-font-list))
              (setq charset-font-list
                    (cons (cons 'bitmap font) charset-font-list))))

        ;; fontset の作成
        (new-fontset "bdf-fontset" charset-font-list))))

;;; BDF フォントを入れているディレクトリ
(setq bdf-font-directory "d:/Meadow/fonts/bdf/")

;;; Fontset: "tt16"
;(load "~/fontset-tt/fontset-tt16") ; Courier New
(load "~/fontset-tt/fontset-tt16-a") ; Andale Mono

; ;; fontset の作成
; (new-fontset "bdf-fontset" charset-font-list)

;; BDF フォントセット作成補助
(load "~/fontset-bdf/my-w32-configure-bdf-font")

何がおかしいのでしょうか??
ご指導いただければ幸いです。よろしくお願いいたします。