;; Copyright 1992 NEC Corporation, Tokyo, Japan.
;;
;; Permission to use, copy, modify, distribute and sell this software
;; and its documentation for any purpose is hereby granted without
;; fee, provided that the above copyright notice appear in all copies
;; and that both that copyright notice and this permission notice
;; appear in supporting documentation, and that the name of NEC
;; Corporation not be used in advertising or publicity pertaining to
;; distribution of the software without specific, written prior
;; permission.  NEC Corporation makes no representations about the
;; suitability of this software for any purpose.  It is provided "as
;; is" without express or implied warranty.
;;
;; NEC CORPORATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
;; INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN 
;; NO EVENT SHALL NEC CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT OR
;; CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 
;; USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 
;; OTHER TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 
;; PERFORMANCE OF THIS SOFTWARE. 

;; Using this customize file gives you a Japanese Input Interface
;; like ichitaro does.

;;  @(#) 102.1 $Id: just.canna,v 2.10 1996/10/25 05:22:54 kon Exp $


;;;  ĥ˥塼򤢤ޤȤʤϡdo-not-use-extend-mode 
;;;  t ꤷƲ
(setq do-not-use-extend-mode   nil)


;;; ޻Ѵ

(setq romkana-table "just.cbp")


;;; Ѥ뼭

(use-dictionary
 "iroha"
 "fuzokugo"
 "hojomwd"
 "hojoswd"
 :bushu "bushu"
 :user  "user"
)

;ܸ on ˤ롣
(set-key 'alpha-mode "\C-Xfer" 'japanese-mode)

; üǱ˹ԤȤȺüˤ
(setq cursor-wrap            t)   ; default t

; ɽǿǤäȤޤǤ롣
(setq select-direct          t)   ; default t

; ɽǿ򤹤롣
(setq numerical-key-select   t)   ; default t

; ޻Ѵñ̤ǥư롣
(setq character-based-move   nil) ; default t

; ɤΤСʤ
(setq reverse-widely         nil) ; default nil

; ٳؽ򤹤롣
(setq gakushu                t)   ; default t

; κǸޤǤä顢ޤƬθɽ롣
(setq quit-if-end-of-ichiran nil) ; default nil

; ʸαüǱư򤹤Τꤹ롣
(setq kakutei-if-end-of-bunsetsu t) ; default nil

; ɤߤ˥ХåڡǤĤʸ١ǺԤ
(setq break-into-roman       nil) ; default nil

;ԤȤҤȤʸ˰ư롣
(setq stay-after-validate    nil) ; default t

; 2 Ѵ򲡤ȰɽԤ
(setq n-henkan-for-ichiran   2)   ; default 2

; 䤬Τβܤɽ롣
(setq kouho-count            t)   ; default t

; ñϿ/ľ˼ν񤭽ФԤ
(setq auto-sync		     t)   ; default t


;; ޥå

(global-unbind-key-function    'extend)
(global-unbind-key-function    'shrink)
(global-unbind-key-function    'forward)
(global-unbind-key-function    'backward)
(global-unbind-key-function    'previous)
(global-unbind-key-function    'next)
(global-unbind-key-function    'beginning-of-line)
(global-unbind-key-function    'end-of-line)
(global-unbind-key-function    'kill-to-end-of-line)


(global-set-key "\Backspace"   'delete-previous)
(global-set-key "\C-l"         'extend)
(global-set-key "\C-k"         'shrink)
(global-set-key "\Right"       'forward)
(global-set-key "\C-d"         'forward)
(global-set-key "\Left"        'backward)
(global-set-key "\C-s"         'backward)
(global-set-key "\C-Left"      'beginning-of-line)
(global-set-key "\C-a"         'beginning-of-line)
(global-set-key "\C-Right"     'end-of-line)
(global-set-key "\C-f"         'end-of-line)
(global-set-key "\Up"          'previous)
(global-set-key "\C-n"         'next)
(global-set-key "\Down"        'next)
(global-set-key "\Return"      'kakutei)
(global-set-key "\Escape"      'quit)


;; ϥ⡼ɤ

(defmode zenkaku-hiragana-mode "  " romkana-table '(zenkaku hiragana kakutei) t)
(defmode zenkaku-katakana-mode "  " romkana-table '(zenkaku katakana kakutei) t)
(defmode hankaku-katakana-mode "   " romkana-table '(hankaku katakana kakutei) t)
(defmode zenkaku-eisu-mode     "  " nil '(zenkaku kakutei) nil)
(defmode hankaku-eisu-mode     " A  " nil '(hankaku kakutei) nil)

(set-key 'empty-mode            "\C-Nfer"   'zenkaku-katakana-mode)
(set-key 'zenkaku-katakana-mode "\C-Nfer"   'hankaku-katakana-mode)
(set-key 'hankaku-katakana-mode "\C-Nfer"   'zenkaku-hiragana-mode)
(set-key 'zenkaku-hiragana-mode "\C-Nfer"   'henkan-nyuuryoku-mode)

(set-key 'empty-mode            "\S-Nfer"   'zenkaku-eisu-mode)
(set-key 'zenkaku-eisu-mode     "\S-Nfer"   'hankaku-eisu-mode)
(set-key 'hankaku-eisu-mode     "\S-Nfer"   'henkan-nyuuryoku-mode)

(global-set-key                 "\Nfer"     'henkan-nyuuryoku-mode)
(set-key 'henkan-nyuuryoku-mode "\Nfer"     'hankaku-eisu-mode)

(set-key 'empty-mode            "\F10"      'kigou-mode)


;; ɤߥ⡼ɻ

(let ((mode 'yomi-mode))
  (set-key mode "\Delete"       'delete-next)
  (set-key mode "\C-u"          'hiragana)
  (set-key mode "\F6"           'hiragana)
  (set-key mode "\C-i"          'katakana)
  (set-key mode "\F7"           'katakana)
  (set-key mode "\C-o"          'hankaku)
  (set-key mode "\F8"           'hankaku)
  (set-key mode "\C-p"          'romaji)
  (set-key mode "\F9"           'romaji)
  (set-key mode "\C-l"          'forward)
  (set-key mode "\C-k"          'backward)
  (set-key mode "\Space"        'henkan)
  (set-key mode "\Xfer"         'henkan)
  (set-key mode "\C-n"          'kakutei)
  (set-key mode "\Down"         'kakutei)
)


;; ñ⡼ɻ

(let ((mode 'tankouho-mode))
  (set-key mode "\S-Right"      'forward)
  (set-key mode "\S-Left"       'backward)
  (set-key mode "\C-u"          'hiragana)
  (set-key mode "\F6"           'hiragana)
  (set-key mode "\C-i"          'katakana)
  (set-key mode "\F7"           'katakana)
  (set-key mode "\C-o"          'hankaku)
  (set-key mode "\F8"           'hankaku)
  (set-key mode "\C-p"          'romaji)
  (set-key mode "\F9"           'romaji)
  (set-key mode "\C-n"          'forward)
  (set-key mode "\Down"         'forward)
  (set-key mode "\Right"        '(shinshuku-mode extend))
  (set-key mode "\C-l"          '(shinshuku-mode extend))
  (set-key mode "\Left"         '(shinshuku-mode shrink))
  (set-key mode "\C-k"          '(shinshuku-mode shrink))
  (set-key mode "\Xfer"         'kouho-ichiran)
  (set-key mode "\Space"        'henkan)
)


;; ʸ⡼ɻ

(let ((mode 'mojishu-mode))
  (set-key mode "\C-u"          'hiragana)
  (set-key mode "\F6"           'hiragana)
  (set-key mode "\C-i"          'katakana)
  (set-key mode "\F7"           'katakana)
  (set-key mode "\C-o"          'hankaku)
  (set-key mode "\F8"           'hankaku)
  (set-key mode "\C-p"          'romaji)
  (set-key mode "\F9"           'romaji)
  (set-key mode "\C-n"          'forward)
  (set-key mode "\Down"         'forward)
  (set-key mode "\Right"        'extend)
  (set-key mode "\Left"         'shrink)
)


;; ⡼ɻ

(let ((mode 'ichiran-mode))
  (set-key mode "\S-Xfer"       'previous)
  (set-key mode "\Xfer"         'next)
  (set-key mode "\Space"        'forward)
    (if  do-not-use-extend-mode
      (progn
        (set-key mode "\Up"           'backward)
        (set-key mode "\C-n"          'kakutei)
        (set-key mode "\Down"         'kakutei)
        (set-key mode "\Right"        '(quit shinshuku-mode extend))
        (set-key mode "\C-l"          '(quit shinshuku-mode extend))
        (set-key mode "\Left"         '(quit shinshuku-mode shrink)))
        (set-key mode "\C-k"          '(quit shinshuku-mode shrink))
      (progn
        (set-key mode "\C-l"          'forward)
        (set-key mode "\C-k"          'backward)))
)


;; ϥ⡼ɻ

(let ((mode 'kigou-mode))
  (set-key mode "\C-l"          'forward)
  (set-key mode "\Space"        'forward)
  (set-key mode "\C-k"          'backward)
  (set-key mode "\S-Xfer"       'previous)
  (set-key mode "\Xfer"         'next)
    (if  do-not-use-extend-mode
      (progn
        (set-key mode "\Up"           'backward)
        (set-key mode "\C-n"          'kakutei)
        (set-key mode "\Down"         'kakutei)))
)


;; ̥⡼ɻ

(let ((mode 'shinshuku-mode))
  (set-key mode "\C-u"          '(henkan hiragana))
  (set-key mode "\F6"           '(henkan hiragana))
  (set-key mode "\C-i"          '(henkan katakana))
  (set-key mode "\F7"           '(henkan katakana))
  (set-key mode "\C-o"          '(henkan hankaku))
  (set-key mode "\F8"           '(henkan hankaku))
  (set-key mode "\C-p"          '(henkan romaji))
  (set-key mode "\F9"           '(henkan romaji))
  (set-key mode "\Right"        'extend)
  (set-key mode "\Left"         'shrink)
  (set-key mode "\C-n"          'forward)
  (set-key mode "\Down"         'forward)
)


;; ⡼ɽ

(set-mode-display 'empty-mode            " Ϣ ")
(set-mode-display 'yomi-mode             " Ϣ ")
(set-mode-display 'henkan-nyuuryoku-mode " Ϣ ")
(set-mode-display 'chikuji-yomi-mode     "  ")
(set-mode-display 'chikuji-bunsetsu-mode "  ")


;; ܥ

(defsymbol
  ?, "" "")
(defsymbol
  ?. "" "")
(defsymbol
  ?[ "" ""
  ?] "" "")
(defsymbol
  ?/ "" "")
