[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:01492] Re: Wnn6の文字化け
前原です。
遅くなりましたが、レポートされていたバグが一応解決したので報告します。
From: maehara@xxxxxxxxxxxxxxxxxxxxx (Keita Maehara)
Subject: [debian-users:01214] Re: Wnn6の文字化け
Date: Thu, 24 Jul 1997 00:30:17 +0900
> From: Kentaro Toda <ktoda@xxxxxxxxxxxxxxxxxxxxxx>
> Subject: [debian-users:01199] Wnn6の文字化け
> Date: Wed, 23 Jul 1997 11:33:47 +0900
>
> > Wnn6とXemacs20-canna-wnnの組合わせで使っているのですが、デフォルトでは
> > M-kになっているカタカナ変換を使うと「ー」が「ゼ」に化けます。
>
> 確かにそうなりますね。気が付きませんでした。
>
> > これは一体どこに問題があるんでしょうか? Xemacsのバグ? debianパッケージ
> > のミス? Wnn6のバグ?
> > Wnn6を使えるクライアントがほかにないので、よくわからず困っています。
>
> 今、大学で使っている IRIX6.2 上の XEmacs で試してみたら同じ症状が起きま
> した。Debian 固有の問題ではなさそうです。
原因はやはり XEmacs の egg.el にあったようです。先日リリースされた最新の
β版である 20.3-b17 から egg.el のみに変更が加えられています。これを使用
すれば正常に動作するはずです。
この変更を 20.2 にも反映させたパッケージは近いうちにアップロードするつも
りですが、以下にパッチ(20.2 と 20.3-b17 の egg.el の差分)を付けておきま
すので、今すぐに修正したい方は利用してみて下さい。
修正手順:
1. xemacs20-supportel をインストールしておく。
# dpkg -i xemacs20-supportel_20.2-0.1.deb
2. /usr/lib/xemacs-20.2/lisp/egg/egg.el に添付パッチ(egg-fix.patch)を当
てる。
# cd /usr/lib/xemacs-20.2/lisp/egg
# patch < egg-fix.patch
# cp egg.elc egg.elc.orig (オプション)
3. egg.el を byte-compile する。
# xemacs -batch -f batch-byte-compile egg.el
これで OK のはずです。
***************
*** 862,869 ****
(interactive "r")
(goto-char start)
(while (re-search-forward kanji-katakana end end)
! (let ((ch (preceding-char)))
! (cond( (<= ch ?ン)
(delete-char -1)
(insert (make-char (find-charset 'japanese-jisx0208) 36 (char-octet ch 1))))))))
--- 862,872 ----
(interactive "r")
(goto-char start)
(while (re-search-forward kanji-katakana end end)
! (let ((ch (char-before (point))))
! (cond( (not (or (> ch ?ン)
! (eq ch ?ー)
! (eq ch ?゛)
! (eq ch ?゜)))
(delete-char -1)
(insert (make-char (find-charset 'japanese-jisx0208) 36 (char-octet ch 1))))))))
***************
*** 893,901 ****
(interactive "r")
(goto-char start)
(while (re-search-forward kanji-hiragana end end)
! (let ((ch (char-octet (preceding-char) 1)))
! (delete-char -1)
! (insert (make-char (find-charset 'japanese-jisx0208) 37 ch)))))
(defun katakana-paragraph ()
"katakana paragraph at or after point."
--- 896,905 ----
(interactive "r")
(goto-char start)
(while (re-search-forward kanji-hiragana end end)
! (let ((ch (char-before (point))))
! (cond ((not (memq ch '(?ー ?゛ ?゜)))
! (delete-char -1)
! (insert (make-char (find-charset 'japanese-jisx0208) 37 (char-octet ch 1))))))))
(defun katakana-paragraph ()
"katakana paragraph at or after point."
***************
*** 924,941 ****
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
! (while (re-search-forward "\\cS\\|\\cA" (point-max) (point-max))
(let* ((ch (preceding-char))
(ch1 (char-octet ch 0))
(ch2 (char-octet ch 1)))
! (cond ((= ?\241 ch1)
(let ((val (cdr (assq ch2 *hankaku-alist*))))
(if val (progn
(delete-char -1)
(insert val)))))
! ((= ?\243 ch1)
(delete-char -1)
! (insert (- ch2 ?\200 ))))))))
(defun hankaku-paragraph ()
"hankaku paragraph at or after point."
--- 928,948 ----
(save-restriction
(narrow-to-region start end)
(goto-char (point-min))
! (while (re-search-forward "\\cS\\|\\cA\\|\\cK" (point-max) (point-max))
(let* ((ch (preceding-char))
(ch1 (char-octet ch 0))
(ch2 (char-octet ch 1)))
! (cond ((= ch1 33) ;Symbols
(let ((val (cdr (assq ch2 *hankaku-alist*))))
(if val (progn
(delete-char -1)
(insert val)))))
! ; ((= ch1 37) ;Katakana
! ; (delete-char -1)
! ; (insert (- ch2 ?\200 )))
! ((= ch1 35) ;Alphas
(delete-char -1)
! (insert ch2)))))))
(defun hankaku-paragraph ()
"hankaku paragraph at or after point."
***************
*** 2552,2561 ****
(if egg:*fence-face*
(progn
(if (extentp egg:*fence-extent*)
! nil
! (setq egg:*fence-extent* (make-extent 1 1 nil t))
! (if egg:*fence-face* (set-extent-property egg:*fence-extent* 'face egg:*fence-face*)))
! (set-extent-endpoints egg:*fence-extent* egg:*region-start* egg:*region-end* ) )))
(defun egg:fence-face-off ()
(and egg:*fence-face*
--- 2559,2570 ----
(if egg:*fence-face*
(progn
(if (extentp egg:*fence-extent*)
! (set-extent-endpoints egg:*fence-extent* egg:*region-start* egg:*region-end*)
! (setq egg:*fence-extent* (make-extent egg:*region-start* egg:*region-end*))
! (set-extent-property egg:*fence-extent* 'start-open nil)
! (set-extent-property egg:*fence-extent* 'end-open nil)
! (set-extent-property egg:*fence-extent* 'detachable nil))
! (set-extent-face egg:*fence-extent* egg:*fence-face*))))
(defun egg:fence-face-off ()
(and egg:*fence-face*
----
前原 恵太
maehara@xxxxxxxxxxxxxxxxxxxxx debian depends on gnu
maehara@xxxxxxxxxxxxxxxxxxxxx linux provides freedom
PGP fingerprint = 82 37 2F 1E 06 ED C4 37 1E E2 C2 96 22 B8 B3 F1