- 作成者投稿
- 2007年3月15日 12:31 am #4251naya参加者
選択範囲を、ひらがな⇔カタカナで相互変換する
機能/プラグイン/マクロ等あったらご紹介ください。「えむえでぃた」を選択し、Ctrl+Pで
「エムエディタ」になる、みたいなテンポだとベストです。2007年3月16日 3:40 am #4255匿名ゲスト個人的には、標準コマンドで用意してほしいんですけど、利用者が日本人となると、日本語版だけ用意するってのも大変なんですかね。この機能のプラグインがないのは不思議ですね。正確に作るのはややこしいのでしょうかね。自分も使う機会ありそうなので、一応マクロで作ってみました。 即席なので、作りが荒いのはお許しを。
//平とカナで対応がない文字もあるようなので、対応がある一般的な文字だけのひらカナ変換マクロです。
//
//カタカナを選ぶと、選択範囲中の全ての平仮名が全てのカタカナになります。
//ひらがなを選ぶと、選択範囲中の全てのカタカナが全て平仮名になります。
//カタカタ→平仮名 平仮名→カタカナ同時入れ替えとかは、自分で作ってください。
//ポップアップメニューが面倒な場合は、はずしてマクロを分けてください。var hirakana = new ConvertHiraganaKatakana();
var mm = new Array(
{ title: ‘カタカナ(&K)’, act: hirakana.Katakana },
{ title: ‘ひらがな(&H)’, act: hirakana.Hiragana }
);var menu = CreatePopupMenu();
mm.unshift({});
if( !document.selection.IsEmpty ) {
for( var i =1; i<mm.length; i++) { menu.Add( mm.title, i );}
menu.Add( "", 0, eeMenuSeparator );
}
menu.Add( ScriptName+"(&C)", 0, eeMenuGrayed );
var result = menu.Track();
if(result == 0) Quit();
document.selection.text = mm[result].act(document.selection.text);
//editor.NewFile();
//document.selection.text = hirakana.TableDisp().join("n");
Quit();function ConvertHiraganaKatakana () {
// 一般的なものだけに絞る
// 参考ヘルプ http://jp.emeditor.com/modules/xoopsfaq/index.php?cat_id=4#q39
//ひらがな [x{3041}-x{309e}]
//全角カタカナ [x{309b}-x{309c}x{30a1}-x{30fe}]var table = CreateHiraKanaTable();
this.Katakana = function (str) {
return str.replace(
/[u3041-u3094]/g,
function (chr){ return table[ chr ] }
);
}this.Hiragana = function (str) {
return str.replace(
/[u30a1-u30e4]/g,
function (chr){ return table[ chr ] }
);
}this.TableDisp = function () {
var t = new Array();
for( var key in table ) { t.push( key + table[key] );}
return t;
}function CreateHiraKanaTable() {
var hira
var table = {};
// for( var i = 0x3041; i<0x309e; i++ ) {
for( var i = 0x3041; i<0x3094; i++ ) {
hira = String.fromCharCode( i );
table[ hira ] = String.fromCharCode( i + 0x60);
table[ table[ hira ] ] = hira;
}
return table;
}
}
2007年3月16日 3:53 am #4257naya参加者perler さん、すばらしいマクロをありがとうございます。
プラグインでもなかったとは意外でした。ところで、
「ウィンドウズ」をひらがなにコンバートしたら
「うぃンどうず」になりますが、「ン」も「ん」になるように
するには「x{3041}-x{309e}]」みたいなところを
見直したらいいでしょうか?今もひらがなで殴り書きした会議の議事録を
直している作業をしてましたので早速活躍しそうです。以上、まずは御礼申し上げます。
2007年3月16日 4:10 am #4258匿名ゲストすいません、私も今気づいたところです。
単純な連続性がない部分があるみたいで、そのひとつに「ん」当るみたいです。
ちょっと今すぐ一個一個直す時間がないので、時間が取れたら見直します。一番確実なのは、コード範囲を指定するのではなく、一個一個手打ちで対応表を作ることです。その方が分かりやすいかも^^;
50音なら、50×2 気合で^^;2007年3月16日 4:19 am #4259匿名ゲストTableDispメソッドで、表の中身書き出せるようにしてます。
見たら表はちゃんと出来てるので、マッチングの問題でした。/[u30a1-u30e4]/g,
function (chr){ return table[ chr ] }/[u30a1-u30f4]/g,
取り急ぎまで。まだ他にもおかしいところありませんが、ん→ンはできるようになってると思います。
2007年3月23日 4:37 am #4280naya参加者nayaです。
# 御礼したつもりが、勘違いだったようです、御礼遅くなってすみません。/[u30a1-u30e4]/g, の部分を /[u30a1-u30f4]/g, に変更することで
ん⇔ンの相互変換も快適にできるようになりました。
perlerさん、ありがとうございました。2007年3月23日 4:37 am #4281naya参加者nayaです。
# 御礼したつもりが、勘違いだったようです、御礼遅くなってすみません。/[u30a1-u30e4]/g, の部分を /[u30a1-u30f4]/g, に変更することで
ん⇔ンの相互変換も快適にできるようになりました。
perlerさん、ありがとうございました。 - 作成者投稿
- このトピックに返信するにはログインしてください。