At Tue, 05 Sep 2000 09:55:19 +0900,
Yuuichi Teranishi wrote:
ぼくの環境では、この場合、euc-japan で encode された
string を value として引き渡さないと日本語が表示されないようです。
よくわかっていないのでトンチンカンなことを言ってしまいました。
すみません。
結局、CVS 版の XEmacs で、
(setq file-name-coding-system 'euc-japan)
と設定したところ、無事 dialog、button に日本語表示できました。
おさわがせしました。
しかし、menubar に日本語を出そうとすると、
英語以外の文字列なのに accelerator をつけようとしておかしくなるようです。
次パートのような対処が必要なのではないかと思います。
例:
(progn
(easy-menu-define test-menu global-map "test-menu"
'("てすと"
["テスト" nil t]
["Test" nil t]))
(easy-menu-add test-menu))
Index: gui-x.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/gui-x.c,v
retrieving revision 1.14.2.30
diff -u -r1.14.2.30 gui-x.c
--- gui-x.c 2000/08/23 11:27:52 1.14.2.30
+++ gui-x.c 2000/09/06 02:43:56
@@ -371,11 +371,21 @@
LISP_STRING_TO_EXTERNAL_MALLOC (string, retval, Qlwlib_encoding);
else
{
- Bufbyte *chars = (Bufbyte *) alloca (strlen (name) + 3);
- chars[0] = '%';
- chars[1] = '_';
- memcpy (chars + 2, name, strlen (name) + 1);
- C_STRING_TO_EXTERNAL_MALLOC (chars, retval, Qlwlib_encoding);
+ Extbyte *chars;
+ LISP_STRING_TO_EXTERNAL (string, chars, Qlwlib_encoding);
+ if ('A' <= chars[0] && chars[0] <= 'Z' ||
+ 'a' <= chars[0] && chars[0] <= 'z' ||
+ '0' <= chars[0] && chars[0] <= '9')
+ {
+ retval = (Extbyte *) xmalloc (strlen (chars) + 3);
+ retval[0] = '%';
+ retval[1] = '_';
+ memcpy (retval + 2, chars, strlen (chars) + 1);
+ }
+ else
+ {
+ retval = xstrdup (chars);
+ }
}
return retval;
--
Yuuichi Teranishi (寺西裕一) <teranisi(a)gohome.org>
PGP 5.0i Public Key:
http://www.gohome.org/pgp5/teranisi.key
"I just want to live while I'm alive..."