このマクロは、ウムラウト文字を $a 等で、または、$a などをウムラウトに一括置換するものです。UMLAUT.MAC等、適当なファイル名を付けて保存して下さい。
(マクロとしては単純です)
各種ワープロによって、ウムラウトの表示の仕方が違っているので、テキストデータとして保存するときには、ウムラウト文字を、$a $O などのように置き換えて保存する必要があります。
($ は、=などでも構いません)
何故、ae ue のように置き換えないかと言うと、例えばue を一括してウムラウトにしてしまうと、Frauen とかの ue の連続も、ウムラウトになってしまうからです。
お役に立ちますかどうか、使ってみて下さい(^^)
(ブラウザ表示用の場合も、追加しました)
//ウムラウト文字をキーボードから直接入力できる文字に置換するマクロ
menu "☆フォント変更","☆テキスト→欧文文字","☆欧文文字→テキスト","☆テキスト→HTML用","☆HTML→テキスト";
if( result == 0 ) endmacro;
else if ( result == 1 ) {
config "f(Courier New) s16";
endmacro;
}
//文字が小さ過ぎる場合は、s の後の数字を大きくする
else if( result == 2 ) goto UMLAUT;
else if( result == 3 ) goto TEXT;
else if( result == 4 ) goto HTML;
else if( result == 5 ) goto TEXT2;
UMLAUT:
message "欧文フォントにします";
config "f(Courier New) s16";
$char = input ("置換文字を入力して下さい","$");
if (!result) endmacro;
title "置換中です";
replaceallfast $char +"A" ,"\xC4",casesense;
replaceallfast $char +"a" ,"\xE4",casesense;
replaceallfast $char +"O" ,"\xD6",casesense;
replaceallfast $char +"o" ,"\xF6",casesense;
replaceallfast $char +"U" ,"\xDC",casesense;
replaceallfast $char +"u" ,"\xFC",casesense;
replaceallfast $char +"s" ,"\xDF";
message "終了しました";
endmacro;
TEXT:
$char = input ("置換文字を入力して下さい","$");
if (!result) endmacro;
title "置換中です";
replaceallfast "\xC4",$char +"A",casesense;
replaceallfast "\xE4",$char +"a",casesense;
replaceallfast "\xD6",$char +"O",casesense;
replaceallfast "\xF6",$char +"o",casesense;
replaceallfast "\xDC",$char +"U",casesense;
replaceallfast "\xFC",$char +"u",casesense;
replaceallfast "\xDF",$char +"s";
message "終了しました";
endmacro;
HTML:
$char = input ("置換文字を入力して下さい","$");
if (!result) endmacro;
title "置換中です";
replaceallfast $char +"A" ,"Ä",casesense;
replaceallfast $char +"a" ,"ä",casesense;
replaceallfast $char +"O" ,"Ö",casesense;
replaceallfast $char +"o" ,"ö",casesense;
replaceallfast $char +"U" ,"Ü",casesense;
replaceallfast $char +"u" ,"ü",casesense;
replaceallfast $char +"s" ,"ß";
message "終了しました";
endmacro;
TEXT2:
$char = input ("置換文字を入力して下さい","$");
if (!result) endmacro;
title "置換中です";
replaceallfast "Ä",$char +"A",casesense;
replaceallfast "ä",$char +"a",casesense;
replaceallfast "Ö",$char +"O",casesense;
replaceallfast "ö",$char +"o",casesense;
replaceallfast "Ü",$char +"U",casesense;
replaceallfast "ü",$char +"u",casesense;
replaceallfast "ß",$char +"s";
message "終了しました";
endmacro;
ソースではブラウザ表示用に、& を & で表記してあります。