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

Meadow-1.99a4 のフォント設定



有沢です。

Meadow-1.99a4 をインストールしたのですが、以下のようにフォントの
設定をしたところ、アプリケーションエラーとなりました。

1. RunMW32.exe -q で起動する。
2. 以下を scratch で評価する。
(w32-add-font
   "fixed-14"
   '((strict-spec
      ((:char-spec ascii :height any)
       (w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 0 1 3 49))
      ((:char-spec ascii :height any :weight bold)
       (w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 0 1 3 49)
       ((spacing . -1)))
      ((:char-spec japanese-jisx0208 :height any)
       (w32-logfont "MS ゴシック" 0 -14 400 0 nil nil nil 128 1 3 49))
      ((:char-spec japanese-jisx0208 :height any :weight bold)
       (w32-logfont "MS ゴシック" 0 -14 700 0 nil nil nil 128 1 3 49)
       ((spacing . -1)))
      )))
3. Shift + mouse1 で "fixed-14" を選択する

spacing を設定しないと問題ありません。また、三好さんの Windows フォントを
使う設定でも問題ありませんでした。


詳細は以下の通りです。

○環境

  Meadow-KUROGANE-1_99a4
  Microsoft Visual C++ 6.0 (コンパイラ)
  Microsoft Visual Studio .NET (デバッガ)
  Microsoft Windows 2000 5.00.2195 Service Pack 3

○呼出し履歴
>	Meadow.exe!mw32_logfont_equal(MW32LogicalFont * self=0x01e91580, MW32LogicalFont * other=0x0000003c)  行 343 + 0x9	C
 	Meadow.exe!mw32_register_lf_hash(MW32LogicalFont * plf=0x01e91580)  行 1310 + 0xe	C
 	Meadow.exe!mw32_register_logical_font(frame * f=0x01c3ca00, MW32LogicalFont * plfcand=0x01e91580)  行 1488 + 0x9	C
 	Meadow.exe!mw32_load_lf_from_lisp_object(frame * f=0x01c3ca00, MW32FontRequest * pfr=0x01c78810, int llf=1373982740, int option=1373985684)  行 1583 + 0xd	C
 	Meadow.exe!mw32_strict_logical_font_loader(MW32FontRequest * pfr=0x01c78810, frame * f=0x01c3ca00, face * face=0x01e6e400, int c=0)  行 1846 + 0x15	C
 	Meadow.exe!mw32_load_lf(MW32FontRequest * pfr=0x01c78810, frame * f=0x01c3ca00, face * face=0x01e6e400, int c=0)  行 1371 + 0x13	C
 	Meadow.exe!load_face_font(frame * f=0x01c3ca00, face * face=0x01e6e400, int c=0)  行 1980 + 0x15	C
 	Meadow.exe!realize_face(face_cache * cache=0x01c61500, int * attrs=0x00ffec2c, int c=0, face * base_face=0x00000000, int former_face_id=-1)  行 6322 + 0x14	C
 	Meadow.exe!lookup_face(frame * f=0x01c3ca00, int * attr=0x00ffec2c, int c=0, face * base_face=0x00000000)  行 5327 + 0x17	C
 	Meadow.exe!face_at_string_position(window * w=0x01c3c800, int string=831063464, int pos=1, int bufpos=0, int region_beg=-1, int region_end=-1, int * endptr=0x00ffecf0, int base_face_id=1, int mouse_p=0)  行 6994 + 0x11	C
 	Meadow.exe!display_string(unsigned char * string=0x01c13018, int lisp_string=294417064, int face_string=831063464, int face_string_pos=1, int start=0, it * it=0x00ffef10, int field_width=12, int precision=-7, int max_x=0, int multibyte=0)  行 14380 + 0x34	C
 	Meadow.exe!display_mode_element(it * it=0x00ffef10, int depth=4, int field_width=-7, int precision=-7, int elt=831063464)  行 13546 + 0x2c	C
 	Meadow.exe!display_mode_element(it * it=0x00ffef10, int depth=3, int field_width=-7, int precision=-7, int elt=1367167184)  行 13694 + 0x27	C
 	Meadow.exe!display_mode_element(it * it=0x00ffef10, int depth=1, int field_width=0, int precision=0, int elt=1367286544)  行 13694 + 0x27	C
 	Meadow.exe!display_mode_line(window * w=0x01c3c800, int face_id=1, int format=1367286496)  行 13406 + 0x16	C
 	Meadow.exe!display_mode_lines(window * w=0x01c3c800)  行 13364 + 0x18	C
 	Meadow.exe!redisplay_window(int window=1103349760, int just_this_one_p=0)  行 10426 + 0x9	C
 	Meadow.exe!redisplay_windows(int window=1103349760)  行 9186 + 0xb	C
 	Meadow.exe!redisplay_internal(int preserve_echo_area=0)  行 8790 + 0xf	C
 	Meadow.exe!redisplay()  行 8235 + 0x7	C
 	Meadow.exe!read_char(int commandflag=1, int nmaps=2, int * maps=0x00fffaac, int prev_event=294417064, int * used_mouse_menu=0x00fffbd4)  行 2285	C
 	Meadow.exe!read_key_sequence(int * keybuf=0x00fffd4c, int bufsize=30, int prompt=294417064, int dont_downcase_last=0, int can_return_switch_frame=1, int fix_current_buffer=1)  行 8391 + 0x2d	C
 	Meadow.exe!command_loop_1()  行 1452 + 0x1b	C
 	Meadow.exe!internal_condition_case(int (void)* bfun=0x005209d7, int handlers=294418432, int (void)* hfun=0x005205ca)  行 1273 + 0x3	C
 	Meadow.exe!command_loop_2()  行 1256 + 0x15	C
 	Meadow.exe!internal_catch(int tag=294480400, int (void)* func=0x0052089f, int arg=294417064)  行 1036 + 0x7	C
 	Meadow.exe!command_loop()  行 1235 + 0x17	C
 	Meadow.exe!recursive_edit_1()  行 961 + 0x5	C
 	Meadow.exe!Frecursive_edit()  行 1018	C
 	Meadow.exe!main()  行 1683	C
 	Meadow.exe!_mainCRTStartup()  + 0xb4	
 	Meadow.exe!mw32_start()  行 130	C
 	KERNEL32.DLL!77e7847c() 	

○mw32_register_lf_hash() でのローカル変数の一覧
-	plf	0x01e91580	MW32LogicalFont *
+	pfr	0x01c78810	MW32FontRequest *
	idx	20	int
	width	8	int
	ascent	12	int
	descent	4	int
	overhang	0	int
	encoding_type	0	int
	relative_compose	0	int
	default_ascent	0	int
	fixed_pitch	1	int
	dim	1	int
	character_spacing	-1	int
+	ccl_method	{...}	ccl_id_type
+	fontip	0x00000000	font_info *
	hash	0x004e4853 mw32_default_hash_function(MW32LogicalFont *)	int (MW32LogicalFont *)*
	textout	0x004e7a02	void (MW32LogicalFont *, HDC__ *, unsigned char *, int, int, int, int *, tagRECT *, int)*
	glyph_metric	0x004e7a76	MW32CharMetric (MW32LogicalFont *, HDC__ *, int)*
	set_layout	0x004e7cca	int (MW32LogicalFont *, HDC__ *, unsigned char *, int, int, int *, int *, int *)*
	free	0x004e7e66	void (MW32LogicalFont *)*
	equal	0x004e7e99	int (MW32LogicalFont *, MW32LogicalFont *)*
+	pnext	0x00000000	MW32LogicalFont *
	pphys_type	0	int
	pphys	0x01c74000	void *
+	pclfb	0x00000000	MW32LogicalFont *
+	pclf	0x0000003c	MW32LogicalFont *
	hashval	-6122120	int
	idx	-3	int

# hashval が変?


以上、よろしくお願いします。

-- 
有沢 明宏