ID:73087
デジタリアン日記〜浅倉大介ファン日記〜
by ymr
[375066hit]
■初音ミク語変換秀丸マクロ
漢字交じりの文をひらがな(ミク語)にするテキストエディタの秀丸用マクロを作ってみました。
mikuc.mac
ソース↓↓↓↓↓↓↓↓
// 初音ミク語変換秀丸マクロ
loaddll "ht_tools.dll";//h-tom 様の著作物
if( !result ) {
message "ht_tools.dllのロードに失敗しました。\n秀丸と一緒の場所にht_tools.dllを置いてください。";
endmacro;
}
if(selecting) {
#num = dllfunc("mecab_load");
if(#num != 1){
message "mecabの起動に失敗しました。mecab.exeのパスが通っていない可能性があります。";
endmacro;
}
$s = gettext(seltopx,seltopy,selendx,selendy);
$s = dllfuncstr("Replace",$s, "初音ミク", "初値ミク",-1);
$s = dllfuncstr("Replace",$s, "\r\n", "。",-1);
$dst = dllfuncstr("mecab", "-F %f[8]\\s -E \\n", $s);
moveto selendx,selendy;
$dst = dllfuncstr("Replace",$dst, "。", "\n",-1);
$dst = dllfuncstr("Replace",$dst, "、", "\n",-1);
$dst = dllfuncstr("Replace",$dst, "」", "\n",-1);
$dst = dllfuncstr("Replace",$dst, "「", "\n",-1);
$dst = dllfuncstr("Replace",$dst, "ッ", "ー",-1);
$dst = dllfuncstr("Replace",$dst, "ヲ", "オ",-1);
$dst = dllfuncstr("Replace",$dst, "\n \n ", "\n",-1);
#len=0;
#len = strlen($dst);
if(#len > 0){
insert "\n" + $dst;
}else {
message "変換失敗!";
}
#num = dllfunc("mecab_free");
} else {
message "範囲選択内のみ変換します";
}
freedll;
↑↑↑↑↑↑↑↑ここまで
まだだめだめです。
追記:
mecabの呼び出しオプションの部分を
$dst = dllfuncstr("mecab", "-F%pS%f[8]\\s -U%M -E\\n", $s);
とするとうまくいきました。aike様の日記を参考にさせていただきました。
01月13日(日)
[1]過去を読む
[2]未来を読む
[3]目次へ
[4]エンピツに戻る