"?"などNo.32591
Jay^2 さん 13/09/13 09:57
 
 ワードで書かれた日本語の文章を秀丸で編集しています。秀丸にコピーして保存す
るとき、ユニコード文字が含まれていると、「文字コード変換できない文字が含まれ
ています」とのメッセージと、3つのラジオボタンが表示されます。
 一番上のラジオボタンの記述は、「変換できない文字を"?"などに置き換えて保存
する」です。
 この文を素直に読むと(1)"?"以外にも置き換えられると読めます。しかし、検
索できないので、常識的には(2)"?"に置き換えられる、と思います。
 正しいのは、(1)(2)のいずれでしょうか?(1)の場合、"?"のみに置き換
える選択肢をお願いします。(2)の場合、紛らわしい「など」を削除ください。

[ ]
RE:32591 "?"などNo.32594
秀丸担当 さん 13/09/13 12:30
 

「変換できない文字を"?"などに置き換えて保存する」のときは、必ず"?"になる
とは限らず、アルファベットにアクセント記号がついたような文字が普通のアル
ファベットになることがあります。
具体的にはUnicodeの文字コードで0x00C0あたりの文字がそのように変換される
ようです。
どのように変換されるかはWindowsのコードページ変換の機能によるもので、全
ての文字1つ1つについては把握してはいませんが、おそらく変換しても差支え
のない範囲のものだと思います。
いままでアルファベットに変換されていたものも"?"にすることはあまり期待さ
れないのではないかと思いますが、どうでしょうか。

ただ、2文字で構成される結合文字の濁点を結合済み文字の1文字に変換するな
ど、より高度な変換の具合の調整はできないので、詳しい調整ができたらよりい
いと思います。(たとえば「か」+「゛」を「が」にするなど)

[ ]
RE:32594 "?"などNo.32601
Jay^2 さん 13/09/17 09:47
 
>
>「変換できない文字を"?"などに置き換えて保存する」のときは、必ず"?"になる
>とは限らず、アルファベットにアクセント記号がついたような文字が普通のアル
>ファベットになることがあります。

 ご教示有難うございました。アルファベットに変換できない文字が"?"となる訳で
すね。拝承しました。要望は取り下げます。

 ただどの文字がユニコードかは、把握したいと思います。2番目のラジオボタンの
機能(ジャンプだったと記憶)については、別途要望します。

[ ]
RE:32601 "?"などNo.32603
Iranoan さん 13/09/17 13:15
 
 秀丸担当さん、Jay^2 さん今日は、一ユーザの Iranoan です。
>  ただどの文字がユニコードかは、把握したいと思います。2番目のラジオボタンの
> 機能(ジャンプだったと記憶)については、別途要望します。
 このジャンプ機能の場合、一旦変換してしまったとは、区別が無くなってし
まいますよね。そうであるなら最初の一回、つまり変換された最初の文字の確
認しかできないません。
 そこで、Unicode で保存したファイルも別途保存するオプションもあれば、
後から「内容比較」で全て確認ができ便利だと思います。

[ ]
RE:32603 "?"などNo.32604
秀丸担当 さん 13/09/17 16:47
 

Unicodeで保存したものと比較すると確かにわかりやすいと思います。
ただある程度まとまったところになると、数行が一かたまりが色付けされたりし
て、一文字ずつの判断を確実にはできないと思います。

マクロの場合findspecialで見つける方法もあります。

マクロで色付けする例:
disabledraw;
#x=x;
#y=y;
nextcolormarker 1;
if(result){
  endmacro;
}
gofiletop;
nextcolormarker 1;
if(result){
  message "終わり";
  deletecolormarkerall;
  moveto #x,#y;
  endmacro;
}
gofiletop;
escape;
while(1){
  findspecial 0, 1, 0;
  if(result==false)break;
  beginsel;
  right;
  colormarker 0xffffff,0xff,1,0,0;
  escape;
}
gofiletop;
nextcolormarker 1;

[ ]
RE:32604 ユニコード検索マクロNo.32612
Jay^2 さん 13/09/19 12:56
 
>
>マクロの場合findspecialで見つける方法もあります。
>
 有難うございました。マクロ登録しました。次回、使ってみます。

[ ]
RE:32604 "?"などNo.33245
cho-bi さん 14/06/09 18:00
 
秀丸担当さんが作られたこのマクロを最近見つけ、便利に使わせて頂いています。

ただ大量にその文字コードにない文字があると、何回もこのマクロを実行してその部
分にジャンプしなければならず、少し不便です。
このマクロを適当なキーに割り当てることで今は対処していますが、たとえば通常の
検索のようにマーカーの付いた部分を検索したり、grepように一覧にしたりすること
は不可能でしょうか。
お忙しいところすみませんが、お教え頂ければ幸いです。

>
>マクロで色付けする例:
>disabledraw;
>#x=x;
>#y=y;
>nextcolormarker 1;
>if(result){
>  endmacro;
>}
>gofiletop;
>nextcolormarker 1;
>if(result){
>  message "終わり";
>  deletecolormarkerall;
>  moveto #x,#y;
>  endmacro;
>}
>gofiletop;
>escape;
>while(1){
>  findspecial 0, 1, 0;
>  if(result==false)break;
>  beginsel;
>  right;
>  colormarker 0xffffff,0xff,1,0,0;
>  escape;
>}
>gofiletop;
>nextcolormarker 1;

[ ]
RE:33245 "?"などNo.33246
秀丸担当 さん 14/06/10 09:27
 

このマクロの色のついたところは通常の「一時的なカラーマーカー」と同じなの
で、「上のカラーマーカー」「下のカラーマーカー」コマンドで色のついた部分
に移動することができます。
メニューでは[検索]→[カラーマーカー]→[上のカラーマーカー]で実行できます。
キー割り当ての場合は検索系のコマンドにあります。

マクロは最初の実行では色付け、2回目の実行ではカーソルより下の既にカラー
マーカーのついているところにジャンプするようにしてあったので、カーソルを
移動させつつマクロを実行してもいいと思います。

grepのように出力することはこのマクロのままではできないので、それなりのマ
クロを作る必要があります。
例えば以下のようにします。

disabledraw;
gofiletop;
while(1){
  findspecial 0, 1, 0;
  if(result==false)break;
  $a=$a+basename+"("+str(lineno)+"): "
       +gettext2(0,lineno,linelen2,lineno)+"\n";
  movetolineno 1,lineno+1;
}
newfile;
insert $a;

[ ]
RE:33246 "?"などNo.33247
cho-bi さん 14/06/10 10:36
 
秀丸担当様、さっそくありがとうございました。
「上のカラーマーカー」「下のカラーマーカー」コマンドをちゃんと理解しておらず、
すみませんでした。これを使えば希望通りの動作ができます。
またgrepのように出力するマクロも大変便利で、さっそく使わせて頂いています。
お忙しいなか、どうもありがとうございました。

[ ]
RE:33246 ユニコード検索No.33248
Jay^2 さん 14/06/10 11:44
 
>grepのように出力することはこのマクロのままではできないので、それなりのマ
>クロを作る必要があります。
>例えば以下のようにします。
>
>disabledraw;
>gofiletop;
>while(1){
>  findspecial 0, 1, 0;
>  if(result==false)break;
>  $a=$a+basename+"("+str(lineno)+"): "
>       +gettext2(0,lineno,linelen2,lineno)+"\n";
>  movetolineno 1,lineno+1;
>}
>newfile;
>insert $a;

 ありがとうございました。

[ ]