;;; ;;; Set Language Environments to Japanese ;;; (if (or (eq emacs-major-version 20) (eq emacs-major-version 21)) (let () (set-language-environment 'Japanese) ;;; gzファイルも編集できるように (auto-compression-mode t) (setq emacs-ime (getenv "EMACS_IME")) (if (null emacs-ime) (setq emacs-ime "wnn")) ; (setq emacs-ime "wnn") (if (or (equal emacs-ime "wnn") (equal emacs-ime "Wnn") (equal emacs-ime "wnn6") (equal emacs-ime "Wnn6") ) (progn (autoload 'egg "egg" "Initialize EGG." t) (if (eq emacs-major-version 21) (let () (load "egg") (load "leim-list") (setq egg-backend-type 'wnn) (setq wnn-server-type 'jserver) (set-language-info "Japanese" 'input-method "japanese-egg-wnn") ;; InputMethod の設定 ;; emacs 起動時 ASCII (setq default-input-method "japanese-egg-wnn") ;; emacs 起動時から日本語入力 ;;(set-input-method "japanese-egg-wnn") ;; jserverの指定 ;; jserver のリストを次の様にして指定できます ;;(setq jserver-list '("vanilla" "espresso")) (setq jserver-list (list (getenv "JSERVER") "localhost")) (setq wnn-host-name "localhost") (eval-after-load "egg/wnn" '(progn (defun wnn-uniq-hash (bunsetsu hash-table) (intern (mapconcat (lambda (b) (concat (cond ((eq wnn-uniq-level 'wnn-uniq) ;; the next line was modified (char-to-string (wnn-bunsetsu-get-hinshi b))) ((eq wnn-uniq-level 'wnn-uniq-entry) (concat (wnn-bunsetsu-get-dic-no b) "+" (wnn-bunsetsu-get-entry b)))) (concat "\0" (wnn-bunsetsu-get-converted b) "\0" (wnn-bunsetsu-get-fuzokugo b)))) bunsetsu "\0") hash-table)))) (autoload 'busyu-input "busyu" nil t) ;92.10.18 by K.Handa (autoload 'kakusuu-input "busyu" nil t) ;92.10.18 by K.Handa ) (egg) (load "egg-env") ) (if (eq emacs-major-version 20) (let () (global-set-key "\C-\\" 'toggle-egg-mode) (define-key isearch-mode-map "\C-\\" 'isearch-fep-egg) (autoload 'toggle-egg-mode "egg" "Initialize EGG." t) (autoload 'isearch-fep-egg "isearch-ext" "Read string for incremental search by using egg." t) )) ;(setq egg-default-startup-file "eggrc-wnn") ; 95.6.1 by S.Tomura (garbage-collect) ;; jserver のリストを次の様にして指定できます ;;(setq jserver-list '("vanilla" "espresso")) (setq jserver-list (list (getenv "JSERVER") "localhost")) ;; "nn" で「ん」を入力 ;(setq enable-double-n-syntax t) ;; "." で「.」、"," で「,」を入力。 ;(setq use-kuten-for-period nil) ;(setq use-touten-for-comma nil) ;; 1234567890%#%"' を「半角」で入力" ; (let ((its:*defrule-verbose* nil)) ; (its-define-mode "roma-kana") ; (dolist (symbol '("1" "2" "3" "4" "5" ; "6" "7" "8" "9" "0" ; "#" "%" "\"" "'" )) ; (its-defrule symbol symbol))) ;; おまけ :-) ;;(set-egg-fence-mode-format "♪" "♪" 'highlight) ) (if (or (equal emacs-ime "canna") (equal emacs-ime "Canna")) (if (string-match "pc-cygwin" system-configuration) (progn (load "yc") (setq global-yc-mode 1) ) (cond ((>= emacs-major-version 21) (progn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; emacs-dl-canna でないとき(emacs-21 + tamago) ;; Canna サーバの指定 (if (null (getenv "CANNASERVER")) (setq canna-server "localhost") (setq canna-server (getenv "CANNASERVER"))) (setq canna-hostname canna-server) ;; InputMethod の設定 (setq default-input-method "japanese-egg-canna") ;; -------------------------------------------------------- ;; tamago v4 ;; -------------------------------------------------------- ;; 全般 ;; 何回変換すると(自動的に)辞書に反映するか (setq wnn-auto-save-dictionaries 1 ;; nil にすると、alphanumeric が半角入力になるらしい。 its-enable-fullwidth-alphabet nil ;; Backspace で消すときに、 ;; かなを入力したローマ字に展開して ;; ローマ字単位で消す? its-delete-by-keystroke t ;; 外すと操作方法が変わるみたいです。よく分かりません。 egg-mode-preference t) ;; egg.el ;; 候補の最後まで行ったら先頭に戻る (setq egg-conversion-wrap-select t ;; 候補一覧を表示するまでの変換回数、0で非表示 egg-conversion-auto-candidate-menu 2) ;; F7 で toroku-region (global-set-key [f7] 'egg-toroku-region) ;; egg-canna.el ) ) (t (progn ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; emacs-dl-canna の場合(emacs-20) (load-library "canna") ;; color-mate を使わないで、漢字変換に色を付けたい時に (setq canna-use-color t) ;; フェンスモードでなくアンダーラインを使う ;;(setq canna-with-fences nil) ;;(setq canna-underline t) ;; Canna サーバの指定 (if (null (getenv "CANNASERVER")) (setq canna-server "localhost") (setq canna-server (getenv "CANNASERVER"))) (canna) ;; Canna を Ctrl-\ で起動します。コメントアウトすれば、 ;; Ctrl-\ で skk が立ち上がります。 (global-set-key "\C-\\" 'canna-toggle-japanese-mode) ;アンドゥの設定。 (global-set-key "\C-_" 'canna-undo) (setq canna-save-undo-text-predicate ;アンドゥバッファへ入れる条件 '(lambda (s) (> (length (car s)) 2)) ) (setq canna-undo-hook ;アンドゥ+α。 '(lambda () (message "再変換します....") (canna-do-function canna-func-henkan)) ) ;;かんなの変換中に BS & DEL を使う ;;(define-key canna-mode-map [backspace] [?\C-h]) ;;(define-key canna-mode-map [delete] [?\C-h]) ;;かんなの変換中に C-h を使う (with term/keyswap) (define-key canna-mode-map [?\177] [?\C-h]) ) ))) )) ))