アルファベットの全角→半角変換No.18025
マボカル さん 04/09/22 13:01
 
こんにちは。マボカルと申します。あるテキスト中にある全角の
アルファベットを2文字以上の連続するアルファベットのみ検索
して半角に変更しようと思います。

そこで秀丸で処理可能なマクロ文に「tohankaku」という半角文字に
変換する文がありますが、日本語版秀丸(hm407.exe)ではちゃんと処理
してくれますが、英語版秀丸(maruo407.exe)になると、どうもその文
だけ処理してくれません。私の設定に問題があるのでしょうか?
それとも英語版秀丸(maruo407.exe)のバグでしょうか?OSの違いに
よるものでしょうか?
マクロ文は以下の通りです。

Work:
searchdown2 "\[A-Za-z\]\[A-Za-z\]+" , regular;
if(result == yes){
tohankaku;
right;
goto Work;
}

動作環境は以下の通りです。
日本語版秀丸407+Windows98
英語版秀丸407+Korean Windows XP

[ ]
RE:18025 アルファベットの全角→半角変換No.18026
Iranoan さん 04/09/22 13:15
 
 マボカルさん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> 日本語版秀丸(hm407.exe)ではちゃんと処理
> してくれます
 なぜ
> searchdown2 "\[A-Za-z\]\[A-Za-z\]+" , regular;
で処理できているか不明ですが、2 文字以上の全角英字なら
searchdown2 "[A-Za-z][A-Za-z]+" , regular;
です。

[ ]
RE:18026 アルファベットの全角→半角変換No.18029
マボカル さん 04/09/22 14:30
 
Iranoanさん

ご指摘ありがとうございます。

>なぜ
>> searchdown2 "\[A-Za-z\]\[A-Za-z\]+" , regular;
>で処理できているか不明ですが、2 文字以上の全角英字なら
>searchdown2 "[A-Za-z][A-Za-z]+" , regular;
>です。

確かにそうですが、以下の二通りでも一応動いてくれます。

searchdown2 "\[A-Za-z\]\[A-Za-z\]+" , regular;
searchdown2 "[A-Za-z][A-Za-z]+" , regular;

ですが依然として英語版秀丸で「tohankaku」部分を処理してくれ
ないことは変わりません。何だろう??

[ ]
RE:18029 アルファベットの全角→半角変換No.18030
Iranoan さん 04/09/22 14:39
 
 マボカルさん今日は、Iranoan です。
> 確かにそうですが、以下の二通りでも一応動いてくれます。
>
> searchdown2 "\[A-Za-z\]\[A-Za-z\]+" , regular;
 失礼しました。マクロなので、「\」を付けても使えますねm(__)m。

> ですが依然として英語版秀丸で「tohankaku」部分を処理してくれ
> ないことは変わりません。何だろう??
 秀丸担当さんでないと、解らなさそうですね。

[ ]
RE:18030 アルファベットの全角→半角変換No.18031
秀丸担当 さん 04/09/22 15:29
 

>> ですが依然として英語版秀丸で「tohankaku」部分を処理してくれ
>> ないことは変わりません。何だろう??

このマクロは、動作環境の「検索での表示」が「範囲選択」であることを前提と
していると思うので、英語版秀丸のほうの動作環境が、そうなっていないのでは
ないでしょうか。
V4.07の場合、
[Other]-[Environment]-[User Interface]-[Search]-[How flush found text]
を、
[Select it]
にすればいいのではないかと思います。

[ ]
RE:18031 アルファベットの全角→半角変換No.18032
マボカル さん 04/09/22 15:52
 
秀丸担当さん

ご回答有難うございます。

>このマクロは、動作環境の「検索での表示」が「範囲選択」である
>ことを前提としていると思うので、英語版秀丸のほうの動作環境が
>そうなっていないのではないでしょうか。

動作環境に関してその点も考えていましたが、「検索での表示」は
いつも [Select it] の状態です。とすればその他に環境設定の問題
があるのか、またはバグなのか、秀丸担当さんのお力が必要になり
ます。とりあえず動作環境的にOSの違いによるものでしたら、問題
がまたややこしくなりそうですが・・・。

韓国語のXPはそちらでの確認が無理だと思いますので、英語版XPで、
英語版秀丸の動作状況を確認してもらえると、問題解決も早くなりそう
な感じがします。ちなみに私の動作環境では、韓国語XPですので、
英語版XPのように、言語設定を日本語環境にしているわけではありま
せん。単に韓国語XPに秀丸英語版をインストールして使っております。
フォントをゴシック体とか明朝体にあわせると、日本語を表示出来ます
ので、これまで自作のマクロやライブラリーのマクロの改良版なども
問題なく動いていました。ご参考までに。

[ ]
RE:18031 アルファベットの全角→半角変換No.18033
マボカル さん 04/09/22 16:06
 
秀丸担当さん

ちなみにマクロでなくても、対象文字列をブロック指定した後に、

[Other]-[Command list]-[Other edits]-[convert to hankaku]

を実行しても何も変わりません。アルファベットに関することが
全てそうなのかなと思って、大文字を小文字に変更する、

[Other]-[Command list]-[Other edits]-[convert to lower case]

は正常に動作しています。とすると、やはり[convert to hankaku]
部分のバグなんでしょうか?

[ ]
RE:18032 アルファベットの全角→半角変換No.18036
秀丸担当 さん 04/09/22 18:27
 

Korean Windows XP というのを見逃していました。
日本語版WindowsXPで、コントロールパネルの「地域と言語のオプション」から、
「Unicode対応でないプログラムでない言語」を、韓国語に変更してみたところ、
tohankakuが動作しない状況を再現させることができました。
これは英語版秀丸かどうかという問題でなく、日本語以外のOSで動かしている
ことが問題のようです。
韓国語Windowsでも「Unicode対応でないプログラムでない言語」に相当する部分
を日本語にすると、動作させることができると思いますが、他のアプリケーショ
ンにも影響を及ぼします。
最新版であるV4.13においても、できません。対応を検討したいと思います。

[ ]
RE:18036 アルファベットの全角→半角変換No.18037
マボカル さん 04/09/22 23:52
 
秀丸担当さん

ご回答有難うございました。やはりOSの違いによる問題だった
わけですね。原因が分かったので安心しました。秀丸改良に少しでも
お役に立てた思いで嬉しい次第です。今後の対応よろしくお願い
いたします。

[ ]
RE:18036 アルファベットの全角→半角変換No.18038
マボカル さん 04/09/22 23:56
 
ちなみに全角数字に関しても半角に変わらないという同じような症状
がでます。ご参考までに。

[ ]
RE:18037 アルファベットの全角→半角変換No.18045
秀丸担当 さん 04/09/24 11:43
 

>ご回答有難うございました。やはりOSの違いによる問題だった
>わけですね。原因が分かったので安心しました。秀丸改良に少しでも
>お役に立てた思いで嬉しい次第です。今後の対応よろしくお願い
>いたします。

この問題を調べていくうち、V4.10以降で、日本語以外のWindowsでフォント選択
がうまくできないというレベルダウンも発見されたため、この件と合わせてV4.
14で修正をしてみます。

[ ]