[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
Re: [Q] 日本語のabbreviation
- X-ml-count: 2578
- Subject: Re: [Q] 日本語のabbreviation
- From: Shun-ichi GOTO <gotoh@xxxxxxxxxxx>
- Date: Sun, 06 Aug 2000 19:48:43 +0900 (JST)
- X-mailer: Mew version 1.95b51 on Emacs 20.6 / Mule 4.1 (AOI)
## 相変わらず仕事中。。。
>>>>> at Sat, 05 Aug 2000 17:36:41 +0900
>>>>> niso == ISO Naoyuki <niso@xxxxxxxxx> said,
niso> ニラ炒めにニンニクを加えると、うまさ倍増。▲
niso> ▲のところで、"ニ"に続きM-/ すると、"ニンニク" 次に "ニラ" が展開され
niso> るようなモノをどなたか作っていないだろうか、と思っているのです。
niso> ご存知ないでしょうか?
自分でも全く同じ希望を持っていましたので、
現実逃避ついでにちょっとだけやってみました。
それなりに目的は達成できているようです。
;; japanese word specific dabbrev
(defadvice dabbrev-expand (before jword (arg) activate)
(interactive "*P")
(let* ((regexp dabbrev-abbrev-char-regexp)
(dabbrev-abbrev-char-regexp regexp)
char ch)
(if (bobp)
()
(setq char (char-before)
ch (char-to-string char))
(cond
((string-match "[ア-ン]" ch)
(setq dabbrev-abbrev-char-regexp "[ア-ン]"))
((string-match "[あ-ん]" ch)
(setq dabbrev-abbrev-char-regexp "[あ-ん]"))
((string-match "[A-Z-a-z0-9]" ch)
(setq dabbrev-abbrev-char-regexp "[A-Za-z0-9]"))
((eq (char-charset char) 'japanese-jisx0208)
(setq dabbrev-abbrev-char-regexp
(concat "["
(char-to-string (make-char 'japanese-jisx0208 48 33))
"-"
(char-to-string (make-char 'japanese-jisx0208 126 126))
"]")))))))
カーソルの直前の文字がナニであるかによって、
平仮名は平仮名、カタカナはカタカナ、英字は英字、漢字は漢字 だけで
構成されるword を探すというもの。
niso> skk.elのコードを参考にして、abbrev.el をハックすれば、なんとか作れるよ
niso> うな気もするのですが...
上記のcode は条件判断の辺りも含め、かなりテキトーなので
誰か素敵にしてくれるとうれしい。
--- Regards,
Shun-ichi Goto <gotoh@xxxxxxxxxxx>
R&D Group, TAIYO Corp., Tokyo, JAPAN