ドイツ語とフランス語のアルファベットの実体参照マクロ

ここのところデュルケムからの引用をよくしているので、テキストエディタエンコードUTF-8に固定しました。ドイツ語だとタイプライター式の省略のしかたに頼れるのですが、フランス語だとアクサン記号を省略するとかえって読みにくいということもあり。
はてダだと、ブラウザの編集ページからエントリを投稿すると自動的に実体参照に変換してくれるのですが、はてなダイアリーライターを使ってポストすると文字化けしてしまいます。
それで秀丸のマクロを使って、テキストエディタ上で実体参照に変換できないものかと、あれこれ調べたところ、どうやらマクロによる置換ではUnicodeに対応していない、ということがわかり、どうしようかな?と悩んでいたので・す・が、

なんか、バージョンアップされたみたい。

秀丸が。
で、DLLも以前のJRE32.DLLからHmJre.dllに変更されて(というか同梱されているのでJRE32.DLLも使おうと思えば使える)、マクロでUnicode使えます。
とほほ。というかありがたや。


(↑認識が間違ってるかもしれない。まあいいや。新バージョンだと¥uでコード番号書けば参照してくれるようになった、ってことで)


それでまあ、てきとうに作ってみました。頭悪そうなコードですみません。
もっとちゃんとしたやり方があるかもしれませんが(親切な方教えてください)、
あれこれ調べるより知ってる範囲でぱっぱか作っちゃったほうが良いと思ったので。


マクロ登録に入れておけば、フランス語やドイツ語で書かれたものをそのままコピペするなり入力モード変えて書くなりして、最後にクリック一発で実体参照すればOKなので。
はてダがUTF-8にコード変更してくれれば初めからなんの問題もないのだけど。
ていうか はてダラ使ってて、なおかつフランス語やドイツ語入力が必要なのってぼくぐらいだと思うのですが。

文字コードhttp://ja.wikipedia.org/wiki/Wikipedia:%E7%89%B9%E6%AE%8A%E8%A8%98%E5%8F%B7を参照しました。
あとhttp://www.unicode.org/charts/とか。

////ドイツ語とフランス語でよく使うアルファベットを実体参照に変換
//aウムラウト
	replaceallfast "\u00E4" , "ä" , casesense;
//oウムラウト
	replaceallfast "\u00F6" , "ö" , casesense;
//uウムラウト
	replaceallfast "\u00FC" , "ü" , casesense;
//Aウムラウト
	replaceallfast "\u00C4" , "Ä" , casesense;
//Oウムラウト
	replaceallfast "\u00D6" , "Ö" , casesense;
//Uウムラウト
	replaceallfast "\u00DC" , "Ü" , casesense;
//エスツェト
	replaceallfast "\u00DF" , "ß" , casesense;
//aアクサングラーヴ
	replaceallfast "\u00E0" , "à" , casesense;
//aアクサンシルコンフレクス
	replaceallfast "\u00E2" , "â" , casesense;
//eアクサンテギュ
	replaceallfast "\u00E9" , "é" , casesense;
//eアクサングラーヴ
	replaceallfast "\u00E8" , "è" , casesense;
//eアクサンシルコンフレクス
	replaceallfast "\u00EA" , "ê" , casesense;
//eトレマ
	replaceallfast "\u00EB" , "ë" , casesense;
//iアクサンシルコンフレクス
	replaceallfast "\u00EE" , "î" , casesense;
//iトレマ
	replaceallfast "\u00EF" , "ï" , casesense;
//oアクサンシルコンフレクス
	replaceallfast "\u00F4" , "ô" , casesense;
//uアクサンシルコンフレクス
	replaceallfast "\u00FB" , "û" , casesense;
//cセディーユ
	replaceallfast "\u00E7" , "ç" , casesense;
//Aアクサングラーヴ
	replaceallfast "\u00C0" , "À" , casesense;
//Aアクサンシルコンフレクス
	replaceallfast "\u00C2" , "Â" , casesense;
//Eアクサンテギュ
	replaceallfast "\u00C9" , "É" , casesense;
//Eアクサングラーヴ
	replaceallfast "\u00C8" , "È" , casesense;
//Eアクサンシルコンフレクス
	replaceallfast "\u00CA" , "Ê" , casesense;
//Eトレマ
	replaceallfast "\u00CB" , "Ë" , casesense;
//Iアクサンシルコンフレクス
	replaceallfast "\u00CE" , "Î" , casesense;
//Iトレマ
	replaceallfast "\u00CF" , "Ï" , casesense;
//Oアクサンシルコンフレクス
	replaceallfast "\u00D4" , "Ô" , casesense;
//Uアクサンシルコンフレクス
	replaceallfast "\u00DB" , "Û" , casesense;
//Cセディーユ
	replaceallfast "\u00C7" , "Ç" , casesense;
  • 免責事項:これ使って損害こうむってもなんの責任もとりませんよ。

これが抜けているとか、ここ間違ってるとか、こういうやり方のほうがうまいとか、ご指摘くださればありがたいです。あとなんかoeの合文字は危険とかWikipediaに書いてあったので*1、それは避けておいたのですが、いかがでしょうか。

*1:引用:HTML 4.0は、OE連字 (Œ, œ)、Y ウムラウト (Ÿ) やšなどのいくつかの東ヨーロッパのアクセント付き文字のような、一般的な言語で使われているラテン文字でISO-8859-1に含まれない文字に名前つき文字実体を定義しています。これらの文字もまた、安全ではありません。もし、それらの文字が文字実体参照に入り、いくつかのマシンで表示されたとしても。