--- /dev/null
+1997-09-24 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * nabe: Version 0.2 was released.
+
+ * README.ja: Modify for nabe.
+
+Fri Feb 28 04:14:50 1997 Tomohiko Morioka <tmorioka@mule.etl.go.jp>
+
+ * NABE-CFG: Add "../emu" to load-path.
+
+Fri Feb 28 04:13:30 1997 Tomohiko Morioka <tmorioka@mule.etl.go.jp>
+
+ * NABE-MK: Don't compile and install tl files.
+
+ * NABE-CFG: Don't install tl files.
+
+Fri Feb 28 02:28:48 1997 Tomohiko Morioka <tmorioka@mule.etl.go.jp>
+
+ * roman-to-kana.el: Don't require tl-str. require cl instead of
+ tl-list.
+
+ * roman-to-kana.el (roman-to-kana-string-1): Don't use function
+ `top-string-match'.
+
+Tue Nov 12 09:20:26 1996 morioka <morioka@mule.jaist.ac.jp>
+
+ * NABE-ELS (nabe-modules): Add `yude-canna'.
+
+Tue Nov 12 09:18:37 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * yude-canna.el: require nabe.
+
+ * skkdic-ext.el (skkdic-ext-suffix): Add some words.
+
+ * yude-canna.el: New module.
+
+ * yude-kkc.el: Variable `nabe-kana-to-kanji-function' was renamed
+ to `nabe-roman-to-kanji-function'.
+
+ * nabe.el (nabe-roman-to-kanji-function): Renamed from
+ `nabe-kana-to-kanji-function'.
+
+ * yude-kkc.el: Set `roman-to-kana-translate-region' to
+ `nabe-roman-to-kana-function'.
+
+ * nabe.el (nabe-roman-to-kana-function): New variable.
+ (nabe-translate-to-hiragana): Use variable
+ `nabe-roman-to-kana-function'.
+
+Thu Nov 7 18:04:01 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * nabe.el (nabe-characters-to-translate): Add `%'.
+
+Tue Nov 5 22:27:02 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * roman-to-kana.el (roman-to-kana-string-1): `case-fold-search'
+ must be nil.
+
+Fri Nov 1 16:29:49 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * skkdic-ext.el (skkdic-lookup-key): must treat `len'.
+
+ * skkdic-ext.el (skkdic-lookup-key): Reverse result of
+ `orig::skkdic-lookup-key'.
+
+Thu Oct 31 15:04:26 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * skkdic-ext.el (skkdic-lookup-key): New implementation.
+
+Wed Oct 16 17:51:36 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * skkdic-ext.el (skkdic-lookup-key): check already exist; return
+ reversed result.
+
+ * skkdic-ext.el (sana-prefix): modified.
+
+Fri Oct 4 14:52:16 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * kana-to-roman.el, roman-to-kana.el: fixed a typo.
+
+Fri Oct 4 14:50:28 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * NABE-ELS: hepburn.el was abolished.
+
+Fri Oct 4 14:49:37 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * roman-to-kana.el: hepburn.el was merged to roman-to-kana.el.
+
+Fri Oct 4 14:48:08 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * kana-to-roman.el: New module.
+
+Fri Oct 4 14:15:02 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * Makefile: mk-yk was renamed to NABE-MK.
+
+ * NABE-MK: renamed from mk-yk.
+
+ * NABE-ELS (nabe-modules): Add nabe.el and skkdic-ext.el.
+
+Fri Oct 4 14:09:15 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * NABE-ELS: renamed from YK-ELS.
+
+Fri Oct 4 14:07:15 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * NABE-CFG: renamed from YK-CFG.
+
+ * skkdic-ext.el: New module.
+
+Fri Oct 4 13:47:24 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * yude-kkc.el: Use nabe.el.
+
+ * nabe.el: New module.
+
+Fri Sep 27 13:20:21 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * hepburn.el (hepburn-roman-to-kana-translation-rule-alist):
+ fixed a typo.
+
+Wed Sep 25 00:47:55 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * yude-kkc.el (kkc-boiled-charset): Add `;'.
+
+ (yude-kkc-translate-to-kanji, yude-kkc-translate-to-hiragana):
+ Call `auto-fill-function' if it is not nil.
+
+\f
+Wed Sep 18 10:05:41 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * tl: Version 7.61.5 was released.
+ * yude-kkc: Version 0.1 was released.
+
+ * README.ja: New file.
+
+Wed Sep 18 09:38:02 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * hepburn.el (hepburn-roman-to-kana-translation-rule-alist): add
+ `my', `mmy', `ry' and `rry' line.
+
+ * hepburn.el (hepburn-roman-to-kana-translation-rule-alist): add
+ symbols.
+
+ * Makefile: Use `PREFIX' instead of `DIR'.
+
+ * mk-yk: use YK-CFG file.
+
+ * YK-CFG, mk-yk, Makefile, YK-ELS, jamato.el, yude-kkc.el:
+ New file.
+
+Tue Sep 17 06:23:11 1996 MORIOKA Tomohiko <morioka@jaist.ac.jp>
+
+ * hepburn.el (hepburn-roman-to-kana-translation-rule-alist): add
+ rule to translate "(" and ")" to JIS X0208.
+
+ * hepburn.el, roman-to-kana.el: New file.
--- /dev/null
+#
+# $Id: Makefile,v 0.3 1996/10/04 14:15:02 morioka Exp morioka $
+#
+
+EMACS = emacs
+FLAGS = -batch -q -no-site-file -l NABE-MK
+
+PREFIX =
+
+FILES = README.?? Makefile NABE-* *.el ChangeLog
+
+VERSION = 0.2
+
+
+elc:
+ $(EMACS) $(FLAGS) -f compile-nabe
+
+install: elc
+ $(EMACS) $(FLAGS) -f install-nabe $(PREFIX)
+
+
+clean:
+ -rm *.elc
+
+
+tar:
+ -(cd /tmp ; mkdir nabe-$(VERSION))
+ cp $(FILES) /tmp/nabe-$(VERSION)
+ cd /tmp; tar cvzf nabe-$(VERSION).tar.gz nabe-$(VERSION)
+ rm -rf /tmp/nabe-$(VERSION)
--- /dev/null
+;;; -*-Emacs-Lisp-*-
+;;;
+;;; $Id: NABE-CFG,v 0.4 1997/02/28 04:14:50 tmorioka Exp morioka $
+;;;
+
+(setq load-path (append
+ (mapcar (function
+ (lambda (path)
+ (expand-file-name path (getenv "PWD"))
+ ))
+ '("." "../apel" "../emu")
+ )
+ load-path))
+
+(require 'install)
+
+
+;;; @ Please specify prefix of install directory.
+;;;
+
+;; Please specify install path prefix.
+;; If it is omitted, shared directory (maybe /usr/local is used).
+(defvar PREFIX install-prefix)
+;;(setq PREFIX "~/")
+
+;; Please specify prefix for ``nabe'' [optional]
+(setq NABE_PREFIX "nabe")
+
+\f
+
+;;; @ optional settings
+;;;
+
+;; It is generated by automatically. Please set variable `PREFIX'.
+;; If you don't like default directory tree, please set it.
+(defvar LISPDIR (install-detect-elisp-directory PREFIX))
+;; (setq install-default-elisp-directory "~/lib/emacs/lisp")
+
+(setq NABE_DIR (expand-file-name NABE_PREFIX LISPDIR))
+
+;;; NABE-CFG ends here
--- /dev/null
+;;; -*-Emacs-Lisp-*-
+;;;
+;;; $Id: NABE-ELS,v 0.5 1996/11/12 09:20:26 morioka Exp morioka $
+;;;
+
+(setq nabe-modules
+ '(roman-to-kana kana-to-roman
+ nabe yude-kkc yude-canna yude-egg
+ skkdic-ext))
+
+;;; NABE-ELS ends here
--- /dev/null
+;;; -*-Emacs-Lisp-*-
+;;;
+;;; $Id: NABE-MK,v 0.4 1997/02/28 04:13:30 tmorioka Exp $
+;;;
+
+(defun config-nabe ()
+ (let (prefix)
+ (setq prefix (car command-line-args-left))
+ (and prefix
+ (not (string-equal "NONE" prefix))
+ (progn
+ (defvar PREFIX prefix)
+ (setq command-line-args-left (cdr command-line-args-left))
+ ))
+ (load-file "NABE-CFG")
+ (load-file "NABE-ELS")
+ (princ (format "PREFIX=%s\n" PREFIX))
+ ))
+
+(defun compile-nabe ()
+ (config-nabe)
+ (require 'roman-to-kana)
+ (compile-elisp-modules nabe-modules ".")
+ )
+
+(defun install-nabe ()
+ (config-nabe)
+ (install-elisp-modules nabe-modules "./" NABE_DIR)
+ )
+
+;;; NABE-MK ends here
--- /dev/null
+\e$B!X$J$Y$N;H$$J}!Y\e(B
+by \e$B<i2,\e(B \e$BCNI'\e(B <morioka@jaist.ac.jp>
+$Id: README.ja,v 0.2 1997/09/24 14:03:55 morioka Exp $
+
+\e$B#1\e(B. \e$B!X$J$Y!Y$H$O\e(B
+
+ \e$B!X$J$Y!Y$O\e(B kkc, \e$B$+$s$J!"$?$^$4$C$A$#Ey$NF~NOK!$r;H$C$F!V$f$G$?$^$4!W\e(B
+\e$BIw$NF|K\8lF~NO$r<B8=$9$k$?$a$N\e(B package \e$B$G$9!#$J$*!"$3$l$r;H$&$K$O\e(B APEL
+package \e$B$,I,MW$G$9!#\e(BAPEL \e$B$O\e(B
+
+ ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/
+
+\e$B$+$iF~<j2DG=$G$9!#\e(BAPEL \e$B$N\e(B README.en \e$B$r8+$F\e(B APEL \e$B$r\e(B install \e$B$7$F$*$$$F\e(B
+\e$B2<$5$$!#\e(B
+
+
+\e$B#2\e(B. Install
+
+2.1 compile
+
+ % make
+
+ emacs \e$B$N<B9T\e(B file \e$BL>$,\e(B `emacs' \e$B$H0[$J$k>l9g$O!"\e(B
+
+ % make EMACS=emacs20
+
+\e$B$N$h$&$K$7$F$/$@$5$$!#\e(B
+
+
+2.2 install
+
+2.2.1 \e$BE83+$7$?>l=j$K\e(B install \e$B$9$k>l9g\e(B
+
+ compile \e$B$9$k$@$1$G\e(B OK \e$B$G$9!#\e(B
+
+
+2.2.2 site-lisp \e$B$K\e(B install \e$B$9$k>l9g\e(B
+
+ % make install
+
+\e$B$H$7$F$/$@$5$$!#\e(B
+
+ emacs \e$B$N<B9T\e(B file \e$BL>$,\e(B `emacs' \e$B$H0[$J$k>l9g$O!"\e(Bcompile \e$B$N>l9g$HF1MM\e(B
+\e$B$K\e(B
+
+ % make install EMACS=emacs20
+
+\e$B$H\e(B `EMACS=' \e$B$r;H$C$F<B9T\e(B file \e$BL>$r;XDj$7$F$/$@$5$$!#\e(B
+
+
+2.2.3 home \e$B$N2<$K\e(B install \e$B$9$k>l9g\e(B
+
+ % make install PREFIX=~/
+
+\e$B$H$7$F$/$@$5$$!#\e(B
+
+ emacs \e$B$N<B9T\e(B file \e$BL>$,\e(B `emacs' \e$B$H0[$J$k>l9g$O!"A0@a$N>l9g$HF1MM$K\e(B
+`EMACS=' \e$B$r;H$C$F<B9T\e(B file \e$BL>$r;XDj$7$F$/$@$5$$!#\e(B
+
+
+\e$B#3\e(B. \e$B@_Dj\e(B
+
+3.1 yude-kkc
+
+ ~/.emacs \e$B$K\e(B
+
+(require 'file-detect)
+(add-path "nabe")
+(require 'yude-kkc)
+
+\e$B$rF~$l$F$/$@$5$$!#\e(B
+
+
+3.2 yude-canna
+
+ ~/.emacs \e$B$K\e(B
+
+(require 'file-detect)
+(add-path "nabe")
+(require 'yude-canna)
+
+\e$B$rF~$l$F$/$@$5$$!#\e(B
+
+
+3.3 yude-egg
+
+(require 'file-detect)
+(add-path "nabe")
+(require 'yude-egg)
+
+
+3.4 \e$B6&DL$N@_Dj\e(B
+
+ \e$BI8=`$G$O\e(B
+
+ \e$B4A;z$X$NJQ49\e(B M-SPC
+ \e$B$+$J$X$NJQ49\e(B M-j
+
+\e$B$H$J$C$F$$$^$9$,!"$=$l$>$l!"!J\e(Byude-* \e$B$,\e(B load \e$B$5$l$kA0$K!KJQ?t\e(B
+
+ nabe-kanji-key
+ nabe-hiragana-key
+
+\e$B$r@_Dj$9$k$3$H$GJQ99$9$k$3$H$,$G$-$^$9!#\e(B
+
+ \e$B$^$?!"I8=`$G$O%X%\%s<0$b$I$-$N%m!<%^;z$+$JJQ49I=$rMQ$$$F$$$^$9$,!"\e(B
+hepburn.el \e$B$r;29M$K$*9%$_$NJQ49I=$r:n$C$F$/$@$5$$!#JQ?t\e(B
+roman-to-kana-translate-table \e$B$K\e(B module \e$BL>$r;XDj$9$k$3$H$G%X%\%s<00J30\e(B
+\e$B$NJQ49I=$rMQ$$$k$3$H$,$G$-$^$9!#\e(B
--- /dev/null
+;;; kana-to-roman.el --- Kana to Roman converter
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version:
+;; $Id: kana-to-roman.el,v 0.4 1996/10/04 14:52:16 morioka Exp $
+;; Keywords: Roman-to-Kana, input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'roman-to-kana)
+
+;; (npp
+;; (sort (mapcar (lambda (cell)
+;; (cons (cdr cell)(car cell))
+;; )
+;; hepburn-roman-to-kana-translation-rule-alist)
+;; (lambda (c1 c2)
+;; (string< (car c2)(car c1))
+;; )))
+
+(defvar kana-to-roman-translate-table 'hepburn)
+
+(defvar hepburn-kana-to-roman-translation-rule-alist
+ '(("\e$B%t$)\e(B" . "vo")
+ ("\e$B%t$'\e(B" . "ve")
+ ("\e$B%t$#\e(B" . "vi")
+ ("\e$B%t$!\e(B" . "va")
+ ("\e$B%t\e(B" . "vu")
+ ("\e$B$s$N\e(B" . "nno")
+ ("\e$B$s$M\e(B" . "nne")
+ ("\e$B$s$L\e(B" . "nnu")
+ ("\e$B$s$K\e(B" . "nni")
+ ("\e$B$s$J\e(B" . "nna")
+ ("\e$B$s\e(B" . "n")
+ ;;("\e$B$s\e(B" . "x")
+ ;;("\e$B$s\e(B" . "n'")
+ ("\e$B$r\e(B" . "wo")
+ ("\e$B$q\e(B" . "we")
+ ("\e$B$p\e(B" . "wi")
+ ("\e$B$o\e(B" . "wa")
+ ("\e$B$m\e(B" . "ro")
+ ("\e$B$l\e(B" . "re")
+ ("\e$B$k\e(B" . "ru")
+ ("\e$B$j$g\e(B" . "ryo")
+ ("\e$B$j$e\e(B" . "ryu")
+ ("\e$B$j$c\e(B" . "rya")
+ ("\e$B$j$'\e(B" . "rye")
+ ("\e$B$j$#\e(B" . "ryi")
+ ("\e$B$j\e(B" . "ri")
+ ("\e$B$i\e(B" . "ra")
+ ("\e$B$h\e(B" . "yo")
+ ("\e$B$f\e(B" . "yu")
+ ("\e$B$d\e(B" . "ya")
+ ("\e$B$b\e(B" . "mo")
+ ("\e$B$a\e(B" . "me")
+ ("\e$B$`\e(B" . "mu")
+ ("\e$B$_$g\e(B" . "myo")
+ ("\e$B$_$e\e(B" . "myu")
+ ("\e$B$_$c\e(B" . "mya")
+ ("\e$B$_$'\e(B" . "mye")
+ ("\e$B$_$#\e(B" . "myi")
+ ("\e$B$_\e(B" . "mi")
+ ("\e$B$^\e(B" . "ma")
+ ("\e$B$]\e(B" . "po")
+ ("\e$B$\\e(B" . "bo")
+ ("\e$B$[\e(B" . "ho")
+ ("\e$B$Z\e(B" . "pe")
+ ("\e$B$Y\e(B" . "be")
+ ("\e$B$X\e(B" . "he")
+ ("\e$B$W$)\e(B" . "pfo")
+ ("\e$B$W$'\e(B" . "pfe")
+ ("\e$B$W$#\e(B" . "pfi")
+ ("\e$B$W$!\e(B" . "pfa")
+ ("\e$B$W\e(B" . "pu")
+ ("\e$B$V\e(B" . "bu")
+ ("\e$B$U$)\e(B" . "fo")
+ ("\e$B$U$'\e(B" . "fe")
+ ("\e$B$U$#\e(B" . "fi")
+ ("\e$B$U$!\e(B" . "fa")
+ ("\e$B$U\e(B" . "fu")
+ ("\e$B$T$g\e(B" . "pyo")
+ ("\e$B$T$e\e(B" . "pyu")
+ ("\e$B$T$c\e(B" . "pya")
+ ("\e$B$T$'\e(B" . "pye")
+ ("\e$B$T$#\e(B" . "pyi")
+ ("\e$B$T\e(B" . "pi")
+ ("\e$B$S$g\e(B" . "byo")
+ ("\e$B$S$e\e(B" . "byu")
+ ("\e$B$S$c\e(B" . "bya")
+ ("\e$B$S$'\e(B" . "bye")
+ ("\e$B$S$#\e(B" . "byi")
+ ("\e$B$S\e(B" . "bi")
+ ("\e$B$R$g\e(B" . "hyo")
+ ("\e$B$R$e\e(B" . "hyu")
+ ("\e$B$R$c\e(B" . "hya")
+ ("\e$B$R$'\e(B" . "hye")
+ ("\e$B$R$#\e(B" . "hyi")
+ ("\e$B$R\e(B" . "hi")
+ ("\e$B$Q\e(B" . "pa")
+ ("\e$B$P\e(B" . "ba")
+ ("\e$B$O\e(B" . "ha")
+ ("\e$B$N\e(B" . "no")
+ ("\e$B$M\e(B" . "ne")
+ ("\e$B$L\e(B" . "nu")
+ ("\e$B$K$g\e(B" . "nyo")
+ ("\e$B$K$e\e(B" . "nyu")
+ ("\e$B$K$c\e(B" . "nya")
+ ("\e$B$K$'\e(B" . "nye")
+ ("\e$B$K$#\e(B" . "nyi")
+ ("\e$B$K\e(B" . "ni")
+ ("\e$B$J\e(B" . "na")
+ ("\e$B$I\e(B" . "do")
+ ("\e$B$H$%\e(B" . "tu")
+ ("\e$B$H\e(B" . "to")
+ ("\e$B$G$#\e(B" . "di")
+ ("\e$B$G\e(B" . "de")
+ ("\e$B$F$#\e(B" . "ti")
+ ("\e$B$F\e(B" . "te")
+ ("\e$B$E$)\e(B" . "dzo")
+ ("\e$B$E$'\e(B" . "dze")
+ ("\e$B$E$#\e(B" . "dzi")
+ ("\e$B$E$!\e(B" . "dza")
+ ("\e$B$E\e(B" . "dzu")
+ ("\e$B$D$)\e(B" . "tso")
+ ("\e$B$D$'\e(B" . "tse")
+ ("\e$B$D$#\e(B" . "tsi")
+ ("\e$B$D$!\e(B" . "tsa")
+ ("\e$B$D\e(B" . "tsu")
+ ("\e$B$C%t$)\e(B" . "vvo")
+ ("\e$B$C%t$'\e(B" . "vve")
+ ("\e$B$C%t$#\e(B" . "vvi")
+ ("\e$B$C%t$!\e(B" . "vva")
+ ("\e$B$C%t\e(B" . "vvu")
+ ("\e$B$C$r\e(B" . "wwo")
+ ("\e$B$C$q\e(B" . "wwe")
+ ("\e$B$C$p\e(B" . "wwi")
+ ("\e$B$C$o\e(B" . "wwa")
+ ("\e$B$C$m\e(B" . "rro")
+ ("\e$B$C$l\e(B" . "rre")
+ ("\e$B$C$k\e(B" . "rru")
+ ("\e$B$C$j$g\e(B" . "rryo")
+ ("\e$B$C$j$e\e(B" . "rryu")
+ ("\e$B$C$j$c\e(B" . "rrya")
+ ("\e$B$C$j$'\e(B" . "rrye")
+ ("\e$B$C$j$#\e(B" . "rryi")
+ ("\e$B$C$j\e(B" . "rri")
+ ("\e$B$C$i\e(B" . "rra")
+ ("\e$B$C$h\e(B" . "yyo")
+ ("\e$B$C$f\e(B" . "yyu")
+ ("\e$B$C$d\e(B" . "yya")
+ ("\e$B$C$b\e(B" . "mmo")
+ ("\e$B$C$a\e(B" . "mme")
+ ("\e$B$C$`\e(B" . "mmu")
+ ("\e$B$C$_$g\e(B" . "mmyo")
+ ("\e$B$C$_$e\e(B" . "mmyu")
+ ("\e$B$C$_$c\e(B" . "mmya")
+ ("\e$B$C$_$'\e(B" . "mmye")
+ ("\e$B$C$_$#\e(B" . "mmyi")
+ ("\e$B$C$_\e(B" . "mmi")
+ ("\e$B$C$^\e(B" . "mma")
+ ("\e$B$C$]\e(B" . "ppo")
+ ("\e$B$C$\\e(B" . "bbo")
+ ("\e$B$C$[\e(B" . "hho")
+ ("\e$B$C$Z\e(B" . "ppe")
+ ("\e$B$C$Y\e(B" . "bbe")
+ ("\e$B$C$X\e(B" . "hhe")
+ ("\e$B$C$W$)\e(B" . "ppfo")
+ ("\e$B$C$W$'\e(B" . "ppfe")
+ ("\e$B$C$W$#\e(B" . "ppfi")
+ ("\e$B$C$W$!\e(B" . "ppfa")
+ ("\e$B$C$W\e(B" . "ppu")
+ ("\e$B$C$V\e(B" . "bbu")
+ ("\e$B$C$U$)\e(B" . "ffo")
+ ("\e$B$C$U$'\e(B" . "ffe")
+ ("\e$B$C$U$#\e(B" . "ffi")
+ ("\e$B$C$U$!\e(B" . "ffa")
+ ("\e$B$C$U\e(B" . "ffu")
+ ("\e$B$C$T$g\e(B" . "ppyo")
+ ("\e$B$C$T$e\e(B" . "ppyu")
+ ("\e$B$C$T$c\e(B" . "ppya")
+ ("\e$B$C$T$'\e(B" . "ppye")
+ ("\e$B$C$T$#\e(B" . "ppyi")
+ ("\e$B$C$T\e(B" . "ppi")
+ ("\e$B$C$S$g\e(B" . "bbyo")
+ ("\e$B$C$S$e\e(B" . "bbyu")
+ ("\e$B$C$S$c\e(B" . "bbya")
+ ("\e$B$C$S$'\e(B" . "bbye")
+ ("\e$B$C$S$#\e(B" . "bbyi")
+ ("\e$B$C$S\e(B" . "bbi")
+ ("\e$B$C$R$g\e(B" . "hhyo")
+ ("\e$B$C$R$e\e(B" . "hhyu")
+ ("\e$B$C$R$c\e(B" . "hhya")
+ ("\e$B$C$R$'\e(B" . "hhye")
+ ("\e$B$C$R$#\e(B" . "hhyi")
+ ("\e$B$C$R\e(B" . "hhi")
+ ("\e$B$C$Q\e(B" . "ppa")
+ ("\e$B$C$P\e(B" . "bba")
+ ("\e$B$C$O\e(B" . "hha")
+ ("\e$B$C$K$g\e(B" . "nnyo")
+ ("\e$B$C$K$e\e(B" . "nnyu")
+ ("\e$B$C$K$c\e(B" . "nnya")
+ ("\e$B$C$K$'\e(B" . "nnye")
+ ("\e$B$C$K$#\e(B" . "nnyi")
+ ("\e$B$C$I\e(B" . "ddo")
+ ("\e$B$C$H$%\e(B" . "ttu")
+ ("\e$B$C$H\e(B" . "tto")
+ ("\e$B$C$G$#\e(B" . "ddi")
+ ("\e$B$C$G\e(B" . "dde")
+ ("\e$B$C$F$#\e(B" . "tti")
+ ("\e$B$C$F\e(B" . "tte")
+ ("\e$B$C$E$)\e(B" . "ddzo")
+ ("\e$B$C$E$'\e(B" . "ddze")
+ ("\e$B$C$E$#\e(B" . "ddzi")
+ ("\e$B$C$E$!\e(B" . "ddza")
+ ("\e$B$C$E\e(B" . "ddzu")
+ ("\e$B$C$D$)\e(B" . "ttso")
+ ("\e$B$C$D$'\e(B" . "ttse")
+ ("\e$B$C$D$#\e(B" . "ttsi")
+ ("\e$B$C$D$!\e(B" . "ttsa")
+ ("\e$B$C$D\e(B" . "ttsu")
+ ("\e$B$C$B$g\e(B" . "ddjo")
+ ("\e$B$C$B$e\e(B" . "ddju")
+ ("\e$B$C$B$c\e(B" . "ddja")
+ ("\e$B$C$B$'\e(B" . "ddje")
+ ("\e$B$C$B\e(B" . "ddji")
+ ("\e$B$C$A$g\e(B" . "ccho")
+ ("\e$B$C$A$e\e(B" . "cchu")
+ ("\e$B$C$A$c\e(B" . "ccha")
+ ("\e$B$C$A$'\e(B" . "cche")
+ ("\e$B$C$A\e(B" . "cchi")
+ ("\e$B$C$@\e(B" . "dda")
+ ("\e$B$C$?\e(B" . "tta")
+ ("\e$B$C$>\e(B" . "zzo")
+ ("\e$B$C$=\e(B" . "sso")
+ ("\e$B$C$<\e(B" . "zze")
+ ("\e$B$C$;\e(B" . "sse")
+ ("\e$B$C$:\e(B" . "zzu")
+ ("\e$B$C$9\e(B" . "ssu")
+ ("\e$B$C$8$g\e(B" . "jjo")
+ ("\e$B$C$8$e\e(B" . "jju")
+ ("\e$B$C$8$c\e(B" . "jja")
+ ("\e$B$C$8$'\e(B" . "jje")
+ ("\e$B$C$8\e(B" . "zzi")
+ ("\e$B$C$8\e(B" . "jji")
+ ("\e$B$C$7$g\e(B" . "ssho")
+ ("\e$B$C$7$e\e(B" . "sshu")
+ ("\e$B$C$7$c\e(B" . "ssha")
+ ("\e$B$C$7$'\e(B" . "sshe")
+ ("\e$B$C$7\e(B" . "sshi")
+ ("\e$B$C$6\e(B" . "zza")
+ ("\e$B$C$5\e(B" . "ssa")
+ ("\e$B$C$4\e(B" . "ggo")
+ ("\e$B$C$3\e(B" . "kko")
+ ("\e$B$C$2\e(B" . "gge")
+ ("\e$B$C$1\e(B" . "kke")
+ ("\e$B$C$0\e(B" . "ggu")
+ ("\e$B$C$/\e(B" . "kku")
+ ("\e$B$C$.$g\e(B" . "ggyo")
+ ("\e$B$C$.$e\e(B" . "ggyu")
+ ("\e$B$C$.$c\e(B" . "ggya")
+ ("\e$B$C$.$'\e(B" . "ggye")
+ ("\e$B$C$.$#\e(B" . "ggyi")
+ ("\e$B$C$.\e(B" . "ggi")
+ ("\e$B$C$-$g\e(B" . "kkyo")
+ ("\e$B$C$-$e\e(B" . "kkyu")
+ ("\e$B$C$-$c\e(B" . "kkya")
+ ("\e$B$C$-$'\e(B" . "kkye")
+ ("\e$B$C$-$#\e(B" . "kkyi")
+ ("\e$B$C$-\e(B" . "kki")
+ ("\e$B$C$,\e(B" . "gga")
+ ("\e$B$C$+\e(B" . "kka")
+ ("\e$B$C$&\e(B" . "wwu")
+ ("\e$B$C$$$'\e(B" . "yye")
+ ("\e$B$C$$\e(B" . "yyi")
+ ("\e$B$C\e(B" . "q")
+ ("\e$B$B$g\e(B" . "djo")
+ ("\e$B$B$e\e(B" . "dju")
+ ("\e$B$B$c\e(B" . "dja")
+ ("\e$B$B$'\e(B" . "dje")
+ ("\e$B$B\e(B" . "dji")
+ ("\e$B$A$g\e(B" . "cho")
+ ("\e$B$A$e\e(B" . "chu")
+ ("\e$B$A$c\e(B" . "cha")
+ ("\e$B$A$'\e(B" . "che")
+ ("\e$B$A\e(B" . "chi")
+ ("\e$B$@\e(B" . "da")
+ ("\e$B$?\e(B" . "ta")
+ ("\e$B$>\e(B" . "zo")
+ ("\e$B$=\e(B" . "so")
+ ("\e$B$<\e(B" . "ze")
+ ("\e$B$;\e(B" . "se")
+ ("\e$B$:\e(B" . "zu")
+ ("\e$B$9\e(B" . "su")
+ ("\e$B$8$g\e(B" . "jo")
+ ("\e$B$8$e\e(B" . "ju")
+ ("\e$B$8$c\e(B" . "ja")
+ ("\e$B$8$'\e(B" . "je")
+ ("\e$B$8\e(B" . "zi")
+ ("\e$B$8\e(B" . "ji")
+ ("\e$B$7$g\e(B" . "sho")
+ ("\e$B$7$e\e(B" . "shu")
+ ("\e$B$7$c\e(B" . "sha")
+ ("\e$B$7$'\e(B" . "she")
+ ("\e$B$7\e(B" . "shi")
+ ("\e$B$6\e(B" . "za")
+ ("\e$B$5\e(B" . "sa")
+ ("\e$B$4\e(B" . "go")
+ ("\e$B$3\e(B" . "ko")
+ ("\e$B$2\e(B" . "ge")
+ ("\e$B$1\e(B" . "ke")
+ ("\e$B$0\e(B" . "gu")
+ ("\e$B$/\e(B" . "ku")
+ ("\e$B$.$g\e(B" . "gyo")
+ ("\e$B$.$e\e(B" . "gyu")
+ ("\e$B$.$c\e(B" . "gya")
+ ("\e$B$.$'\e(B" . "gye")
+ ("\e$B$.$#\e(B" . "gyi")
+ ("\e$B$.\e(B" . "gi")
+ ("\e$B$-$g\e(B" . "kyo")
+ ("\e$B$-$e\e(B" . "kyu")
+ ("\e$B$-$c\e(B" . "kya")
+ ("\e$B$-$'\e(B" . "kye")
+ ("\e$B$-$#\e(B" . "kyi")
+ ("\e$B$-\e(B" . "ki")
+ ("\e$B$,\e(B" . "ga")
+ ("\e$B$+\e(B" . "ka")
+ ("\e$B$*\e(B" . "o")
+ ("\e$B$(\e(B" . "e")
+ ("\e$B$&\e(B" . "u")
+ ("\e$B$$$'\e(B" . "ye")
+ ("\e$B$$\e(B" . "i")
+ ("\e$B$"\e(B" . "a")
+ ))
+
+(defun hiragana-to-roman-translate-string (str &optional table)
+ (or table
+ (setq table (symbol-value
+ (intern (concat
+ (symbol-name kana-to-roman-translate-table)
+ "-kana-to-roman-translation-rule-alist"))
+ )))
+ (let (ret dest)
+ (while (setq ret (roman-to-kana-string-1 str table))
+ (setq dest (concat dest (car ret)))
+ (setq str (cdr ret))
+ )
+ (concat dest str)
+ ))
+
+(defun hiragana-to-roman-translate-region (start end)
+ (save-excursion
+ (let ((str (buffer-substring start end)))
+ (delete-region start end)
+ (goto-char start)
+ (insert (hiragana-to-roman-translate-string str))
+ )))
+
+
+;;; @ end
+;;;
+
+(provide 'kana-to-roman)
+
+(run-hooks 'kana-to-roman-load-hook)
+
+;;; kana-to-roman.el ends here
--- /dev/null
+;;; nabe.el --- Boiled-Egg like roman to kanaji converter kernel
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version: $Id: nabe.el,v 0.5 1996/11/12 09:03:23 morioka Exp $
+;; Keywords: input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(defvar nabe-characters-to-translate "-a-zA-Z0-9.,?!~()[]#@/:;%"
+ "*characters to transfer. [nabe.el]")
+
+(defvar nabe-kanji-key "\e ")
+(defvar nabe-hiragana-key "\en")
+
+(defvar nabe-roman-to-kanji-function nil)
+(defvar nabe-roman-to-kana-function nil)
+
+(global-set-key nabe-kanji-key 'nabe-translate-to-kanji)
+(global-set-key nabe-hiragana-key 'nabe-translate-to-hiragana)
+
+(defun nabe-translate-to-kanji (arg)
+ (interactive "p")
+ (let ((po (point)) (mark (or (mark t) 0)))
+ (skip-chars-backward nabe-characters-to-translate)
+ (if (and mark (< mark po) (< (point) mark))
+ (goto-char mark)
+ )
+ (if (not (eq (point) po))
+ (funcall nabe-roman-to-kanji-function (point) po)
+ )
+ (and auto-fill-function (funcall auto-fill-function))
+ ))
+
+(defun nabe-translate-to-hiragana (arg)
+ (interactive "p")
+ (let ((po (point)) (mark (or (mark t) 0)))
+ (skip-chars-backward nabe-characters-to-translate)
+ (if (and mark (< mark po) (< (point) mark))
+ (goto-char mark)
+ )
+ (if (not (eq (point) po))
+ (save-restriction
+ (narrow-to-region (point) po)
+ (funcall nabe-roman-to-kana-function (point) po)
+ (goto-char (point-max))
+ ))
+ (and auto-fill-function (funcall auto-fill-function))
+ ))
+
+
+;;; @ end
+;;;
+
+(provide 'nabe)
+
+(run-hooks 'nabe-load-hook)
+
+;;; nabe.el ends here
--- /dev/null
+;;; roman-to-kana.el --- Roman to Kana converter
+
+;; Copyright (C) 1996,1997 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version:
+;; $Id: roman-to-kana.el,v 0.7 1997/02/28 02:28:48 tmorioka Exp $
+;; Keywords: Roman-to-Kana, input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'cl)
+
+(defvar roman-to-kana-translate-table 'hepburn)
+
+(defvar hepburn-roman-to-kana-translation-rule-alist
+ '(("a" . "\e$B$"\e(B")
+ ("i" . "\e$B$$\e(B")
+ ("u" . "\e$B$&\e(B")
+ ("e" . "\e$B$(\e(B")
+ ("o" . "\e$B$*\e(B")
+
+ ("ka" . "\e$B$+\e(B")("kka" . "\e$B$C$+\e(B")
+ ("ki" . "\e$B$-\e(B")("kki" . "\e$B$C$-\e(B")
+ ("ku" . "\e$B$/\e(B")("kku" . "\e$B$C$/\e(B")
+ ("ke" . "\e$B$1\e(B")("kke" . "\e$B$C$1\e(B")
+ ("ko" . "\e$B$3\e(B")("kko" . "\e$B$C$3\e(B")
+
+ ("ga" . "\e$B$,\e(B")("gga" . "\e$B$C$,\e(B")
+ ("gi" . "\e$B$.\e(B")("ggi" . "\e$B$C$.\e(B")
+ ("gu" . "\e$B$0\e(B")("ggu" . "\e$B$C$0\e(B")
+ ("ge" . "\e$B$2\e(B")("gge" . "\e$B$C$2\e(B")
+ ("go" . "\e$B$4\e(B")("ggo" . "\e$B$C$4\e(B")
+
+ ("kya" . "\e$B$-$c\e(B")("kkya" . "\e$B$C$-$c\e(B")
+ ("kyi" . "\e$B$-$#\e(B")("kkyi" . "\e$B$C$-$#\e(B")
+ ("kyu" . "\e$B$-$e\e(B")("kkyu" . "\e$B$C$-$e\e(B")
+ ("kye" . "\e$B$-$'\e(B")("kkye" . "\e$B$C$-$'\e(B")
+ ("kyo" . "\e$B$-$g\e(B")("kkyo" . "\e$B$C$-$g\e(B")
+
+ ("gya" . "\e$B$.$c\e(B")("ggya" . "\e$B$C$.$c\e(B")
+ ("gyi" . "\e$B$.$#\e(B")("ggyi" . "\e$B$C$.$#\e(B")
+ ("gyu" . "\e$B$.$e\e(B")("ggyu" . "\e$B$C$.$e\e(B")
+ ("gye" . "\e$B$.$'\e(B")("ggye" . "\e$B$C$.$'\e(B")
+ ("gyo" . "\e$B$.$g\e(B")("ggyo" . "\e$B$C$.$g\e(B")
+
+ ("sa" . "\e$B$5\e(B")("ssa" . "\e$B$C$5\e(B")
+ ("si" . "\e$B$7\e(B")("ssi" . "\e$B$C$7\e(B")
+ ("su" . "\e$B$9\e(B")("ssu" . "\e$B$C$9\e(B")
+ ("se" . "\e$B$;\e(B")("sse" . "\e$B$C$;\e(B")
+ ("so" . "\e$B$=\e(B")("sso" . "\e$B$C$=\e(B")
+
+ ("za" . "\e$B$6\e(B")("zza" . "\e$B$C$6\e(B")
+ ("zi" . "\e$B$8\e(B")("zzi" . "\e$B$C$8\e(B")
+ ("zu" . "\e$B$:\e(B")("zzu" . "\e$B$C$:\e(B")
+ ("ze" . "\e$B$<\e(B")("zze" . "\e$B$C$<\e(B")
+ ("zo" . "\e$B$>\e(B")("zzo" . "\e$B$C$>\e(B")
+
+ ("sha" . "\e$B$7$c\e(B")("ssha" . "\e$B$C$7$c\e(B")
+ ("shi" . "\e$B$7\e(B") ("sshi" . "\e$B$C$7\e(B")
+ ("shu" . "\e$B$7$e\e(B")("sshu" . "\e$B$C$7$e\e(B")
+ ("she" . "\e$B$7$'\e(B")("sshe" . "\e$B$C$7$'\e(B")
+ ("sho" . "\e$B$7$g\e(B")("ssho" . "\e$B$C$7$g\e(B")
+
+ ("ja" . "\e$B$8$c\e(B")("jja" . "\e$B$C$8$c\e(B")
+ ("ji" . "\e$B$8\e(B") ("jji" . "\e$B$C$8\e(B")
+ ("ju" . "\e$B$8$e\e(B")("jju" . "\e$B$C$8$e\e(B")
+ ("je" . "\e$B$8$'\e(B")("jje" . "\e$B$C$8$'\e(B")
+ ("jo" . "\e$B$8$g\e(B")("jjo" . "\e$B$C$8$g\e(B")
+
+ ("ta" . "\e$B$?\e(B") ("tta" . "\e$B$C$?\e(B")
+ ("ti" . "\e$B$F$#\e(B")("tti" . "\e$B$C$F$#\e(B")
+ ("tu" . "\e$B$H$%\e(B")("ttu" . "\e$B$C$H$%\e(B")
+ ("te" . "\e$B$F\e(B") ("tte" . "\e$B$C$F\e(B")
+ ("to" . "\e$B$H\e(B") ("tto" . "\e$B$C$H\e(B")
+
+ ("da" . "\e$B$@\e(B") ("dda" . "\e$B$C$@\e(B")
+ ("di" . "\e$B$G$#\e(B")("ddi" . "\e$B$C$G$#\e(B")
+ ("du" . "\e$B$E\e(B") ("ddu" . "\e$B$C$E\e(B")
+ ("de" . "\e$B$G\e(B") ("dde" . "\e$B$C$G\e(B")
+ ("do" . "\e$B$I\e(B") ("ddo" . "\e$B$C$I\e(B")
+
+ ("tsa" . "\e$B$D$!\e(B")("ttsa" . "\e$B$C$D$!\e(B")
+ ("tsi" . "\e$B$D$#\e(B")("ttsi" . "\e$B$C$D$#\e(B")
+ ("tsu" . "\e$B$D\e(B") ("ttsu" . "\e$B$C$D\e(B")
+ ("tse" . "\e$B$D$'\e(B")("ttse" . "\e$B$C$D$'\e(B")
+ ("tso" . "\e$B$D$)\e(B")("ttso" . "\e$B$C$D$)\e(B")
+
+ ("dza" . "\e$B$E$!\e(B")("ddza" . "\e$B$C$E$!\e(B")
+ ("dzi" . "\e$B$E$#\e(B")("ddzi" . "\e$B$C$E$#\e(B")
+ ("dzu" . "\e$B$E\e(B") ("ddzu" . "\e$B$C$E\e(B")
+ ("dze" . "\e$B$E$'\e(B")("ddze" . "\e$B$C$E$'\e(B")
+ ("dzo" . "\e$B$E$)\e(B")("ddzo" . "\e$B$C$E$)\e(B")
+
+ ("cha" . "\e$B$A$c\e(B")("ccha" . "\e$B$C$A$c\e(B")
+ ("chi" . "\e$B$A\e(B") ("cchi" . "\e$B$C$A\e(B")
+ ("chu" . "\e$B$A$e\e(B")("cchu" . "\e$B$C$A$e\e(B")
+ ("che" . "\e$B$A$'\e(B")("cche" . "\e$B$C$A$'\e(B")
+ ("cho" . "\e$B$A$g\e(B")("ccho" . "\e$B$C$A$g\e(B")
+
+ ("dja" . "\e$B$B$c\e(B")("ddja" . "\e$B$C$B$c\e(B")
+ ("dji" . "\e$B$B\e(B") ("ddji" . "\e$B$C$B\e(B")
+ ("dju" . "\e$B$B$e\e(B")("ddju" . "\e$B$C$B$e\e(B")
+ ("dje" . "\e$B$B$'\e(B")("ddje" . "\e$B$C$B$'\e(B")
+ ("djo" . "\e$B$B$g\e(B")("ddjo" . "\e$B$C$B$g\e(B")
+
+ ("na" . "\e$B$J\e(B")("nna" . "\e$B$s$J\e(B")
+ ("ni" . "\e$B$K\e(B")("nni" . "\e$B$s$K\e(B")
+ ("nu" . "\e$B$L\e(B")("nnu" . "\e$B$s$L\e(B")
+ ("ne" . "\e$B$M\e(B")("nne" . "\e$B$s$M\e(B")
+ ("no" . "\e$B$N\e(B")("nno" . "\e$B$s$N\e(B")
+
+ ("nya" . "\e$B$K$c\e(B")("nnya" . "\e$B$C$K$c\e(B")
+ ("nyi" . "\e$B$K$#\e(B")("nnyi" . "\e$B$C$K$#\e(B")
+ ("nyu" . "\e$B$K$e\e(B")("nnyu" . "\e$B$C$K$e\e(B")
+ ("nye" . "\e$B$K$'\e(B")("nnye" . "\e$B$C$K$'\e(B")
+ ("nyo" . "\e$B$K$g\e(B")("nnyo" . "\e$B$C$K$g\e(B")
+
+ ("ha" . "\e$B$O\e(B")("hha" . "\e$B$C$O\e(B")
+ ("hi" . "\e$B$R\e(B")("hhi" . "\e$B$C$R\e(B")
+ ("hu" . "\e$B$U\e(B")("hhu" . "\e$B$C$U\e(B")
+ ("he" . "\e$B$X\e(B")("hhe" . "\e$B$C$X\e(B")
+ ("ho" . "\e$B$[\e(B")("hho" . "\e$B$C$[\e(B")
+
+ ("pa" . "\e$B$Q\e(B")("ppa" . "\e$B$C$Q\e(B")
+ ("pi" . "\e$B$T\e(B")("ppi" . "\e$B$C$T\e(B")
+ ("pu" . "\e$B$W\e(B")("ppu" . "\e$B$C$W\e(B")
+ ("pe" . "\e$B$Z\e(B")("ppe" . "\e$B$C$Z\e(B")
+ ("po" . "\e$B$]\e(B")("ppo" . "\e$B$C$]\e(B")
+
+ ("ba" . "\e$B$P\e(B")("bba" . "\e$B$C$P\e(B")
+ ("bi" . "\e$B$S\e(B")("bbi" . "\e$B$C$S\e(B")
+ ("bu" . "\e$B$V\e(B")("bbu" . "\e$B$C$V\e(B")
+ ("be" . "\e$B$Y\e(B")("bbe" . "\e$B$C$Y\e(B")
+ ("bo" . "\e$B$\\e(B")("bbo" . "\e$B$C$\\e(B")
+
+ ("hya" . "\e$B$R$c\e(B")("hhya" . "\e$B$C$R$c\e(B")
+ ("hyi" . "\e$B$R$#\e(B")("hhyi" . "\e$B$C$R$#\e(B")
+ ("hyu" . "\e$B$R$e\e(B")("hhyu" . "\e$B$C$R$e\e(B")
+ ("hye" . "\e$B$R$'\e(B")("hhye" . "\e$B$C$R$'\e(B")
+ ("hyo" . "\e$B$R$g\e(B")("hhyo" . "\e$B$C$R$g\e(B")
+
+ ("pya" . "\e$B$T$c\e(B")("ppya" . "\e$B$C$T$c\e(B")
+ ("pyi" . "\e$B$T$#\e(B")("ppyi" . "\e$B$C$T$#\e(B")
+ ("pyu" . "\e$B$T$e\e(B")("ppyu" . "\e$B$C$T$e\e(B")
+ ("pye" . "\e$B$T$'\e(B")("ppye" . "\e$B$C$T$'\e(B")
+ ("pyo" . "\e$B$T$g\e(B")("ppyo" . "\e$B$C$T$g\e(B")
+
+ ("bya" . "\e$B$S$c\e(B")("bbya" . "\e$B$C$S$c\e(B")
+ ("byi" . "\e$B$S$#\e(B")("bbyi" . "\e$B$C$S$#\e(B")
+ ("byu" . "\e$B$S$e\e(B")("bbyu" . "\e$B$C$S$e\e(B")
+ ("bye" . "\e$B$S$'\e(B")("bbye" . "\e$B$C$S$'\e(B")
+ ("byo" . "\e$B$S$g\e(B")("bbyo" . "\e$B$C$S$g\e(B")
+
+ ("fa" . "\e$B$U$!\e(B")("ffa" . "\e$B$C$U$!\e(B")
+ ("fi" . "\e$B$U$#\e(B")("ffi" . "\e$B$C$U$#\e(B")
+ ("fu" . "\e$B$U\e(B") ("ffu" . "\e$B$C$U\e(B")
+ ("fe" . "\e$B$U$'\e(B")("ffe" . "\e$B$C$U$'\e(B")
+ ("fo" . "\e$B$U$)\e(B")("ffo" . "\e$B$C$U$)\e(B")
+
+ ("pfa" . "\e$B$W$!\e(B")("ppfa" . "\e$B$C$W$!\e(B")
+ ("pfi" . "\e$B$W$#\e(B")("ppfi" . "\e$B$C$W$#\e(B")
+ ("pfu" . "\e$B$W\e(B") ("ppfu" . "\e$B$C$W\e(B")
+ ("pfe" . "\e$B$W$'\e(B")("ppfe" . "\e$B$C$W$'\e(B")
+ ("pfo" . "\e$B$W$)\e(B")("ppfo" . "\e$B$C$W$)\e(B")
+
+ ("va" . "\e$B%t$!\e(B")("vva" . "\e$B$C%t$!\e(B")
+ ("vi" . "\e$B%t$#\e(B")("vvi" . "\e$B$C%t$#\e(B")
+ ("vu" . "\e$B%t\e(B") ("vvu" . "\e$B$C%t\e(B")
+ ("ve" . "\e$B%t$'\e(B")("vve" . "\e$B$C%t$'\e(B")
+ ("vo" . "\e$B%t$)\e(B")("vvo" . "\e$B$C%t$)\e(B")
+
+ ("ma" . "\e$B$^\e(B")("mma" . "\e$B$C$^\e(B")
+ ("mi" . "\e$B$_\e(B")("mmi" . "\e$B$C$_\e(B")
+ ("mu" . "\e$B$`\e(B")("mmu" . "\e$B$C$`\e(B")
+ ("me" . "\e$B$a\e(B")("mme" . "\e$B$C$a\e(B")
+ ("mo" . "\e$B$b\e(B")("mmo" . "\e$B$C$b\e(B")
+
+ ("mya" . "\e$B$_$c\e(B")("mmya" . "\e$B$C$_$c\e(B")
+ ("myi" . "\e$B$_$#\e(B")("mmyi" . "\e$B$C$_$#\e(B")
+ ("myu" . "\e$B$_$e\e(B")("mmyu" . "\e$B$C$_$e\e(B")
+ ("mye" . "\e$B$_$'\e(B")("mmye" . "\e$B$C$_$'\e(B")
+ ("myo" . "\e$B$_$g\e(B")("mmyo" . "\e$B$C$_$g\e(B")
+
+ ("ya" . "\e$B$d\e(B") ("yya" . "\e$B$C$d\e(B")
+ ("yi" . "\e$B$$\e(B") ("yyi" . "\e$B$C$$\e(B")
+ ("yu" . "\e$B$f\e(B") ("yyu" . "\e$B$C$f\e(B")
+ ("ye" . "\e$B$$$'\e(B")("yye" . "\e$B$C$$$'\e(B")
+ ("yo" . "\e$B$h\e(B") ("yyo" . "\e$B$C$h\e(B")
+
+ ("ra" . "\e$B$i\e(B")("rra" . "\e$B$C$i\e(B")
+ ("ri" . "\e$B$j\e(B")("rri" . "\e$B$C$j\e(B")
+ ("ru" . "\e$B$k\e(B")("rru" . "\e$B$C$k\e(B")
+ ("re" . "\e$B$l\e(B")("rre" . "\e$B$C$l\e(B")
+ ("ro" . "\e$B$m\e(B")("rro" . "\e$B$C$m\e(B")
+
+ ("rya" . "\e$B$j$c\e(B")("rrya" . "\e$B$C$j$c\e(B")
+ ("ryi" . "\e$B$j$#\e(B")("rryi" . "\e$B$C$j$#\e(B")
+ ("ryu" . "\e$B$j$e\e(B")("rryu" . "\e$B$C$j$e\e(B")
+ ("rye" . "\e$B$j$'\e(B")("rrye" . "\e$B$C$j$'\e(B")
+ ("ryo" . "\e$B$j$g\e(B")("rryo" . "\e$B$C$j$g\e(B")
+
+ ("wa" . "\e$B$o\e(B")("wwa" . "\e$B$C$o\e(B")
+ ("wi" . "\e$B$p\e(B")("wwi" . "\e$B$C$p\e(B")
+ ("wu" . "\e$B$&\e(B")("wwu" . "\e$B$C$&\e(B")
+ ("we" . "\e$B$q\e(B")("wwe" . "\e$B$C$q\e(B")
+ ("wo" . "\e$B$r\e(B")("wwo" . "\e$B$C$r\e(B")
+
+ ("n'" . "\e$B$s\e(B")
+ ("n" . "\e$B$s\e(B")
+ ("x" . "\e$B$s\e(B")
+ ("q" . "\e$B$C\e(B")
+
+ ("1" . "\e$B#1\e(B") ("2" . "\e$B#2\e(B") ("3" . "\e$B#3\e(B") ("4" . "\e$B#4\e(B") ("5" . "\e$B#5\e(B")
+ ("6" . "\e$B#6\e(B") ("7" . "\e$B#7\e(B") ("8" . "\e$B#8\e(B") ("9" . "\e$B#9\e(B") ("0" . "\e$B#0\e(B")
+
+ ("!" . "\e$B!*\e(B") ("@" . "\e$B!w\e(B") ("#" . "\e$B!t\e(B") ("$" . "\e$B!p\e(B") ("%" . "\e$B!s\e(B")
+ ("^" . "\e$B!0\e(B") ("&" . "\e$B!u\e(B") ("*" . "\e$B!v\e(B") ("(" . "\e$B!J\e(B") (")" . "\e$B!K\e(B")
+ ("-" . "\e$B!<\e(B") ("=" . "\e$B!a\e(B") ("`" . "\e$B!.\e(B") ("\\" . "\e$B!@\e(B")("|" . "\e$B!C\e(B")
+ ("_" . "\e$B!2\e(B") ("+" . "\e$B!\\e(B") ("~" . "\e$B!1\e(B") ("[" . "\e$B!V\e(B") ("]" . "\e$B!W\e(B")
+ ("{" . "\e$B!P\e(B") ("}" . "\e$B!Q\e(B") (":" . "\e$B!'\e(B") (";" . "\e$B!(\e(B") ("\"" . "\e$B!I\e(B")
+ ("'" . "\e$B!G\e(B") ("." . "\e$B!#\e(B") ("," . "\e$B!"\e(B") ("<" . "\e$B!c\e(B") (">" . "\e$B!d\e(B")
+ ("?" . "\e$B!)\e(B") ("/" . "\e$B!?\e(B")
+
+ ("z1" . "\e$B!{\e(B") ("z!" . "\e$B!|\e(B")
+ ("z2" . "\e$B"&\e(B") ("z@" . "\e$B"'\e(B")
+ ("z3" . "\e$B"$\e(B") ("z#" . "\e$B"%\e(B")
+ ("z4" . "\e$B""\e(B") ("z$" . "\e$B"#\e(B")
+ ("z5" . "\e$B!~\e(B") ("z%" . "\e$B"!\e(B")
+ ("z6" . "\e$B!y\e(B") ("z^" . "\e$B!z\e(B")
+ ("z7" . "\e$B!}\e(B") ("z&" . "\e$B!r\e(B")
+ ("z8" . "\e$B!q\e(B") ("z*" . "\e$B!_\e(B")
+ ("z9" . "\e$B!i\e(B") ("z(" . "\e$B!Z\e(B")
+ ("z0" . "\e$B!j\e(B") ("z)" . "\e$B![\e(B")
+ ("z-" . "\e$B!A\e(B") ("z_" . "\e$B!h\e(B")
+ ("z=" . "\e$B!b\e(B") ("z+" . "\e$B!^\e(B")
+ ("z\\" . "\e$B!o\e(B")("z|" . "\e$B!B\e(B")
+ ("z`" . "\e$B!-\e(B") ("z~" . "\e$B!/\e(B")
+
+ ("zq" . "\e$B!T\e(B") ("zQ" . "\e$B!R\e(B")
+ ("zw" . "\e$B!U\e(B") ("zW" . "\e$B!S\e(B")
+ ("zr" . "\e$B!9\e(B") ("zR" . "\e$B!8\e(B")
+ ("zt" . "\e$B!:\e(B") ("zT" . "\e$B!x\e(B")
+ ("zp" . "\e$B")\e(B") ("zP" . "\e$B",\e(B")
+ ("z[" . "\e$B!X\e(B") ("z{" . "\e$B!L\e(B")
+ ("z]" . "\e$B!Y\e(B") ("z}" . "\e$B!M\e(B")
+
+ ("zs" . "\e$B!3\e(B") ("zS" . "\e$B!4\e(B")
+ ("zd" . "\e$B!5\e(B") ("zD" . "\e$B!6\e(B")
+ ("zf" . "\e$B!7\e(B") ("zF" . "\e$B"*\e(B")
+ ("zg" . "\e$B!>\e(B") ("zG" . "\e$B!=\e(B")
+ ("zh" . "\e$B"+\e(B")
+ ("zj" . "\e$B"-\e(B")
+ ("zk" . "\e$B",\e(B")
+ ("zl" . "\e$B"*\e(B")
+ ("z;" . "\e$B!+\e(B") ("z:" . "\e$B!,\e(B")
+ ("z\'" . "\e$B!F\e(B")("z\"" . "\e$B!H\e(B")
+
+ ("zx" . ":-") ("zX" . ":-)")
+ ("zc" . "\e$B!;\e(B") ("zC" . "\e$B!n\e(B")
+ ("zv" . "\e$B"(\e(B") ("zV" . "\e$B!`\e(B")
+ ("zb" . "\e$B!k\e(B") ("zB" . "\e$B"+\e(B")
+ ("zn" . "\e$B!l\e(B") ("zN" . "\e$B"-\e(B")
+ ("zm" . "\e$B!m\e(B") ("zM" . "\e$B".\e(B")
+ ("z," . "\e$B!E\e(B") ("z<" . "\e$B!e\e(B")
+ ("z." . "\e$B!D\e(B") ("z>" . "\e$B!f\e(B")
+ ("z/" . "\e$B!&\e(B") ("z?" . "\e$B!g\e(B")
+
+ ("Z " . "\e$B!!\e(B") ("Z!" . "\e$B!*\e(B") ("Z\"" . "\e$B!m\e(B") ("Z#" . "\e$B!t\e(B")
+ ("Z$" . "\e$B!p\e(B") ("Z%" . "\e$B!s\e(B") ("Z&" . "\e$B!u\e(B") ("Z'" . "\e$B!l\e(B")
+ ("Z(" . "\e$B!J\e(B") ("Z)" . "\e$B!K\e(B") ("Z*" . "\e$B!v\e(B") ("Z+" . "\e$B!\\e(B")
+ ("Z," . "\e$B!$\e(B") ("Z-" . "\e$B!]\e(B") ("Z." . "\e$B!%\e(B") ("Z/" . "\e$B!?\e(B")
+ ("Z0" . "\e$B#0\e(B") ("Z1" . "\e$B#1\e(B") ("Z2" . "\e$B#2\e(B") ("Z3" . "\e$B#3\e(B")
+ ("Z4" . "\e$B#4\e(B") ("Z5" . "\e$B#5\e(B") ("Z6" . "\e$B#6\e(B") ("Z7" . "\e$B#7\e(B")
+ ("Z8" . "\e$B#8\e(B") ("Z9" . "\e$B#9\e(B") ("Z:" . "\e$B!'\e(B") ("Z;" . "\e$B!(\e(B")
+ ("Z<" . "\e$B!c\e(B") ("Z=" . "\e$B!a\e(B") ("Z>" . "\e$B!d\e(B") ("Z?" . "\e$B!)\e(B")
+ ("Z@" . "\e$B!w\e(B") ("ZA" . "\e$B#A\e(B") ("ZB" . "\e$B#B\e(B") ("ZC" . "\e$B#C\e(B")
+ ("ZD" . "\e$B#D\e(B") ("ZE" . "\e$B#E\e(B") ("ZF" . "\e$B#F\e(B") ("ZG" . "\e$B#G\e(B")
+ ("ZH" . "\e$B#H\e(B") ("ZI" . "\e$B#I\e(B") ("ZJ" . "\e$B#J\e(B") ("ZK" . "\e$B#K\e(B")
+ ("ZL" . "\e$B#L\e(B") ("ZM" . "\e$B#M\e(B") ("ZN" . "\e$B#N\e(B") ("ZO" . "\e$B#O\e(B")
+ ("ZP" . "\e$B#P\e(B") ("ZQ" . "\e$B#Q\e(B") ("ZR" . "\e$B#R\e(B") ("ZS" . "\e$B#S\e(B")
+ ("ZT" . "\e$B#T\e(B") ("ZU" . "\e$B#U\e(B") ("ZV" . "\e$B#V\e(B") ("ZW" . "\e$B#W\e(B")
+ ("ZX" . "\e$B#X\e(B") ("ZY" . "\e$B#Y\e(B") ("ZZ" . "\e$B#Z\e(B") ("Z[" . "\e$B!N\e(B")
+ ("Z\\" . "\e$B!@\e(B")("Z]" . "\e$B!O\e(B") ("Z^" . "\e$B!0\e(B") ("Z_" . "\e$B!2\e(B")
+ ("Z`" . "\e$B!F\e(B") ("Za" . "\e$B#a\e(B") ("Zb" . "\e$B#b\e(B") ("Zc" . "\e$B#c\e(B")
+ ("Zd" . "\e$B#d\e(B") ("Ze" . "\e$B#e\e(B") ("Zf" . "\e$B#f\e(B") ("Zg" . "\e$B#g\e(B")
+ ("Zh" . "\e$B#h\e(B") ("Zi" . "\e$B#i\e(B") ("Zj" . "\e$B#j\e(B") ("Zk" . "\e$B#k\e(B")
+ ("Zl" . "\e$B#l\e(B") ("Zm" . "\e$B#m\e(B") ("Zn" . "\e$B#n\e(B") ("Zo" . "\e$B#o\e(B")
+ ("Zp" . "\e$B#p\e(B") ("Zq" . "\e$B#q\e(B") ("Zr" . "\e$B#r\e(B") ("Zs" . "\e$B#s\e(B")
+ ("Zt" . "\e$B#t\e(B") ("Zu" . "\e$B#u\e(B") ("Zv" . "\e$B#v\e(B") ("Zw" . "\e$B#w\e(B")
+ ("Zx" . "\e$B#x\e(B") ("Zy" . "\e$B#y\e(B") ("Zz" . "\e$B#z\e(B") ("Z{" . "\e$B!P\e(B")
+ ("Z|" . "\e$B!C\e(B") ("Z}" . "\e$B!Q\e(B") ("Z~" . "\e$B!A\e(B")
+ ))
+
+(defun roman-to-kana-string-1 (str table)
+ (let* (case-fold-search
+ (ret
+ (find-if (function
+ (lambda (rule)
+ (string-match (concat "^" (regexp-quote (car rule)))
+ str)
+ ))
+ table)))
+ (if ret
+ (cons (cdr ret)(substring str (match-end 0)))
+ )
+ ))
+
+(defun roman-to-kana-translate-string (str &optional table)
+ (or table
+ (setq table (symbol-value
+ (intern (concat
+ (symbol-name roman-to-kana-translate-table)
+ "-roman-to-kana-translation-rule-alist"))
+ )))
+ (let (ret dest)
+ (while (setq ret (roman-to-kana-string-1 str table))
+ (setq dest (concat dest (car ret)))
+ (setq str (cdr ret))
+ )
+ (concat dest str)
+ ))
+
+(defun roman-to-kana-translate-region (start end)
+ (save-excursion
+ (let ((str (buffer-substring start end)))
+ (delete-region start end)
+ (goto-char start)
+ (insert (roman-to-kana-translate-string str))
+ )))
+
+
+;;; @ end
+;;;
+
+(provide 'roman-to-kana)
+
+(run-hooks 'roman-to-kana-load-hook)
+
+;;; roman-to-kana.el ends here
--- /dev/null
+;;; skkdic-ext.el --- An extension for skkdic-util to support conjugation
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version: $Id: skkdic-ext.el,v 0.7 1996/11/12 09:13:25 morioka Exp $
+;; Keywords: input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'skkdic-util)
+
+(or (fboundp 'orig::skkdic-lookup-key)
+ (fset 'orig::skkdic-lookup-key
+ (symbol-function 'skkdic-lookup-key))
+ )
+
+(defun skkdic-lookup-key (vec len &optional postfix ps)
+ "Return a list of conversion string for sequence SEQ of length LEN.
+
+SEQ is a vector of Kana characters to be converted by SKK dictionary.
+If LEN is shorter than the length of KEYSEQ, the first LEN keys in SEQ
+is concerned.
+
+Postfixes are concerned only if the optional argument POSTFIX is
+non-nil.
+
+\[skkdic-ext.el]"
+ (let ((dest (reverse (orig::skkdic-lookup-key vec len nil))))
+ (setq vec (subseq (copy-sequence vec) 0 len))
+ (let ((ws (cdr (assq ps skkdic-ext-suffix))))
+ (mapcar (lambda (word)
+ (let ((ret (bottom-vector-string-match (aref word 1) vec)))
+ (if ret
+ (let* ((lr (length (cdr ret)))
+ (pre (car ret))
+ (lpre (length pre))
+ )
+ (if (= lpre 0)
+ (let ((str
+ (mapconcat (function char-to-string)
+ (aref word 2)
+ "")))
+ (or (member str dest)
+ (setq dest (cons str dest))
+ )
+ )
+ (let ((rret (skkdic-lookup-key
+ pre lpre nil (aref word 0)))
+ )
+ (if rret
+ (let ((suf
+ (mapconcat (function char-to-string)
+ (aref word 2)
+ "")))
+ (mapcar (lambda (r)
+ (let ((str
+ (concat
+ (mapconcat
+ (function char-to-string)
+ r
+ "")
+ suf)))
+ (or (member str dest)
+ (setq dest (cons str dest))
+ )))
+ rret)))
+ ))))))
+ ws))
+ dest))
+
+(setq skkdic-ext-suffix
+ '((nil
+ [nil "\e$B!#\e(B" "\e$B!#\e(B"]
+ [nil "\e$B!"\e(B" "\e$B!"\e(B"]
+ [nil "\e$B!)\e(B" "\e$B!)\e(B"]
+ [nil "\e$B!'\e(B" "\e$B!'\e(B"]
+ [nil "\e$B!(\e(B" "\e$B!(\e(B"]
+ [nil "\e$B$P$"$$\e(B" "\e$B>l9g\e(B"]
+ [nil "\e$B$[$&$[$&\e(B" "\e$BJ}K!\e(B"]
+ [noun "\e$B$h$j\e(B" "\e$B$h$j\e(B"]
+ [noun "\e$B$+$i\e(B" "\e$B$+$i\e(B"]
+ [noun "\e$B$X$O\e(B" "\e$B$X$O\e(B"]
+ [noun "\e$B$+$b\e(B" "\e$B$+$b\e(B"]
+ [noun "\e$B$G$b\e(B" "\e$B$G$b\e(B"]
+ [noun "\e$B$G$O\e(B" "\e$B$G$O\e(B"]
+ [noun "\e$B$h\e(B" "\e$B$h\e(B"]
+ [noun "\e$B$O\e(B" "\e$B$O\e(B"]
+ [noun "\e$B$,\e(B" "\e$B$,\e(B"]
+ [noun "\e$B$K\e(B" "\e$B$K\e(B"]
+ [noun "\e$B$r\e(B" "\e$B$r\e(B"]
+ [noun "\e$B$X\e(B" "\e$B$X\e(B"]
+ [noun "\e$B$N\e(B" "\e$B$N\e(B"]
+ [noun "\e$B$H\e(B" "\e$B$H\e(B"]
+ [noun "\e$B$+\e(B" "\e$B$+\e(B"]
+ [noun "\e$B$b\e(B" "\e$B$b\e(B"]
+ [noun "\e$B$G\e(B" "\e$B$G\e(B"]
+ [noun "\e$B$+\e(B" "\e$B2=\e(B"]
+ [noun "\e$B$+\e(B" "\e$B$+\e(B"]
+ [noun "\e$B$9\e(B" "\e$B$9\e(B"]
+ [mizen "\e$B$&\e(B" "\e$B$&\e(B"]
+ [renyou "\e$B$?\e(B" "\e$B$?\e(B"]
+ [renyou "\e$B$F\e(B" "\e$B$F\e(B"]
+ [renyou "\e$B$@\e(B" "\e$B$@\e(B"]
+ [v-u1 "\e$B$k\e(B" "\e$B$k\e(B"]
+ [v-u1 "\e$B$l\e(B" "\e$B$l\e(B"]
+ [v-u1 "\e$B$h\e(B" "\e$B$h\e(B"]
+ [v-k5 "\e$B$/\e(B" "\e$B$/\e(B"]
+ [v-k5 "\e$B$1\e(B" "\e$B$1\e(B"]
+ [v-g5 "\e$B$0\e(B" "\e$B$0\e(B"]
+ [v-g5 "\e$B$2\e(B" "\e$B$2\e(B"]
+ [v-s5 "\e$B$9\e(B" "\e$B$9\e(B"]
+ [nil "\e$B$9\e(B" "\e$B$9\e(B"]
+ [nil "\e$B$9$k\e(B" "\e$B$9$k\e(B"]
+ [nil "\e$B$9$l\e(B" "\e$B$9$l\e(B"]
+ [nil "\e$B$;$h\e(B" "\e$B$;$h\e(B"]
+ [nil "\e$B$7$m\e(B" "\e$B$7$m\e(B"]
+ [v-s5 "\e$B$;\e(B" "\e$B$;\e(B"]
+ [v-t5 "\e$B$D\e(B" "\e$B$D\e(B"]
+ [v-t5 "\e$B$F\e(B" "\e$B$F\e(B"]
+ [v-n5 "\e$B$L\e(B" "\e$B$L\e(B"]
+ [v-n5 "\e$B$M\e(B" "\e$B$M\e(B"]
+ [v-m5 "\e$B$`\e(B" "\e$B$`\e(B"]
+ [v-m5 "\e$B$a\e(B" "\e$B$a\e(B"]
+ [v-b5 "\e$B$V\e(B" "\e$B$V\e(B"]
+ [v-b5 "\e$B$Y\e(B" "\e$B$Y\e(B"]
+ [v-r5 "\e$B$k\e(B" "\e$B$k\e(B"]
+ [v-r5 "\e$B$l\e(B" "\e$B$l\e(B"]
+ [v-w5 "\e$B$&\e(B" "\e$B$&\e(B"]
+ [v-w5 "\e$B$(\e(B" "\e$B$(\e(B"]
+ [adj "\e$B$$\e(B" "\e$B$$\e(B"]
+ [adj "\e$B$1$l\e(B" "\e$B$1$l\e(B"]
+ [noun "\e$B$7$c\e(B" "\e$B<T\e(B"]
+ )
+ (noun
+ [nil "\e$B$"$U$)!<$@$s$9\e(B" "\e$B%"%U%)!<%@%s%9\e(B"]
+ [nil "\e$B$8$g$&$[$&\e(B" "\e$B>pJs\e(B"]
+ )
+ (mizen
+ [adj "\e$B$+$m\e(B" "\e$B$+$m\e(B"]
+ [v-k5 "\e$B$+\e(B" "\e$B$+\e(B"]
+ [v-k5 "\e$B$3\e(B" "\e$B$3\e(B"]
+ [v-g5 "\e$B$,\e(B" "\e$B$,\e(B"]
+ [v-g5 "\e$B$4\e(B" "\e$B$4\e(B"]
+ [v-s5 "\e$B$5\e(B" "\e$B$5\e(B"]
+ [v-s5 "\e$B$=\e(B" "\e$B$=\e(B"]
+ [nil "\e$B$;\e(B" "\e$B$;\e(B"]
+ [v-t5 "\e$B$?\e(B" "\e$B$?\e(B"]
+ [v-t5 "\e$B$H\e(B" "\e$B$H\e(B"]
+ [v-n5 "\e$B$J\e(B" "\e$B$J\e(B"]
+ [v-n5 "\e$B$N\e(B" "\e$B$N\e(B"]
+ [v-m5 "\e$B$^\e(B" "\e$B$^\e(B"]
+ [v-m5 "\e$B$b\e(B" "\e$B$b\e(B"]
+ [v-b5 "\e$B$P\e(B" "\e$B$P\e(B"]
+ [v-b5 "\e$B$\\e(B" "\e$B$\\e(B"]
+ [v-r5 "\e$B$i\e(B" "\e$B$i\e(B"]
+ [v-r5 "\e$B$m\e(B" "\e$B$m\e(B"]
+ [v-w5 "\e$B$o\e(B" "\e$B$o\e(B"]
+ [v-w5 "\e$B$*\e(B" "\e$B$*\e(B"]
+ )
+ (renyou
+ [adj "\e$B$+$C\e(B" "\e$B$+$C\e(B"]
+ [adj "\e$B$/\e(B" "\e$B$/\e(B"]
+ [renyou "\e$B$^$7\e(B" "\e$B$^$7\e(B"]
+ [v-5i "\e$B$$\e(B" "\e$B$$\e(B"]
+ [v-5q "\e$B$C\e(B" "\e$B$C\e(B"]
+ [v-5n "\e$B$s\e(B" "\e$B$s\e(B"]
+ [v-k5 "\e$B$-\e(B" "\e$B$-\e(B"]
+ [v-k5 "\e$B$.\e(B" "\e$B$.\e(B"]
+ [v-s5 "\e$B$7\e(B" "\e$B$7\e(B"]
+ [nil "\e$B$7\e(B" "\e$B$7\e(B"]
+ [v-t5 "\e$B$A\e(B" "\e$B$A\e(B"]
+ [v-n5 "\e$B$K\e(B" "\e$B$K\e(B"]
+ [v-m5 "\e$B$_\e(B" "\e$B$_\e(B"]
+ [v-b5 "\e$B$S\e(B" "\e$B$S\e(B"]
+ [v-r5 "\e$B$j\e(B" "\e$B$j\e(B"]
+ )
+ (v-5i
+ [nil "\e$B$+\e(B" "\e$B=q\e(B"]
+ )
+ (v-s5
+ [nil "\e$B$+$s\e(B" "\e$B4X\e(B"]
+ )
+ (adj
+ [nil "\e$B$i$7\e(B" "\e$B$i$7\e(B"]
+ [nil "\e$B$J\e(B" "\e$B$J\e(B"]
+ )
+ ))
+
+(defun bottom-vector-string-match (pat seq)
+ (or (vectorp pat)
+ (setq pat (string-to-vector pat))
+ )
+ (if (vectorp seq)
+ (setq seq (copy-sequence seq))
+ (setq seq (string-to-vector seq))
+ )
+ (let ((lp (length pat))
+ (ls (length seq))
+ )
+ (if (> lp ls)
+ nil
+ (catch 'not-matched
+ (while (> lp 0)
+ (setq lp (1- lp)
+ ls (1- ls))
+ (or (eq (aref pat lp)(aref seq ls))
+ (throw 'not-matched nil)
+ )
+ )
+ (cons (subseq seq 0 ls) pat)
+ ))))
+
+
+(defvar sana-prefix
+;;(setq sana-prefix
+ '((1 (adj
+ ["\e$B$/\e(B" "\e$B$/\e(B"]
+ ["\e$B$7\e(B" "\e$B$7\e(B"]
+ ["\e$B$-\e(B" "\e$B$-\e(B"]
+ ["\e$B$$\e(B" "\e$B$$\e(B"]
+ ["\e$B$5\e(B" "\e$B$5\e(B"]
+ )
+ ;; (v-k*
+ ;; ["\e$B$-\e(B" "\e$B$-\e(B"]
+ ;; ["\e$B$-\e(B" "\e$BMh\e(B"]
+ ;; ["\e$B$-\e(B" "\e$BPT\e(B"]
+ ;; ["\e$B$/\e(B" "\e$B$/\e(B"]
+ ;; ["\e$B$/\e(B" "\e$BMh\e(B"]
+ ;; ["\e$B$/\e(B" "\e$BPT\e(B"]
+ ;; ["\e$B$3\e(B" "\e$B$3\e(B"]
+ ;; ["\e$B$3\e(B" "\e$BMh\e(B"]
+ ;; ["\e$B$3\e(B" "\e$BPT\e(B"]
+ ;; )
+ ;; (v-s*
+ ;; ["\e$B$7\e(B" "\e$B$7\e(B"]
+ ;; ["\e$B$;\e(B" "\e$B$;\e(B"]
+ ;; )
+ ;; (v-z*
+ ;; ["\e$B$8\e(B" "\e$B$8\e(B"]
+ ;; ["\e$B$:\e(B" "\e$B$:\e(B"]
+ ;; ["\e$B$<\e(B" "\e$B$<\e(B"]
+ ;; )
+
+ (+v-nari
+ ["\e$B$K\e(B" "\e$B$K\e(B"]
+ )
+ (+v-tari
+ ["\e$B$H\e(B" "\e$B$H\e(B"]
+ )
+ (+v-da
+ ["\e$B$G\e(B" "\e$B$G\e(B"]
+ ["\e$B$K\e(B" "\e$B$K\e(B"]
+ ["\e$B$J\e(B" "\e$B$J\e(B"]
+ )
+ (+v-ya
+ ["\e$B$(\e(B" "\e$B$'\e(B"]
+ ["\e$B$d\e(B" "\e$B$d\e(B"]
+ )
+ )
+ (2
+ (v-k*
+ ["\e$B$/$k\e(B" "\e$B$/$k\e(B"]
+ ["\e$B$/$k\e(B" "\e$BMh$k\e(B"]
+ ["\e$B$/$k\e(B" "\e$BPT$k\e(B"]
+ ["\e$B$/$l\e(B" "\e$B$/$l\e(B"]
+ ["\e$B$/$l\e(B" "\e$BMh$l\e(B"]
+ ["\e$B$/$l\e(B" "\e$BPT$l\e(B"]
+ ["\e$B$3$h\e(B" "\e$B$3$h\e(B"]
+ ["\e$B$3$h\e(B" "\e$BMh$h\e(B"]
+ ["\e$B$3$h\e(B" "\e$BPT$h\e(B"]
+ ["\e$B$3$$\e(B" "\e$B$3$$\e(B"]
+ ["\e$B$3$$\e(B" "\e$BMh$$\e(B"]
+ ["\e$B$3$$\e(B" "\e$BPT$$\e(B"]
+ )
+ (v-s*
+ ["\e$B$9$k\e(B" "\e$B$9$k\e(B"]
+ ["\e$B$9$l\e(B" "\e$B$9$l\e(B"]
+ ["\e$B$5$l\e(B" "\e$B$5$l\e(B"]
+ ["\e$B$;$h\e(B" "\e$B$;$h\e(B"]
+ )
+ (v-z*
+ ["\e$B$:$k\e(B" "\e$B$:$k\e(B"]
+ ["\e$B$:$l\e(B" "\e$B$:$l\e(B"]
+ ["\e$B$<$h\e(B" "\e$B$<$h\e(B"]
+ )
+ (+v-nari
+ ["\e$B$J$i\e(B" "\e$B$J$i\e(B"]
+ ["\e$B$J$j\e(B" "\e$B$J$j\e(B"]
+ ["\e$B$J$k\e(B" "\e$B$J$k\e(B"]
+ ["\e$B$J$l\e(B" "\e$B$J$l\e(B"]
+ )
+ (+v-tari
+ ["\e$B$?$i\e(B" "\e$B$?$i\e(B"]
+ ["\e$B$?$j\e(B" "\e$B$?$j\e(B"]
+ ["\e$B$?$k\e(B" "\e$B$?$k\e(B"]
+ ["\e$B$?$l\e(B" "\e$B$?$l\e(B"]
+ )
+ (+v-da
+ ["\e$B$@$m\e(B" "\e$B$@$m\e(B"]
+ ;;["\e$B$@$C\e(B" "\e$B$@$C\e(B"]
+ ;;["\e$B$J$i\e(B" "\e$B$J$i\e(B"]
+ )
+ (+v-ya
+ ["\e$B$d$m\e(B" "\e$B$d$m\e(B"]
+ ;;["\e$B$d$C\e(B" "\e$B$d$C\e(B"]
+ ;;["\e$B$d$i\e(B" "\e$B$d$i\e(B"]
+ )
+ (+v-desu
+ ["\e$B$G$9\e(B" "\e$B$G$9\e(B"]
+ ;;["\e$B$G$7\e(B" "\e$B$G$7\e(B"]
+ )
+ (beki
+ ["\e$B$Y$/\e(B" "\e$B$Y$/\e(B"]
+ ["\e$B$Y$7\e(B" "\e$B$Y$7\e(B"]
+ ["\e$B$Y$-\e(B" "\e$B$Y$-\e(B"]
+ )
+ (renyou
+ ["\e$B$$$?\e(B" "\e$B$$$?\e(B"]
+ ["\e$B$C$?\e(B" "\e$B$C$?\e(B"]
+ )
+ )
+ (3 (+v-dearu
+ ;;["\e$B$G$"$i\e(B" "\e$B$G$"$i\e(B"]
+ ["\e$B$G$"$j\e(B" "\e$B$G$"$j\e(B"]
+ ["\e$B$G$"$k\e(B" "\e$B$G$"$k\e(B"]
+ ;;["\e$B$G$"$l\e(B" "\e$B$G$"$l\e(B"]
+ )
+ (+v-desu
+ ["\e$B$G$7$g\e(B" "\e$B$G$7$g\e(B"]
+ )
+ ;; (beki
+ ;; ["\e$B$Y$+$i\e(B" "\e$B$Y$+$i\e(B"]
+ ;; ["\e$B$Y$+$j\e(B" "\e$B$Y$+$j\e(B"]
+ ;; ["\e$B$Y$+$k\e(B" "\e$B$Y$+$k\e(B"]
+ ;; ["\e$B$Y$1$l\e(B" "\e$B$Y$1$l\e(B"]
+ ;; )
+ (renyou
+ ["\e$B$^$9$+\e(B" "\e$B$^$9$+\e(B"]
+ )
+ )
+ (4 (+v-desu
+ ["\e$B$G$7$g$&\e(B" "\e$B$G$7$g$&\e(B"]
+ ))
+ (5 (n
+ ["\e$B$K$+$s$7$F\e(B" "\e$B$K4X$7$F\e(B"]
+ ))))
+
+
+;;; @ end
+;;;
+
+(provide 'skkdic-ext)
+
+(run-hooks 'skkdic-ext-load-hook)
+
+;;; skkdic-ext.el ends here
--- /dev/null
+;;; yude-canna.el --- Boiled-Egg like roman to kanaji converter
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version: $Id: yude-canna.el,v 0.2 1996/11/12 09:18:37 morioka Exp $
+;; Keywords: input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'nabe)
+(require 'canna)
+
+
+;;; @ initialize
+;;;
+
+(canna)
+
+
+;;; @ functions
+;;;
+
+(defun canna-rk-no-trans-region (start end)
+ "Insert alpha-numeric string as it is sent from keyboard."
+ (interactive "r")
+ (let ((res))
+ (setq res (canna-rk-region start end))
+ (delete-region start end)
+ (if (null canna:*japanese-mode*)
+ (progn
+ (setq canna:*exit-japanese-mode* t) ))
+ (canna:enter-canna-mode)
+ (canna:display-candidates res)
+ (canna-kakutei-to-basic-stat)
+ ))
+
+(setq nabe-roman-to-kanji-function 'canna-rk-trans-region)
+(setq nabe-roman-to-kana-function 'canna-rk-no-trans-region)
+
+
+;;; @ redefine
+;;;
+
+(or (fboundp 'canna:original-quit-canna-mode)
+ (fset 'canna:original-quit-canna-mode
+ (symbol-function 'canna:quit-canna-mode))
+ )
+(defun canna:quit-canna-mode ()
+ (canna:original-quit-canna-mode)
+ (if (string= (canna-query-mode) "[\e$BH>1Q\e(B]")
+ (progn
+ (canna-do-function canna-func-base-zenkaku)
+ (canna-do-function canna-func-base-kana)
+ (canna-toggle-japanese-mode)
+ )))
+
+(defun canna-kakutei-to-basic-stat ()
+ (let ((res 0)
+ (kakutei
+ (mapconcat (function
+ (lambda (chr)
+ (if (eq chr ?\ )
+ ""
+ (char-to-string chr)
+ )
+ ))
+ canna-henkan-string ""))
+ )
+ (while (not canna-empty-info)
+ (setq res (canna-do-function canna-func-kakutei))
+ )
+ (setq canna-kakutei-string kakutei)
+ (canna:display-candidates (length canna-kakutei-string))
+ (if (not canna:*japanese-mode*)
+ (mode-line-canna-mode-update canna:*alpha-mode-string*))
+ ))
+
+
+;;; @ end
+;;;
+
+(provide 'yude-canna)
+
+;;; yude-canna.el ends here
--- /dev/null
+;;; yude-egg.el --- Boiled-Egg like roman to kanaji converter
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version: $Id: yude-egg.el,v 0.5 1996/11/12 09:04:30 morioka Exp $
+;; Keywords: input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'nabe)
+(require 'egg)
+
+(defun yude-egg-its-region (start end)
+ (interactive "r")
+ (let ((string (buffer-substring start end))
+ egg-mode)
+ (delete-region start end)
+ (egg-mode)
+ (unless (string= string "")
+ (let ((last-command-char (aref string 0)))
+ (egg-self-insert-char)
+ )
+ (let ((i 1)
+ (len (length string))
+ )
+ (while (< i len)
+ (let ((last-command-char (aref string i)))
+ (its-self-insert-char)
+ )
+ (setq i (1+ i))
+ )))
+ (its-exit-mode)
+ ))
+
+(defun yude-egg-translate-region (start end)
+ (interactive "r")
+ (save-restriction
+ (narrow-to-region start end)
+ (yude-egg-its-region start end)
+ (egg-convert-region (point-min)(point-max))
+ ))
+
+(setq nabe-roman-to-kanji-function 'yude-egg-translate-region)
+(setq nabe-roman-to-kana-function 'yude-egg-its-region)
+
+
+;;; @ end
+;;;
+
+(provide 'yude-egg)
+
+;;; yude-egg.el ends here
--- /dev/null
+;;; yude-kkc.el --- Boiled-Egg like roman to kanaji converter
+
+;; Copyright (C) 1996 MORIOKA Tomohiko
+
+;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; Version: $Id: yude-kkc.el,v 0.5 1996/11/12 09:04:30 morioka Exp $
+;; Keywords: input, Japanese, mule
+
+;; This file is not part of GNU Emacs.
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU General Public License as
+;; published by the Free Software Foundation; either version 2, or (at
+;; your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+
+;;; Code:
+
+(require 'nabe)
+(require 'roman-to-kana)
+(require 'kkc)
+
+(defun yude-kkc-translate-region (start end)
+ (let ((e (save-excursion
+ (save-restriction
+ (narrow-to-region start end)
+ (roman-to-kana-translate-region start end)
+ (point-max)
+ ))))
+ (kkc-region start e)
+ ))
+
+(setq nabe-roman-to-kanji-function 'yude-kkc-translate-region)
+(setq nabe-roman-to-kana-function 'roman-to-kana-translate-region)
+
+
+;;; @ end
+;;;
+
+(provide 'yude-kkc)
+
+;;; yude-kkc.el ends here