Ticket #222 (new 不具合)

Opened 3 years ago

Last modified 2 years ago

BDF フォントのグリフが表示されない

Reported by: anonymous Assigned to:
Priority: major Milestone:
Component: Emacs Lisp Version: 3.00 (開発中)
Keywords: Cc:

Description

bdf フォントに対して font-unit-byte が 2 となるエンコーダを指定しても コードが 255 以下のグリフが表示されない

;;; font は efont のもの
(let ((lf '(bdf-font "c:/app/fonts/bdf/efont-unicode-bdf-0.4.2/h16.bdf"))
      (name "test-jisx0201-latin"))
  (define-ccl-program ccl-encode-jisx0201-latin-font
    '(0 ((if (r1 == 92)
	     (r1 = #xA5)
	   (if (r1 == 126)
	       (r1 = #x203E)))
	 (r1 >8= 0)
	 (r2 = r7)
	 )))
  (w32-regist-font-encoder 'encode-jisx0201-latin-font
			   'ccl-encode-jisx0201-latin-font 2)
  (w32-add-font
   name
   `((spec
      ((:char-spec ascii :height any) strict ,lf)
      ((:char-spec latin-jisx0201 :height any) strict ,lf
       ((encoding . encode-jisx0201-latin-font)))
      )))
  (set-frame-font name))

上記設定では (list-charset-chars 'latin-jisx0201) によって表示されるのは 上線(OVERLINE)のみ。

logfont として '(w32-logfont "Courier" 0 16 400 0 nil nil nil 0 1 1 49) を指定すれば逆に上線(OVERLINE)以外は表示される。

Attachments

Change History

11/23/05 19:55:26 changed by anonymous

多分ここだと思う。

  • mw32term.c

    old new  
    11291129        } 
    11301130    } 
    11311131  if (two_byte_p) 
    1132     *two_byte_p = (*char2b > 0xFF); 
     1132    *two_byte_p = (plf->encoding.font_unit_byte == 2); 
    11331133 
    11341134  return 0; 
    11351135} 

Add/Change #222 (BDF フォントのグリフが表示されない)




Change Properties
Action