LoginSignup
0
0

More than 5 years have passed since last update.

SKK で旧字旧かなと新字新かなを切り換へられる設定を書いた.(新字新かな)

Posted at

SKK で旧字旧かなと新字新かなを切り換へられる設定を書いた.

以下を home directory に置く:

ldic_kyuji.dic --- 北極三号改の辞書 npiiii.l.euc をこの名にしておく.
udic_kyuji.dic --- 旧字旧かなの user 辞書.
udic_kyuji.dic.BAK --- 旧字旧かなの user 辞書の backup.

ldic_shinji.dic --- SKK-JISYO.L をこの名にしておく.
udic_shinji.dic --- 新字新かなの user 辞書.
udic_shinji.dic.BAK --- 新字新かなの user 辞書の backup.

以下を init.el に記述する:

init.el
(setq skk-large-jisyo "~/ldic_kyuji.dic")
(setq skk-jisyo "~/udic_kyuji.dic")
(setq skk-backup-jisyo "~/udic_kyuji.dic.BAK")

(defun kyu-shin (x) (replace-regexp-in-string "kyu" "shin" x))
(defun shin-kyu (x) (replace-regexp-in-string "shin" "kyu" x))

(defun shinji-to-kyuji nil
  (interactive)
  (progn 
    (skk-mode -1)
    (skk-save-jisyo)
    (setq lub (list skk-large-jisyo skk-jisyo skk-backup-jisyo))
    (setq newlub (mapcar (function shin-kyu) lub))
    (setq skk-large-jisyo (nth 0 newlub))
    (setq skk-jisyo (nth 1 newlub))
    (setq skk-backup-jisyo (nth 2 newlub))
    (skk-mode 1)))

(defun kyuji-to-shinji nil
  (interactive)
  (progn 
    (skk-mode -1)
    (skk-save-jisyo)
    (setq lub (list skk-large-jisyo skk-jisyo skk-backup-jisyo))
    (setq newlub (mapcar (function kyu-shin) lub))
    (setq skk-large-jisyo (nth 0 newlub))
    (setq skk-jisyo (nth 1 newlub))
    (setq skk-backup-jisyo (nth 2 newlub))
    (skk-mode 1)))

(defun toggle-jitai nil
  (interactive)
  (cond 
   ((and 
    (equal skk-large-jisyo "~/ldic_shinji.dic")
    (equal skk-jisyo "~/udic_shinji.dic")
    (equal skk-backup-jisyo "~/udic_shinji.dic.BAK"))
   (shinji-to-kyuji))

   ((and 
    (equal skk-large-jisyo "~/ldic_kyuji.dic")
    (equal skk-jisyo "~/udic_kyuji.dic")
    (equal skk-backup-jisyo "~/udic_kyuji.dic.BAK"))
   (kyuji-to-shinji))
   ((t nil))))

(defun show-lub nil
  (interactive)
  (setq lub (list skk-large-jisyo skk-jisyo skk-backup-jisyo))
  (princ lub))

(global-set-key [f8] 'toggle-jitai)
(global-set-key (kbd "C-<f8>") 'show-lub)

結果

Emacs および DDSKK の起動時は旧字旧かなで入力できる.
F8 で旧字旧かなと新字新かなを toggle できる.
C-F8 で現在の状態を表示できる.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0