- 半角全角が頻繁に混じる文章を書く際に切り替えが面倒に感じていた。
- 半角ローマ字で入力したのをあとからひらがな(カタカナ)に変換できないかと思っていたところ ruby のライブラリに romkan なるものを発見。
- すでにカタカナからひらがなに、あるいはひらがなをカタカナに変換するマクロは作っていたので、これを半角ローマ字入力にも対応できるように拡張してみた。
//ひらがな変換・カタカナ変換
disabledraw;begingroupundo;
if(selecting){}else{beginsel;wordleft;}
#px=seltopx;#py=seltopy;#dx=selendx;#dy=selendy;
copy2;#fg=getclipboardinfo(1);
//ひらがな変換
runsync2 "rubyw -x "+currentmacrofilename+" h";
//カタカナ変換
//runsync2 "rubyw -x "+currentmacrofilename+" k";
beginclipboardread;
if (#fg){delete;pasterect;beginrect;moveto #dx,#dy;enabledraw;}
else{delete;paste;}
enabledraw;endgroupundo;
/*
#/
#! ruby
# encoding: utf-8
Encoding.default_external = 'UTF-8'
require 'clipboard'
require 'romkan'
$stdout=open("tmp99m.txt","w")
$stderr=open("tmp_errm.txt","w")
cbd = ClipBoard.new(__ENCODING__)
st=cbd.getText
opt=ARGV[0]
arg=ARGV[1].to_i
if /^h/=~opt #ひらがな
st=st.to_kana.tr("ァ-ン","ぁ-ん")
elsif /^k/=~opt #カタカナ
st=st.to_kana.tr("ぁ-ん","ァ-ン")
end
cbd.setText(st)
__END__
*/
- 文字を選択した場合は選択した文字を変換、してない場合は前の単語を変換する。
- マクロの ruby 部分のコメント行の切り替えでカタカナ変換にできる。
- alt+キー,ctrl+キーのようにキーボードに割り当てて使用するのを推奨。
- shiftキーを押しながら実行すると変換した文字を選択。
- その場合は変換キーと組み合わせることで漢字に変換できる。
- 矩形選択にもそれっぽく対応。
- 矩形選択時の処理をどうしたものか悩んだけど一度 tmpファイルに選択内容を書き出して加工することで解決。
コメント