Nabe 0.2. nabe-0_2
authortomo <tomo>
Sun, 21 Mar 2004 14:15:44 +0000 (14:15 +0000)
committertomo <tomo>
Sun, 21 Mar 2004 14:15:44 +0000 (14:15 +0000)
13 files changed:
ChangeLog [new file with mode: 0644]
Makefile [new file with mode: 0644]
NABE-CFG [new file with mode: 0644]
NABE-ELS [new file with mode: 0644]
NABE-MK [new file with mode: 0644]
README.ja [new file with mode: 0644]
kana-to-roman.el [new file with mode: 0644]
nabe.el [new file with mode: 0644]
roman-to-kana.el [new file with mode: 0644]
skkdic-ext.el [new file with mode: 0644]
yude-canna.el [new file with mode: 0644]
yude-egg.el [new file with mode: 0644]
yude-kkc.el [new file with mode: 0644]

diff --git a/ChangeLog b/ChangeLog
new file mode 100644 (file)
index 0000000..5c6724a
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,157 @@
+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.
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..1e2a1d1
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,30 @@
+#
+# $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)
diff --git a/NABE-CFG b/NABE-CFG
new file mode 100644 (file)
index 0000000..7db4b96
--- /dev/null
+++ b/NABE-CFG
@@ -0,0 +1,41 @@
+;;; -*-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
diff --git a/NABE-ELS b/NABE-ELS
new file mode 100644 (file)
index 0000000..9ccb0bb
--- /dev/null
+++ b/NABE-ELS
@@ -0,0 +1,11 @@
+;;; -*-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
diff --git a/NABE-MK b/NABE-MK
new file mode 100644 (file)
index 0000000..a9b24da
--- /dev/null
+++ b/NABE-MK
@@ -0,0 +1,31 @@
+;;; -*-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
diff --git a/README.ja b/README.ja
new file mode 100644 (file)
index 0000000..94471f9
--- /dev/null
+++ b/README.ja
@@ -0,0 +1,109 @@
+\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
diff --git a/kana-to-roman.el b/kana-to-roman.el
new file mode 100644 (file)
index 0000000..8b08f2d
--- /dev/null
@@ -0,0 +1,385 @@
+;;; 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
diff --git a/nabe.el b/nabe.el
new file mode 100644 (file)
index 0000000..0da8dea
--- /dev/null
+++ b/nabe.el
@@ -0,0 +1,77 @@
+;;; 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
diff --git a/roman-to-kana.el b/roman-to-kana.el
new file mode 100644 (file)
index 0000000..129f8ee
--- /dev/null
@@ -0,0 +1,357 @@
+;;; 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
diff --git a/skkdic-ext.el b/skkdic-ext.el
new file mode 100644 (file)
index 0000000..ec489b9
--- /dev/null
@@ -0,0 +1,374 @@
+;;; 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
diff --git a/yude-canna.el b/yude-canna.el
new file mode 100644 (file)
index 0000000..016027d
--- /dev/null
@@ -0,0 +1,102 @@
+;;; 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
diff --git a/yude-egg.el b/yude-egg.el
new file mode 100644 (file)
index 0000000..25ebd27
--- /dev/null
@@ -0,0 +1,70 @@
+;;; 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
diff --git a/yude-kkc.el b/yude-kkc.el
new file mode 100644 (file)
index 0000000..15ad269
--- /dev/null
@@ -0,0 +1,51 @@
+;;; 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