;;; eggrc --- EGG Input Method Startup File

;; Copyright (C) 1999, 2000 Free Software Foundation, Inc

;; Author: KATAYAMA Yoshio <kate@pfu.co.jp>

;; Maintainer: TOMURA Satoru <tomura@etl.go.jp>

;; Keywords: mule, multilingual, input method

;; This file is part of EGG.

;; EGG 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.

;; EGG 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.

;;; Commentary:

;;; Code:

(defun wnn4-jserver-setup ()
  (wnn-define-environment nil)
  (wnn-set-fuzokugo "pubdic/full.fzk")
  (wnn-add-dict "pubdic/kihon.dic"     '("kihon.h")    5 nil t)
  (wnn-add-dict "pubdic/setsuji.dic"   '("setsuji.h")  5 nil t)
  (wnn-add-dict "pubdic/koyuu.dic"     '("koyuu.h")    1 nil t)
  (wnn-add-dict "pubdic/chimei.dic"    '("chimei.h")   1 nil t)
  (wnn-add-dict "pubdic/jinmei.dic"    '("jinmei.h")   1 nil t)
  (wnn-add-dict "pubdic/special.dic"   '("special.h")  5 nil t)
  (wnn-add-dict "pubdic/computer.dic"  '("computer.h") 5 nil t)
  (wnn-add-dict "pubdic/symbol.dic"    '("symbol.h")   1 nil t)
  (wnn-add-dict "pubdic/tankan.dic"    nil             1 nil nil)
  (wnn-add-dict "pubdic/bio.dic"       '("bio.h")      1 nil t)
  (wnn-add-dict '("ud")                nil             5 t   t)
  (wnn-add-dict "wnncons/tankan2.dic"  nil             1 nil nil)
  (wnn-add-dict "wnncons/tankan3.dic"  nil             1 nil nil)
;  (wnn-add-dict "gerodic/g-jinmei.dic" '("g-jinmei.h") 1 nil t)
  (wnn-set-param 2 10 2 45 100 200 5 1 40 -100 200 -100 200 80 200 200 200)

  (wnn-define-environment t)
  (wnn-set-fuzokugo "pubdic/full.fzk")
  (wnn-add-dict "pubdic/kihon.dic"     '("kihon.h")    5 nil t)
  (wnn-add-dict "pubdic/setsuji.dic"   '("setsuji.h")  5 nil t)
  (wnn-add-dict "pubdic/koyuu.dic"     '("koyuu.h")    1 nil t)
  (wnn-add-dict "pubdic/chimei.dic"    '("chimei.h")   1 nil t)
  (wnn-add-dict "pubdic/jinmei.dic"    '("jinmei.h")   1 nil t)
  (wnn-add-dict "pubdic/special.dic"   '("special.h")  5 nil t)
  (wnn-add-dict "pubdic/computer.dic"  '("computer.h") 5 nil t)
  (wnn-add-dict "pubdic/symbol.dic"    '("symbol.h")   1 nil t)
  (wnn-add-dict "pubdic/tankan.dic"    nil             1 nil nil)
  (wnn-add-dict "pubdic/bio.dic"       '("bio.h")      1 nil t)
  (wnn-add-dict '("ud")                nil             5 t   t)
  (wnn-add-dict "wnncons/tankan2.dic"  nil             1 nil nil)
  (wnn-add-dict "wnncons/tankan3.dic"  nil             1 nil nil)
;  (wnn-add-dict "gerodic/g-jinmei.dic" '("g-jinmei.h") 1 nil t)
  (wnn-set-param 2 10 2 45 100 200 5 1 40 -100 200 -100 200 80 200 200 200))

(defun wnn6-jserver-setup ()
  (wnn-define-environment nil)
  (wnn-set-fuzokugo "iwanami/kougo.fzk")
  (wnn-add-fisys-dict "iwanami/fisd"   '("fisd.h")       t)
  (wnn-add-fiusr-dict '("fiud")        nil               t   nil)
  (wnn-add-dict "iwanami/kihon.dic"    '("kihon.h")    6 nil t)
  (wnn-add-dict "iwanami/symbol.dic"   '("symbol.h")   1 nil t)
  (wnn-add-dict "iwanami/tankan.dic"   nil             1 nil nil)
  (wnn-add-dict "iwanami/tankan2.dic"  nil             1 nil nil)
  (wnn-add-dict "iwanami/tel.dic"      nil             1 nil nil)
  (wnn-add-dict "iwanami/zip.dic"      nil             1 nil nil)
  (wnn-add-dict '("ud")                nil            15 t   t)
;  (wnn-add-dict "wnncons/tankan2.dic"  nil            1 nil nil)
;  (wnn-add-dict "wnncons/tankan3.dic"  nil            1 nil nil)
  (wnn-set-param  5 10 2 45 0  80 5 1 20  0 400 -100 400   80 200 2 200)

  (wnn-add-notrans-dict '("katakana") 15 t)
  (wnn-add-bmodify-dict '("bunsetsu") 15 t)

  (wnn-set-last-is-first-mode t)
  (wnn-set-complex-conv-mode nil)
;  (wnn-set-okuri-flag -1)
  (wnn-set-prefix-flag 0)

  (wnn-set-okuri-learn-mode t)
  (wnn-set-prefix-learn-mode t)
  (wnn-set-suffix-learn-mode t)
  (wnn-set-common-learn-mode t)
  (wnn-set-yuragi-mode nil)

  (wnn-set-freq-func-mode 4)

;  (wnn-set-numeric-mode -12)
;  (wnn-set-alphabet-mode -30)
;  (wnn-set-symbol-mode -40)

  (wnn-define-environment t)
  (wnn-set-fuzokugo "iwanami/kougo.fzk")
  (wnn-add-dict '("ud") "" 15 t t)
  (wnn-set-param  2 10 2 45 1 80 5 1 50 -20 400 -10  100  -100 200 0 200))

(cond
 ((eq egg-backend-type 'wnn)
  (cond
   ((eq wnn-server-type 'jserver)
    (if wnn-wnn6-server
	(wnn6-jserver-setup)
      (wnn4-jserver-setup)))

   ((eq wnn-server-type 'cserver)
    (if wnn-use-bixing
	(progn
	  (wnn-define-environment nil "Q")
	  (wnn-set-fuzokugo "sys/full.con")
	  (wnn-add-dict "sys/QianMa.dic"     nil         1 nil nil)

	  (wnn-define-environment nil "W")
	  (wnn-set-fuzokugo "sys/full.con")
	  (wnn-add-dict "sys/WuBi.dic"       nil         1 nil nil)))

    (wnn-define-environment nil "PZ")
    (wnn-set-fuzokugo "sys/full.con")
    (wnn-add-dict "sys/level_1.dic"      '("level_1.h")  4 nil t)
    (wnn-add-dict "sys/level_2.dic"      '("level_2.h")  1 nil t)
    (wnn-add-dict "sys/basic.dic"        '("basic.h")    7 nil t)
    (wnn-add-dict "sys/computer.dic"     '("computer.h") 4 nil t)
    (wnn-add-dict "sys/cwnn.dic"         '("cwnn.h")     4 nil t)
    (wnn-add-dict '("ud")                nil             5 t   t)
    (wnn-set-param 1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0)

    (if wnn-use-bixing
	(progn
	  (wnn-define-environment t "Q")
	  (wnn-set-fuzokugo "sys/full.conR")
	  (wnn-add-dict "sys/QianMa.dic"     nil         1 nil nil)

	  (wnn-define-environment t "W")
	  (wnn-set-fuzokugo "sys/full.conR")
	  (wnn-add-dict "sys/WuBi.dic"       nil         1 nil nil)))

    (wnn-define-environment t "PZ")
    (wnn-set-fuzokugo "sys/full.conR")
    (wnn-add-dict "sys/level_1.dic"      '("level_1.h")  4 nil t)
    (wnn-add-dict "sys/level_2.dic"      '("level_2.h")  1 nil t)
    (wnn-add-dict "sys/basic.dic"        '("basic.h")    7 nil t)
    (wnn-add-dict "sys/computer.dic"     '("computer.h") 4 nil t)
    (wnn-add-dict "sys/cwnn.dic"         '("cwnn.h")     4 nil t)
    (wnn-add-dict '("ud")                nil             5 t   t)
    (wnn-set-param 1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0))

   ((eq wnn-server-type 'tserver)
    (wnn-define-environment nil "PZ")
    (wnn-set-fuzokugo "sys/full.con")
    (wnn-add-dict "sys/cns_ch.dic"       '("cns_ch.h")   4 nil t)
    (wnn-add-dict "sys/cns_wd.dic"       '("cns_wd.h")   1 nil t)
    (wnn-add-dict '("ud")                nil             5 t   t)
    (wnn-set-param 1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0)

    (wnn-define-environment t "PZ")
    (wnn-set-fuzokugo "sys/full.conR")
    (wnn-add-dict "sys/cns_ch.dic"       '("cns_ch.h")   4 nil t)
    (wnn-add-dict "sys/cns_wd.dic"       '("cns_wd.h")   1 nil t)
    (wnn-add-dict '("ud")                nil             5 t   t)
    (wnn-set-param 1 5 2 750 10 80 10 5 1000 50 0 -200 0 0 0 16 0))

   ((eq wnn-server-type 'kserver)
    (wnn-define-environment nil)
    (wnn-set-fuzokugo "sys/full.fzk")
    (wnn-add-dict "sys/hword.dic"        '("hword.h")    5 nil t)
    (wnn-add-dict "sys/single.dic"       '("single.h")   1 nil t)
    (wnn-add-dict '("ud")                nil             2 t   t)
    (wnn-set-param 2 5 2 45 200 80 5 1 40 0 400 -100 400 80 200 2 200)

    (wnn-define-environment t)
    (wnn-set-fuzokugo "sys/full.fzk")
    (wnn-add-dict "sys/hword.dic"        '("hword.h")    5 nil t)
    (wnn-add-dict "sys/single.dic"       '("single.h")   1 nil t)
    (wnn-add-dict '("ud")                nil             2 t   t)
    (wnn-set-param 2 5 2 45 200 80 5 1 40 0 400 -100 400 80 200 2 200))))

 ((eq egg-backend-type 'sj3)
;  (sj3-set-default-sys-dic-directory "/usr/sony/dict/sj3")
;  (sj3-set-default-usr-dic-directory "/usr/sony/dict/sj3/user/$USER")

  (sj3-setsysdic "sj3main.dic")

  (sj3-setusrdic "private.dic")
  (sj3-setusrstdy "study.dat")))
