skkimeを使っていて、skkのskk-rom-kana-rule-listを設定したいと常々思っていたのだが、
プロパティで1つ1つ登録しなきゃならんのでメンドイ!と思いつつ、なにかよい方法はないのかと
ググっていたらレジストリに直接登録すればいいということがわかりました。

レジストリの場所は、
HKEY_CURRENT_USER\Software\TT\Windows\CurrentVersion\SKKIME\1.0\RomaKanaRuleList
らしいです。

ということで、ある一部で流行っているperlのWin32系モジュールを使用して一括登録が
できるプログラムを作ってみました。


プログラムは下記になります。なおこのプログラムを実行すると上記のレジストリを一旦消して、
新たに登録するのでご注意を。
自分で登録する項目を変えたい場合には、__END__以下を編集してください。
※当然at own riskです(笑)

ちなみに ActivePerlとlibwin32をインストールしないといけないので、
その辺は他のページを参照ください。
use strict;
use Win32::TieRegistry;

$Registry->Delimiter("/");
my $keys = $Registry->{"HKEY_CURRENT_USER/Software/TT/Windows/CurrentVersion/SKKIME/1.0/RomaKanaRuleList/"};

foreach my $entry (keys(%$keys)) {
    print "deleting $entry\n";
    delete $Registry->{"HKEY_CURRENT_USER/Software/TT/Windows/CurrentVersion/SKKIME/1.0/RomaKanaRuleList/$entry"};
}

while () {
    chomp();
    print "adding $_\n";
    my($tip, $data1, $data2) = split(/\t/, $_);
    $Registry->{"HKEY_CURRENT_USER/Software/TT/Windows/CurrentVersion/SKKIME/1.0/RomaKanaRuleList//$tip"} = [ "_\000_$data2\000_$data1\000", "REG_MULTI_SZ" ];
}

__END__
nn	ン	ん
n'	ン	ん
z1	○	○
z2	▽	▽
z3	△	△
z4	□	□
z5	◇	◇
z6	☆	☆
z7	◎	◎
z8	¢	¢
z9	♂	♂
z0	♀	♀
z-	〜	〜
z=	≠	≠
zq	《	《
zw	》	》
zr	々	々
zt	〆	〆
zy	♪	♪
zp	〒	〒
z[	『	『
z]	』	』
z\	\	\
zs	ヽ	ヽ
zd	ゝ	ゝ
zf	〃	〃
zg	‐	‐
zh	←	←
zj	↓	↓
zk	↑	↑
zl	→	→
z;	゛	゛
z'	‘	‘
zx	:-	:-
zc	〇	〇
zv	※	※
zb	°	°
zn	′	′
zm	″	″
z,	‥	‥
z.	…	…
z/	・	・
z`	´	´
z!	●	●
z@	▼	▼
z#	▲	▲
z$	■	■
z%	◆	◆
z^	★	★
z&	£	£
z*	×	×
z(	【	【
z)	】	】
z_	∴	∴
z+	±	±
zQ	〈	〈
zW	〉	〉
zR	仝	仝
zT	§	§
zP	↑	↑
z{	〔	〔
z}	〕	〕
z|	‖	‖
zS	ヾ	ヾ
zD	ゞ	ゞ
zF	→	→
zG	―	―
z:	゜	゜
z"	“	“
zX	:-)	:-)
zC	℃	℃
zV	÷	÷
zB	←	←
zN	↓	↓
zM	〓	〓
z<	≦	≦
z>	≧	≧
z?	∞	∞
z~	¨	¨
zK1	┌	┌
zK2	┬	┬
zK3	┐	┐
zKq	├	┼
zKw	┼	┼
zKe	┤	┤
zKa	└	└
zKs	┴	┴
zKd	┘	┘
zK-	─	─
zK\	│	│
zK!	┏	┏
zK@	┳	┳
zK#	┓	┓
zKQ	┣	┣
zKW	╋	╋
zKE	┫	┫
zKA	┗	┗
zKS	┻	┻
zKD	┛	┛
zK_	━	━
zK|	┃	┃
zK5	┯	┯
zKr	┝	┝
zKt	┿	┿
zKy	┥	┥
zKg	┷	┷
zK%	┰	┰
zKR	┠	┠
zKT	╂	╂
zKY	┨	┨
zKG	┸	┸
zgq	・	・
zgw	σ	σ
zge	ε	ε
zgr	ρ	ρ
zgt	τ	τ
zgy	υ	υ
zgu	θ	θ
zgi	ι	ι
zgo	ο	ο
zgp	π	π
zga	α	α
zgs	σ	σ
zgd	δ	δ
zgf	φ	φ
zgg	γ	γ
zgh	η	η
zgj	ξ	ξ
zgk	κ	κ
zgl	λ	λ
zgz	ζ	ζ
zgx	χ	χ
zgc	ψ	ψ
zgv	ω	ω
zgb	β	β
zgn	ν	ν
zgm	μ	μ
zGq	−	−
zGw	Σ	Σ
zGe	Ε	Ε
zGr	Ρ	Ρ
zGt	Τ	Τ
zGy	Υ	Υ
zGu	Θ	Θ
zGi	Ι	Ι
zGo	Ο	Ο
zGp	Π	Π
zGa	Α	Α
zGs	Σ	Σ
zGd	Δ	Δ
zGf	Φ	Φ
zGg	Γ	Γ
zGh	Η	Η
zGj	Ξ	Ξ
zGk	Κ	Κ
zGl	Λ	Λ
zGz	Ζ	Ζ
zGx	Χ	Χ
zGc	Ψ	Ψ
zGv	Ω	Ω
zGb	Β	Β
zGn	Ν	Ν
zGm	Μ	Μ
>	>	>
<	<	<