Skip to content

Instantly share code, notes, and snippets.

@ypsilon-takai
Forked from anonymous/.skk
Last active April 8, 2016 09:06
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ypsilon-takai/5825262 to your computer and use it in GitHub Desktop.
Save ypsilon-takai/5825262 to your computer and use it in GitHub Desktop.
Change/add files to add DvorakJP support to DDSKK. -- I love SKK. --
;; use DvorakJP
(setq skk-use-dvojp t)
;; か行をcで入れるときに辞書の送りがなをちゃんとする。
(setq skk-okuri-char-alist '((\"c\" . \"k\")))
;; 変換候補の選択キーをDvorakに合ったものにする。
(setq skk-henkan-show-candidates-keys '(97 111 101 117 105 100 104 116 110 115 39 44 46 112 103 99 114 108 109 119 118))
;; リターンで確定のみ
(setq skk-egg-like-newline t)
;; インジケータに色を付けない
(setq skk-indicator-use-cursor-color nil)
;;; skk-dvojp.el --- 拡張ローマ字入力 "DvorakJP" を SKK で使うための設定 -*- coding: iso-2022-jp -*-
;; Copyright (C) 2013 TAKAI, Yosiyuki <ypsilon.takai@gmail.com>
;; Keywords: japanese, mule, input method
;;; Commentary:
;;
;; dvorak 配列での拡張ローマ字入力 "DvorakJP" を SKK で使うための設定です.
;; "DvorakJP" については,以下の URL を参照して下さい.
;; http://www7.plala.or.jp/dvorakjp/
;;
;; 使い方 - 下記の設定を .skk に加えてください.
;; その後 Emacs(Mule) を再起動すれば skk による ACT での
;; 入力が可能です.
;;
;; (setq skk-use-dvojp t)
;;
;;
;;; Code:
(eval-when-compile
(require 'skk-macs)
(require 'skk-vars))
(defvar skk-dvojp-additional-rom-kana-rule-list
'(("q" nil skk-toggle-kana)
("Q" nil skk-set-henkan-point-subr)
;; か行は c を使う
("ca" nil ("カ" . "か"))
("ci" nil ("キ" . "き"))
("cu" nil ("ク" . "く"))
("ce" nil ("ケ" . "け"))
("co" nil ("コ" . "こ"))
;; 拗音,撥音拡張,二重母音拡張
("cna" nil ("キャ" . "きゃ"))
("cni" nil ("キィ" . "きぃ"))
("cnu" nil ("キュ" . "きゅ"))
("cne" nil ("キェ" . "きぇ"))
("cno" nil ("キョ" . "きょ"))
("cha" nil ("チャ" . "ちゃ"))
("chi" nil ("チィ" . "ちぃ"))
("chu" nil ("チュ" . "ちゅ"))
("che" nil ("チェ" . "ちぇ"))
("cho" nil ("チョ" . "ちょ"))
("kha" nil ("キャ" . "きゃ"))
("khi" nil ("キィ" . "きぃ"))
("khu" nil ("キュ" . "きゅ"))
("khe" nil ("キェ" . "きぇ"))
("kho" nil ("キョ" . "きょ"))
("kwa" nil ("クァ" . "くぁ"))
("kwi" nil ("クィ" . "くぃ"))
("kwe" nil ("クェ" . "くぇ"))
("kwo" nil ("クォ" . "くぉ"))
("sha" nil ("シャ" . "しゃ"))
("shi" nil ("シィ" . "しぃ"))
("shu" nil ("シュ" . "しゅ"))
("she" nil ("シェ" . "しぇ"))
("sho" nil ("ショ" . "しょ"))
("tna" nil ("チャ" . "ちゃ"))
("tni" nil ("チィ" . "ちぃ"))
("tnu" nil ("チュ" . "ちゅ"))
("tne" nil ("チェ" . "ちぇ"))
("tno" nil ("チョ" . "ちょ"))
("tsa" nil ("ツャ" . "つゃ"))
("tsi" nil ("ツィ" . "つぃ"))
("tsu" nil ("ツ" . "つ"))
("tse" nil ("ツェ" . "つぇ"))
("tso" nil ("ツョ" . "つょ"))
("tha" nil ("テャ" . "てゃ"))
("thi" nil ("ティ" . "てぃ"))
("thu" nil ("テュ" . "てゅ"))
("the" nil ("テェ" . "てぇ"))
("tho" nil ("テョ" . "てょ"))
("nha" nil ("ニャ" . "にゃ"))
("nhi" nil ("ニィ" . "にぃ"))
("nhu" nil ("ニュ" . "にゅ"))
("nhe" nil ("ニェ" . "にぇ"))
("nho" nil ("ニョ" . "にょ"))
("hna" nil ("ヒャ" . "ひゃ"))
("hni" nil ("ヒィ" . "ひぃ"))
("hnu" nil ("ヒュ" . "ひゅ"))
("hne" nil ("ヒェ" . "ひぇ"))
("hno" nil ("ヒョ" . "ひょ"))
("fa" nil ("ファ" . "ふぁ"))
("fi" nil ("フィ" . "ふぃ"))
("fu" nil ("フ" . "ふ"))
("fe" nil ("フェ" . "ふぇ"))
("fo" nil ("フォ" . "ふぉ"))
("fna" nil ("フャ" . "ふゃ"))
("fni" nil ("フィ" . "ふぃ"))
("fnu" nil ("フュ" . "ふゅ"))
("fne" nil ("フェ" . "ふぇ"))
("fno" nil ("フョ" . "ふょ"))
("mna" nil ("ミャ" . "みゃ"))
("mni" nil ("ミィ" . "みぃ"))
("mnu" nil ("ミュ" . "みゅ"))
("mne" nil ("ミェ" . "みぇ"))
("mno" nil ("ミョ" . "みょ"))
("rha" nil ("リャ" . "りゃ"))
("rhi" nil ("リィ" . "りぃ"))
("rhu" nil ("リュ" . "りゅ"))
("rhe" nil ("リェ" . "りぇ"))
("rho" nil ("リョ" . "りょ"))
("gna" nil ("ギャ" . "ぎゃ"))
("gni" nil ("ギィ" . "ぎぃ"))
("gnu" nil ("ギュ" . "ぎゅ"))
("gne" nil ("ギェ" . "ぎぇ"))
("gno" nil ("ギョ" . "ぎょ"))
("gwa" nil ("グァ" . "ぐぁ"))
("gwi" nil ("グィ" . "ぐぃ"))
("gwe" nil ("グェ" . "ぐぇ"))
("gwo" nil ("グォ" . "ぐぉ"))
("zha" nil ("ジャ" . "じゃ"))
("zhi" nil ("ジィ" . "じぃ"))
("zhu" nil ("ジュ" . "じゅ"))
("zhe" nil ("ジェ" . "じぇ"))
("zho" nil ("ジョ" . "じょ"))
("ja" nil ("ジャ" . "じゃ"))
("ji" nil ("ジ" . "じ"))
("ju" nil ("ジュ" . "じゅ"))
("je" nil ("ジェ" . "じぇ"))
("jo" nil ("ジョ" . "じょ"))
("dna" nil ("ヂャ" . "ぢゃ"))
("dni" nil ("ヂィ" . "ぢぃ"))
("dnu" nil ("ヂュ" . "ぢゅ"))
("dne" nil ("ヂェ" . "ぢぇ"))
("dno" nil ("ヂョ" . "ぢょ"))
("dha" nil ("デャ" . "でゃ"))
("dhi" nil ("ディ" . "でぃ"))
("dhu" nil ("デュ" . "でゅ"))
("dhe" nil ("デェ" . "でぇ"))
("dho" nil ("デョ" . "でょ"))
("bna" nil ("ビャ" . "びゃ"))
("bni" nil ("ビィ" . "びぃ"))
("bnu" nil ("ビュ" . "びゅ"))
("bne" nil ("ビェ" . "びぇ"))
("bno" nil ("ビョ" . "びょ"))
("pna" nil ("ピャ" . "ぴゃ"))
("pni" nil ("ピィ" . "ぴぃ"))
("pnu" nil ("ピュ" . "ぴゅ"))
("pne" nil ("ピェ" . "ぴぇ"))
("pno" nil ("ピョ" . "ぴょ"))
("va" nil ("ヴァ" . "ヴァ"))
("vi" nil ("ヴィ" . "ヴィ"))
("vu" nil ("ヴ" . "ヴ"))
("ve" nil ("ヴェ" . "ヴェ"))
("vo" nil ("ヴォ" . "ヴォ"))
("twu" nil ("トゥ" . "とぅ"))
("dwu" nil ("ドゥ" . "どぅ"))
("xca" nil ("ヵ" . "ヵ"))
("xce" nil ("ヶ" . "ヶ"))
("xtu" nil ("ッ" . "っ"))
;; 清音,濁音,撥音拡張,二重母音拡張
("c;" nil ("カン" . "かん"))
("cq" nil ("コン" . "こん"))
("cj" nil ("ケン" . "けん"))
("ck" nil ("クン" . "くん"))
("cx" nil ("キン" . "きん"))
("s;" nil ("サン" . "さん"))
("sq" nil ("ソン" . "そん"))
("sj" nil ("セン" . "せん"))
("sk" nil ("スン" . "すん"))
("sx" nil ("シン" . "しん"))
("t;" nil ("タン" . "たん"))
("tq" nil ("トン" . "とん"))
("tj" nil ("テン" . "てん"))
("tk" nil ("ツン" . "つん"))
("tx" nil ("チン" . "ちん"))
("n;" nil ("ナン" . "なん"))
("nq" nil ("ノン" . "のん"))
("nj" nil ("ネン" . "ねん"))
("nk" nil ("ヌン" . "ぬん"))
("nx" nil ("ニン" . "にん"))
("h;" nil ("ハン" . "はん"))
("hq" nil ("ホン" . "ほん"))
("hj" nil ("ヘン" . "へん"))
("hk" nil ("フン" . "ふん"))
("hx" nil ("ヒン" . "ひん"))
("m;" nil ("マン" . "まん"))
("mq" nil ("モン" . "もん"))
("mj" nil ("メン" . "めん"))
("mk" nil ("ムン" . "むん"))
("mx" nil ("ミン" . "みん"))
("r;" nil ("ラン" . "らん"))
("rq" nil ("ロン" . "ろん"))
("rj" nil ("レン" . "れん"))
("rk" nil ("ルン" . "るん"))
("rx" nil ("リン" . "りん"))
("g;" nil ("ガン" . "がん"))
("gq" nil ("ゴン" . "ごん"))
("gj" nil ("ゲン" . "げん"))
("gk" nil ("グン" . "ぐん"))
("gx" nil ("ギン" . "ぎん"))
("z;" nil ("ザン" . "ざん"))
("zq" nil ("ゾン" . "ぞん"))
("zj" nil ("ゼン" . "ぜん"))
("zk" nil ("ズン" . "ずん"))
("zx" nil ("ジン" . "じん"))
("d;" nil ("ダン" . "だん"))
("dq" nil ("ドン" . "どん"))
("dj" nil ("デン" . "でん"))
("dk" nil ("ヅン" . "づん"))
("dx" nil ("ヂン" . "ぢん"))
("b;" nil ("バン" . "ばん"))
("bq" nil ("ボン" . "ぼん"))
("bj" nil ("ベン" . "べん"))
("bk" nil ("ブン" . "ぶん"))
("bx" nil ("ビン" . "びん"))
("cn;" nil ("キャン" . "きゃん"))
("cnq" nil ("キョン" . "きょん"))
("cnj" nil ("キェン" . "きぇん"))
("cnk" nil ("キュン" . "きゅん"))
("cnx" nil ("キィン" . "きぃん"))
("ky;" nil ("キャン" . "きゃん"))
("kyq" nil ("キョン" . "きょん"))
("kyj" nil ("キェン" . "きぇん"))
("kyk" nil ("キュン" . "きゅん"))
("kyx" nil ("キィン" . "きぃん"))
("sh;" nil ("シャン" . "しゃん"))
("shq" nil ("ション" . "しょん"))
("shj" nil ("シェン" . "しぇん"))
("shk" nil ("シュン" . "しゅん"))
("shx" nil ("シィン" . "しぃん"))
("th;" nil ("テャン" . "てゃん"))
("thq" nil ("テョン" . "てょん"))
("thj" nil ("テェン" . "てぇん"))
("thk" nil ("テュン" . "てゅん"))
("thx" nil ("ティン" . "てぃん"))
("nh;" nil ("ニャン" . "にゃん"))
("nhq" nil ("ニョン" . "にょん"))
("nhj" nil ("ニェン" . "にぇん"))
("nhk" nil ("ニュン" . "にゅん"))
("nhx" nil ("ニィン" . "にぃん"))
("hd;" nil ("ヒャン" . "ひゃん"))
("hdq" nil ("ヒョン" . "ひょん"))
("hdj" nil ("ヒェン" . "ひぇん"))
("hdk" nil ("ヒュン" . "ひゅん"))
("hdx" nil ("ヒィン" . "ひぃん"))
("md;" nil ("ミャン" . "みゃん"))
("mdq" nil ("ミョン" . "みょん"))
("mdj" nil ("ミェン" . "みぇん"))
("mdk" nil ("ミュン" . "みゅん"))
("mdx" nil ("ミィン" . "みぃん"))
("rh;" nil ("リャン" . "りゃん"))
("rhq" nil ("リョン" . "りょん"))
("rhj" nil ("リェン" . "りぇん"))
("rhk" nil ("リュン" . "りゅん"))
("rhx" nil ("リィン" . "りぃん"))
("gn;" nil ("ギャン" . "ぎゃん"))
("gnq" nil ("ギョン" . "ぎょん"))
("gnj" nil ("ギェン" . "ぎぇん"))
("gnk" nil ("ギュン" . "ぎゅん"))
("gnx" nil ("ギィン" . "ぎぃん"))
("zh;" nil ("ジャン" . "じゃん"))
("zhq" nil ("ジョン" . "じょん"))
("zhj" nil ("ジェン" . "じぇん"))
("zhk" nil ("ジュン" . "じゅん"))
("zhx" nil ("ジィン" . "じぃん"))
("dn;" nil ("ヂャン" . "ぢゃん"))
("dnq" nil ("ヂョン" . "ぢょん"))
("dnj" nil ("ヂェン" . "ぢぇん"))
("dnk" nil ("ヂュン" . "ぢゅん"))
("dnx" nil ("ヂィン" . "ぢぃん"))
("bn;" nil ("ビャン" . "びゃん"))
("bnq" nil ("ビョン" . "びょん"))
("bnj" nil ("ビェン" . "びぇん"))
("bnk" nil ("ビュン" . "びゅん"))
("bnx" nil ("ビィン" . "びぃん"))
("ph;" nil ("ピャン" . "ぴゃん"))
("phq" nil ("ピョン" . "ぴょん"))
("phj" nil ("ピェン" . "ぴぇん"))
("phk" nil ("ピュン" . "ぴゅん"))
("phx" nil ("ピィン" . "ぴぃん"))
("c'" nil ("カイ" . "かい"))
("c," nil ("コウ" . "こう"))
("c." nil ("ケイ" . "けい"))
("cp" nil ("クウ" . "くう"))
("s'" nil ("サイ" . "さい"))
("s," nil ("ソウ" . "そう"))
("s." nil ("セイ" . "せい"))
("sp" nil ("スウ" . "すう"))
("t'" nil ("タイ" . "たい"))
("t," nil ("トウ" . "とう"))
("t." nil ("テイ" . "てい"))
("tp" nil ("ツウ" . "つう"))
("n'" nil ("ナイ" . "ない"))
("n," nil ("ノウ" . "のう"))
("n." nil ("ネイ" . "ねい"))
("np" nil ("ヌウ" . "ぬう"))
("h'" nil ("ハイ" . "はい"))
("h," nil ("ホウ" . "ほう"))
("h." nil ("ヘイ" . "へい"))
("hp" nil ("フウ" . "ふう"))
("m'" nil ("マイ" . "まい"))
("m," nil ("モウ" . "もう"))
("m." nil ("メイ" . "めい"))
("mp" nil ("ムウ" . "むう"))
("r'" nil ("ライ" . "らい"))
("r," nil ("ロウ" . "ろう"))
("r." nil ("レイ" . "れい"))
("rp" nil ("ルウ" . "るう"))
("w'" nil ("ワイ" . "わい"))
("g'" nil ("ガイ" . "がい"))
("g," nil ("ゴウ" . "ごう"))
("g." nil ("ゲイ" . "げい"))
("gp" nil ("グウ" . "ぐう"))
("z'" nil ("ザイ" . "ざい"))
("z," nil ("ゾウ" . "ぞう"))
("z." nil ("ゼイ" . "ぜい"))
("zp" nil ("ズウ" . "ずう"))
("d'" nil ("ダイ" . "だい"))
("d," nil ("ドウ" . "どう"))
("d." nil ("デイ" . "でい"))
("dp" nil ("ヅウ" . "づう"))
("b'" nil ("バイ" . "ばい"))
("b," nil ("ボウ" . "ぼう"))
("b." nil ("ベイ" . "べい"))
("bp" nil ("ブウ" . "ぶう"))
("p'" nil ("パイ" . "ぱい"))
("p," nil ("ポウ" . "ぽう"))
("p." nil ("ペイ" . "ぺい"))
("cn'" nil ("キャイ" . "きゃい"))
("cn," nil ("キョウ" . "きょう"))
("cn." nil ("キェイ" . "きぇい"))
("cnp" nil ("キュウ" . "きゅう"))
("ky'" nil ("キャイ" . "きゃい"))
("ky," nil ("キョウ" . "きょう"))
("ky." nil ("キェイ" . "きぇい"))
("kyp" nil ("キュウ" . "きゅう"))
("sh'" nil ("シャイ" . "しゃい"))
("sh," nil ("ショウ" . "しょう"))
("sh." nil ("シェイ" . "しぇい"))
("shp" nil ("シュウ" . "しゅう"))
("th'" nil ("テャイ" . "てゃい"))
("th," nil ("テョウ" . "てょう"))
("th." nil ("テェイ" . "てぇい"))
("thp" nil ("テュウ" . "てゅう"))
("nh'" nil ("ニャイ" . "にゃい"))
("nh," nil ("ニョウ" . "にょう"))
("nh." nil ("ニェイ" . "にぇい"))
("nhp" nil ("ニュウ" . "にゅう"))
("f'" nil ("ファイ" . "ふぁい"))
("f," nil ("フォウ" . "ふぉう"))
("f." nil ("フェイ" . "ふぇい"))
("fp" nil ("フュウ" . "ふゅう"))
("hn'" nil ("ヒャイ" . "ひゃい"))
("hn," nil ("ヒョウ" . "ひょう"))
("hn." nil ("ヒェイ" . "ひぇい"))
("hnp" nil ("ヒュウ" . "ひゅう"))
("mn'" nil ("ミャイ" . "みゃい"))
("mn," nil ("ミョウ" . "みょう"))
("mn." nil ("ミェイ" . "みぇい"))
("mnp" nil ("ミュウ" . "みゅう"))
("rh'" nil ("リャイ" . "りゃい"))
("rh," nil ("リョウ" . "りょう"))
("rh." nil ("リェイ" . "りぇい"))
("rhp" nil ("リュウ" . "りゅう"))
("gn'" nil ("ギャイ" . "ぎゃい"))
("gn," nil ("ギョウ" . "ぎょう"))
("gn." nil ("ギェイ" . "ぎぇい"))
("gnp" nil ("ギュウ" . "ぎゅう"))
("j'" nil ("ジャイ" . "じゃい"))
("j," nil ("ジョウ" . "じょう"))
("j." nil ("ジェイ" . "じぇい"))
("jp" nil ("ジュウ" . "じゅう"))
("zh'" nil ("ジャイ" . "じゃい"))
("zh," nil ("ジョウ" . "じょう"))
("zh." nil ("ジェイ" . "じぇい"))
("zhp" nil ("ジュウ" . "じゅう"))
("dn'" nil ("ヂャイ" . "ぢゃい"))
("dn," nil ("ヂョウ" . "ぢょう"))
("dn." nil ("ヂェイ" . "ぢぇい"))
("dnp" nil ("ヂュウ" . "ぢゅう"))
("bn'" nil ("ビャイ" . "びゃい"))
("bn," nil ("ビョウ" . "びょう"))
("bn." nil ("ビェイ" . "びぇい"))
("bnp" nil ("ビュウ" . "びゅう"))
("ph'" nil ("ピャイ" . "ぴゃい"))
("ph," nil ("ピョウ" . "ぴょう"))
("ph." nil ("ピェイ" . "ぴぇい"))
("php" nil ("ピュウ" . "ぴゅう"))))
;; " : は ' ; として変換させる
(setq skk-downcase-alist
(append skk-downcase-alist '((?\" . ?\') (?: . ?\;))))
;; dvojp 特有の変換規則を追加する
(dolist (rule skk-dvojp-additional-rom-kana-rule-list)
(add-to-list 'skk-rom-kana-rule-list rule))
;; for jisx0201
(eval-after-load "skk-jisx0201"
'(progn
(dolist (rule skk-dvojp-additional-rom-kana-rule-list)
(add-to-list 'skk-jisx0201-rule-list
(if (listp (nth 2 rule))
(list (nth 0 rule) (nth 1 rule)
(japanese-hankaku (car (nth 2 rule))))
rule)))
(setq skk-jisx0201-base-rule-tree
(skk-compile-rule-list skk-jisx0201-base-rule-list
skk-jisx0201-rule-list))))
(run-hooks 'skk-dvojp-load-hook)
(provide 'skk-dvojp)
;;; skk-dvojp.el ends here
diff -wu "ddskk-15.1/skk-vars.el" "skk-vars.el"
--- ddskk-15.1/skk-vars.el
+++ skk-vars.el Tue Jun 18 16:50:23 2013
@@ -236,6 +236,10 @@
:prefix "skk-act-"
:group 'skk-input-enhanced)
+(defgroup skk-dvojp nil "SKK で拡張ローマ字入力 DvorakJP を使う設定"
+ :prefix "skk-dvojp-"
+ :group 'skk-input-enhanced)
+
(defgroup skk-azik nil "SKK で拡張ローマ字入力 AZIK を使う設定"
:prefix "skk-azik-"
:group 'skk-input-enhanced)
@@ -2724,6 +2728,17 @@
:type 'hook
:group 'skk-act)
+;; skk-dvojp.el related.
+(defcustom skk-use-dvojp nil
+ "*Non-nil であれば拡張ローマ字入力 DvorakJP を利用する。"
+ :type 'boolean
+ :group 'skk-dvojp)
+
+(defcustom skk-dvojp-load-hook nil
+ "*skk-dvojp を load した後に実行される hook."
+ :type 'hook
+ :group 'skk-dvojp)
+
;; skk-azik.el related.
(defcustom skk-use-azik nil
"*Non-nil であれば拡張ローマ字入力 AZIK を利用する。"
diff -wu "ddskk-15.1/skk.el" "skk.el"
--- d:ddskk-15.1/skk.el
+++ d:skk.el
@@ -246,7 +246,7 @@
(plist-member (symbol-plist sym) 'standard-value))
(set-default sym
(eval (car (get sym 'standard-value)))))))
- (dolist (feature '(skk-act skk-azik))
+ (dolist (feature '(skk-act skk-azik skk-dvojp))
(when (featurep feature)
(unload-feature feature)))
(let (skk-mode-invoked)
@@ -315,6 +315,9 @@
(cond (skk-use-act
;; 拡張ローマ字入力 ACT
(require 'skk-act))
+ (skk-use-dvojp
+ ;; 拡張ローマ字入力 DvorakJP
+ (require 'skk-dvojp))
(skk-use-azik
;; 拡張ローマ字入力 AZIK
(require 'skk-azik))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment