半角文字/記号No.31900
Jay^2 さん 13/01/08 09:26
 
 毎度、初歩的な質問ばかりしておりますJay^2です。

 以前の質問で、全角/半角変換の対象になる文字/記号は、ASCII文字と伺いました。

 逆に、秀丸で使える半角文字は、ASCII文字だけと考えてよろしいでしょうか?

質問の趣旨
 特許の明細書の作成に秀丸を使っています。発明者はWordで明細書案を作成してき
ますので、全文を選択して、秀丸にコピーしています。秀丸で名前を付けて保存する
際に、使えない文字があるとのダイアログが出ることがあります。
 その後、以下のマクロを実行しています。

 selectall;
 filter "" , "ToZenkakuAlnum";
 filter "" , "ToZenkakuKataOnly";
 escape;
 save;

 要は、全角変換です。なぜ全角変換するかは、明細書で使える半角文字は、ASCII
文字だけだからです。具体的には、半角の左クォーテーションマーク(非ASCII文
字)があると、文字化けを起こします。

 質問の趣旨は、上記質問の回答がYESであることを、期待してです。逆にNOとき、A
SCII文字だけにするマクロまたは正規表現をご教示いただければとの趣旨です。

 よろしくお願いします。

[ ]
RE:31900 半角文字/記号No.31901
秀丸担当 さん 13/01/08 10:40
 

> 逆に、秀丸で使える半角文字は、ASCII文字だけと考えてよろしいでしょうか?

秀丸エディタで扱える半角幅の文字は、ASCII文字だけではないです。
Unicodeの場合はASCII文字以外にも多くあります。
あと半角カナは一般的にASCII文字とは言われないですが半角幅です。

ただ、ファイルを日本語(Shift-JIS)として保存する場合は、半角幅のUnicode文
字は保存できないので、結果的に半角はASCII文字と半角カナだけになると思い
ます。

Wordから貼り付ける場合は、元のテキストにUnicodeの半角文字が含まれていた
らASCII文字ではない半角文字が秀丸エディタ上に現われる可能性があるという
ことになります。(保存する前までは)

半角の左クォーテーションマークというのはShift-JISには無いはずなので、た
ぶんUnicodeの文字だと思います。

Unicodeの文字は全角半角変換の対象となっていないので、置換してやる必要が
あります。
マクロの場合は以下のような感じになります。

$s = searchbuffer;
$r = replacebuffer;
#f = searchoption;
replaceallfast "[■★]", "○",regular;
setsearch $s, #f;
setreplace $r;

会議室にはUnicodeの文字がかけないので代わりの記号で書きました。
上のマクロの例では「■」または「★」を「○」に置き換えます。
「■」や「★」を該当の左クォーテーションマークなどを幾つか書いておくとい
いと思います。
マクロファイルは、通常はShift-JISでUnicode文字を含む場合はうまく保存でき
ないですが、「Unicode(UTF-16)」で保存するとUnicode文字を含んだマクロにで
きます。

[ ]
RE:31901 半角文字/記号No.31902
Jay^2 さん 13/01/09 07:50
 
>
>ただ、ファイルを日本語(Shift-JIS)として保存する場合は、半角幅のUnicode文
>字は保存できないので、結果的に半角はASCII文字と半角カナだけになると思い
>ます。
>

 知りたかったことが、分かりました。有難うございました。

[ ]