X-ML-Name: mule-ja X-Seqno: 07824 X-MLServer: fml [fml 2.2A#40]; post only (only members can post) X-ML-Info: If you have a question, send a mail with the body "help" (without quotes) to the address mule-ja-ctl@m17n.org; help= Mime-Version: 1.0 Precedence: bulk Lines: 71 X-Mail-Count: 07824 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 8bit Subject: Re: [E21] private charset From: Kenichi Handa From: Kenichi Handa To: mule-ja@m17n.org Date: Mon, 20 Nov 2000 20:50:39 +0900 (JST) Reply-To: mule-ja@m17n.org Katsumi Yamaoka writes: > src/charset.h によれば、DIMENSION=2, WIDTH=1 の private charset > に割り当てられた CHARSET-ID は 0xF0 から 0xF4 の範囲なのですが、 > lisp/international/mule-conf.el ですべて使い切ってしまっています。 > この範囲を少しだけ広げていただくことはできませんでしょうか? > (condition-case err > (define-charset nil 'bitmap > [2 96 1 0 ?0 0 "BITMAP" "BITMAP.8x16" "8x16 bitmap elements"]) > (error err)) > => (error "There's no room for a new private charset bitmap") おっと、すいません。WIDTH によって charset-id を制限するのを 止めようと思って忘れていました。 以下のパッチを御試しください。一個だけ残っている charset-id 253 が使えるはずです。 ただ、Emacs 21 の新しい display engine のおかげでもう bitmap-mule の役割は終ったと言えます。API だけ残して、 create-image を使って書き直すのが良いと思います。 −− けんちゃん@ETL handa@etl.go.jp 2000-11-20 Kenichi Handa * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID by WIDTH. Index: charset.c =================================================================== RCS file: /cvs/emacs/src/charset.c,v retrieving revision 1.108 retrieving revision 1.109 diff -c -c -r1.108 -r1.109 *** charset.c 2000/10/11 14:10:28 1.108 --- charset.c 2000/11/20 11:40:45 1.109 *************** *** 597,613 **** if (dimension == 1) { ! if (width == 1) ! from = LEADING_CODE_EXT_11, to = LEADING_CODE_EXT_12; ! else ! from = LEADING_CODE_EXT_12, to = LEADING_CODE_EXT_21; } else { ! if (width == 1) ! from = LEADING_CODE_EXT_21, to = LEADING_CODE_EXT_22; ! else ! from = LEADING_CODE_EXT_22, to = LEADING_CODE_EXT_MAX + 1; } for (charset = from; charset < to; charset++) --- 597,609 ---- if (dimension == 1) { ! from = LEADING_CODE_EXT_11; ! to = LEADING_CODE_EXT_21; } else { ! from = LEADING_CODE_EXT_21; ! to = LEADING_CODE_EXT_MAX + 1; } for (charset = from; charset < to; charset++)