秀丸英語版 Maruo5.01 での強調表示No.19794
マボカル さん 05/08/15 16:54
 
こんにちは。マボカルと申します。秀丸がVer5になってから強調表示の
され方が変わったような気がします。これが新しいバージョンでの仕様
なのかも知れませんが、バグだとしたら修正よろしくおねがいします。

以下のようなタグ付きのテキストがあります。

テキスト ///////////////////////////////////////////////////

<text>
<body id=1>
<div id=1.1>
<head id=1.1.h1>チャイナショック</head>
<p id=1.1.p1><s id=1.1.p1.s1>危機やショックがいつも青天霹靂のように起こるわ
けではない。</s><s id=1.1.p1.s2>普段から気付かずに過ごしてきたものが積もって
あふれ出るケースが多い。</s><s id=1.1.p1.s3>特に経済ではそうだ。</s><s id=1.
1.p1.s4>いわば、韓国の通貨危機がそうであり、最近の「チャイナショック」もこう
した部類である。</s></p>
<p id=1.1.p2><s id=1.1.p2.s1>中国の緊縮措置はすでに何度も予告された。</s><s
id=1.1.p2.s2>最近では、さる3月5日の全人代でだ。</s><s id=1.1.p2.s3>当時、
温家宝首相は「今年の建設国債発行を昨年より21%減らす」と明らかにした。</s>
<s id=1.1.p2.s4>また、金融機関の貸出を適切に抑制するとも語った。</s><s id=1.
1.p2.s5>いわゆる緊縮宣言である。</s></p>
</div>
</body>
</text>

/////////////////////////////////////////////////////////////

こういったテキスト内のタグの種類とその位置を視覚的にみやすく
するために秀丸英語版Ver4.X では次のような強調ファイルを作って
読み込ませていました。

強調ファイル ////////////////////////////////////////////////

80,<body id=[0-9]+>
80,</body>
17,<head id=[0-9]+.[0-9]+.h[0-9]+>
17,</head>
80,<div id=[0-9]+.[0-9]+>
80,</div>
50,<p id=[0-9]+.[0-9]+.p[0-9]+>
50,</p>
91,<s id=[0-9]+.[0-9]+.p[0-9]+.s[0-9]+>
91,</s>
80,<text>
80,</text>

/////////////////////////////////////////////////////////////

強調ファイルの内容をみると確認できると思いますが、秀丸英語版
Ver4.X にて上の強調ファイルを読み込ませると、以下のような色分け
になりますが、


[緑色] → <text>
      </text>
      <body id=X>
      </body>
      <div id=X.X>
      </div>

[黒色] → <head id=X.X.hX>
      </head>

[青色] → <p id=X.X.pX>
      </p>

[赤色] → <s id=X.X.pX.sX>
      </s>

秀丸英語版Ver5.01 にて同じようなことをやると、今まで青色で強調
表示されていた <p id=X.X.pX> と </p> の部分が茶色系の色で強調
表示されます。

これってバグでしょうか。それともVer5からの仕様なのでしょうか。

動作環境は韓国語版XP(言語環境設定はディフォルトのまま)にて行って
おります。よろしくお願いいたします。


[ ]
RE:19794 秀丸英語版 Maruo5.01 での強調No.19795
マボカル さん 05/08/15 17:14
 
秀丸Ver5からは強調表示の表示項目も増えているようですので(Ver4
までは Hilight1〜Hilight4まででしたよね)、それに伴う青色の強調
表示のディフォルト値が変わったと理解してもいいのでしょうか。

Other-Configration for each file type-Color の Hilight の部分を
適当に変えると目的の青色の強調表示に変えることができますが、
なるべく Configration for each file type の設定をいじらずに強調
ファイルの記述を変更することで対応したいと思います。

秀丸Ver4 の設定がディフォルトの状態では、青色に強調表示する
ためには

50,

と書いていましたが、秀丸Ver5からは設定がディフォルトの状態で、
それを何番に書き換えれば青色に表示することができるのでしょうか。

それから前から気になっていましたが、強調表示の番号と表示色の対応
が分からなくて、いつも番号を書き換えながら実際にどのような色に
なるのか確認しながら強調ファイルを作っています。この番号はこの色
という対応表的なものはどこで探せばいいのでしょうか。そういう対応
表ってあるんでしょうか。

[ ]
RE:19795 秀丸英語版 Maruo5.01 での強調No.19796
Iranoan さん 05/08/15 17:57
 
 マボカルさん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
> 強調表示の番号と表示色の対応
> が分からなくて、いつも番号を書き換えながら実際にどのような色に
> なるのか確認しながら強調ファイルを作っています。この番号はこの色
> という対応表的なものはどこで探せばいいのでしょうか。そういう対応
> 表ってあるんでしょうか。
 色そのものは「表示とカラー」で変えるので、ありません。ただ強調表示の
番号と、「特に強調 1」等の対応は、マクロ・ヘルプの loadhilight 文の説
明にあります。

[ ]
RE:19796 秀丸英語版 Maruo5.01 での強調No.19797
マボカル さん 05/08/15 18:34
 
Iranoanさん

早速のご回答ありがとうございます。

>色そのものは「表示とカラー」で変えるので、ありません。

その辺の対応がまだよく理解出来ていませんが、今回の問題のように
強調ファイルで

50,

と書いて、Ver4で問題なく青色に強調表示されていたものが、Ver5で
茶色に強調表示されるのはつまるところ、強調表示の拡張によって、
Ver4で Hilight1〜4 のいづれかで強調されていたものがVer5では
それ以外の Hilight5〜8 部分で強調されるために、そのまま

50,

と書き込んだ強調ファイルでは青色にならないということでしょうか。
私なりに理解しているところでは、Hilight1〜8 までのそれぞれに
与えられた番号というものがあって、50という番号がVer4までの
Hilight1〜4 とは違う割り振りになっているのではと思っています。

やはりバグではなくVer5からの仕様のようなので、強調ファイルの
書き方と Hilight1〜8 との関係についてもう少し勉強します。私が
とんちんかんなことだけ言っても相談にのってくださっている方に
とっても迷惑になりそうですので・・・。


>ただ強調表示の番号と、「特に強調 1」等の対応は、マクロ・ヘルプ
>の loadhilight 文の説明にあります。

マクロへルプ確認しました。今すぐによく理解出来ませんが、よく
読んでみます。マクロ内でどうしようという問題ではないので、
ちょっと違う感じもしますが、参考になりそうです。私の言った強調
表示の対応表というのは、例えば1番はどんな色で、10番はどんな
色になるのかといった対応表のようなものです。強調ファイルを作成
している作者の方は何を参考にしているのかなと思って質問してみた
わけです。

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




[ ]
RE:19797 秀丸英語版 Maruo5.01 での強調No.19798
Iranoan さん 05/08/15 18:57
 
 マボカルさん今日は、Iranoan です。
> 私なりに理解しているところでは、Hilight1〜8 までのそれぞれに
> 与えられた番号というものがあって、50という番号がVer4までの
> Hilight1〜4 とは違う割り振りになっているのではと思っています。
>
> やはりバグではなくVer5からの仕様のようなので、強調ファイルの
> 書き方と Hilight1〜8 との関係についてもう少し勉強します。私が
> とんちんかんなことだけ言っても相談にのってくださっている方に
> とっても迷惑になりそうですので・・・。
 私もこの辺りのことは解らないし、初期状態に戻す元気はないのでお任せし
ます。ただ番号と Hilight1〜4 等の対応が変わっているということはないは
ずです。
 ヘルプを見ても変わっていないし。

 ただ現時点で言えるのは、
> 強調ファイルで
>
> 50,
>
> と書いて
自体がおかしいということです。何故なら、ここの数字は少なくとも全て奇数
になるはずだからです。

 一度 Ver.4.xx で読み込んで、再度同じファイルに書き込んで、hilight
ファイルを作成し直されては如何でしょう? 上手くいけば、作成し直したファ
イルは Ver.5.02 でも問題なく読み込めると思います。

[ ]
RE:19798 秀丸英語版 Maruo5.01 での強調No.19800
マボカル さん 05/08/16 16:57
 
Iranoanさん

ありがとうございます。

> ただ現時点で言えるのは、
>> 強調ファイルで
>>
>> 50,
>>
>> と書いて
>自体がおかしいということです。何故なら、ここの数字は少なくとも全て奇数
>になるはずだからです。

おかしいということはどういうことでしょうか。青色で正規表現まで
対応した強調表示は少なくとも奇数でないとおかしいということで
しょうか。今まで Ver.4.xx でこのようにやってきて何の問題もなく
青色で表示されてきましたが・・・。

> 一度 Ver.4.xx で読み込んで、再度同じファイルに書き込んで、hilight
>ファイルを作成し直されては如何でしょう? 上手くいけば、作成し直したファ
>イルは Ver.5.02 でも問題なく読み込めると思います。

Ver.5で青色に強調表示されなく茶色に表示されていたので、今回投稿
する前に、一応もう一度Ver.4にインストールし直して確認しました。
Ver.4では「50」の番号で問題なく青色に表示されました。Iranoanさん
が「ここの数字は少なくとも全て奇数になるはず」とおっしゃっている
ことを考えると、Ver.4でも「50」の番号では強調表示されないという
ことになると思いますが、私のコンピューターで確認する限りでは
Ver.4で「50」の番号で青色に強調表示されて、Ver.4では「50」の番号
で茶色に強調表示されます。

結局以前の疑問に戻りますが、同じ文書で同じ強調ファイルを読み込
ませているのにも関わらず、強調ファイルの「50」の部分の表示色が
何故Ver.4では青色、Ver.5では茶色になるのかということです。

日本語版秀丸と英語版秀丸(maruo)との違いによるのでしょうか、
それともOS(私の環境は韓国語版XP)の違いによるものなので
しょうか。


動作環境
韓国語版XP+英語版秀丸(maruo4.XX, maruo5.01)


[ ]
RE:19800 秀丸英語版 Maruo5.01 での強調No.19801
マボカル さん 05/08/16 17:21
 
訂正部分がありました。
混乱を避けるために、一応訂正させていただきます。Ver.X の部分の
文章をコピ&ペーストして作成する際に、Ver.X 部分を修正するのを
忘れてしましました。


<訂正前>
Ver.4で「50」の番号で青色に強調表示されて、Ver.4では「50」の番号
で茶色に強調表示されます。

<訂正後>
Ver.4で「50」の番号で青色に強調表示されて、Ver.5では「50」の番号
で茶色に強調表示されます。





[ ]
RE:19800 秀丸英語版 Maruo5.01 での強調No.19802
Kamonohasi さん 05/08/16 17:33
 
こんにちは、いつもお世話になっております、カモノハシです。
横から失礼いたします。

>おかしいということはどういうことでしょうか。青色で正規表現まで
>対応した強調表示は少なくとも奇数でないとおかしいということで
>しょうか。今まで Ver.4.xx でこのようにやってきて何の問題もなく
>青色で表示されてきましたが・・・。
盆があければ公式回答があると思いますが……。

まず、.hilightファイルは文字に対する『色』を指定するのではなく、『強調の種
類』を指定します。
で、秀丸は別途指定された 強調の種類 - 色 の対応情報を使って実際に彩色します。
Iranoanさんも仰っているとおりヘルプによれば.hilightファイルの数値が偶数にな
ることは現在の仕様からあり得ないです。強調1-8、行の強調1-4、特に強調1-4の全
ての基本の『強調』の全てが奇数だからです。
つまり、強調を指定する限り必ず奇数になります。
50が指定されている.hilightファイルは現行仕様ではエラーの扱いになるはずです。
が、エラーだからといって無視するわけにも行かないと考えたのではないかと思いま
すが、そのエラー(もしくは古い仕様?)を救済する処理が5.0から変更されたのでは
ないでしょうか?
エラー処理などが昔と同じになるかも知れませんが、現行仕様に合致するようにファ
イルを書き換える事をお勧めします。

>> 一度 Ver.4.xx で読み込んで、再度同じファイルに書き込んで、hilight
>>ファイルを作成し直されては如何でしょう? 上手くいけば、作成し直したファ
>>イルは Ver.5.02 でも問題なく読み込めると思います。
この手順を試してみましたか?
・問題のファイルを読み込む(4.xで)
・読み込んだ設定を新たにファイルに書き出す
・二つに違いがあるか調べる(特に50や80だった部分)
もし、違いがなく50や80がそのまま出てくるならお使いの秀丸で青色になるように設
定されている、強調の種類の種類を調べて、その値をヘルプから拾って作るのが良い
と思います。

が、マボカルさんのやりたい(と私が想像している)ことを実現するには.hilightファ
イルだけでは不十分ですね。
とある強調の色の設定を『青』にすることを、人間が手動でやるか、マクロなどで自
動化しないと。
ませまさんのプリズムがおそらく目的に合致するのでは?

[ ]
RE:19802 秀丸英語版 Maruo5.01 での強調No.19804
マボカル さん 05/08/16 18:24
 
Kamonohasiさん

ご回答ありがとうございます。

>まず、.hilightファイルは文字に対する『色』を指定するのではなく、『強調の種
>類』を指定します。
>で、秀丸は別途指定された 強調の種類 - 色 の対応情報を使って実際に彩色します。

>Iranoanさんも仰っているとおりヘルプによれば.hilightファイルの数値が偶数にな
>ることは現在の仕様からあり得ないです。強調1-8、行の強調1-4、特に強調1-4の全
>ての基本の『強調』の全てが奇数だからです。

そのことはIranoanさんのご指摘があるまで分かりませんでした。
となれば私の作成した強調ファイルでは「50」以外にも「80」の部分も
問題になりますね。

>つまり、強調を指定する限り必ず奇数になります。
>50が指定されている.hilightファイルは現行仕様ではエラーの扱いになるはずです。
>が、エラーだからといって無視するわけにも行かないと考えたのではないかと思い
>ますが、そのエラー(もしくは古い仕様?)を救済する処理が5.0から変更されたので
>はないでしょうか?
>エラー処理などが昔と同じになるかも知れませんが、現行仕様に合致するようにフ
>ァイルを書き換える事をお勧めします。

秀丸エディタホームページの強調表示定義ファイルライブラリを参考に
http://hide.maruo.co.jp/lib/hilight/index.html
青色に強調表示される番号を探したところ「19」っていうのがありま
すね。Ver5では、とりあえず青色に強調表示させたいものを「50」から
「19」に書き換えればOKのようです。あと緑色に強調表示させたい
部分はVer4でもVer5でも「80」のままで問題なく表示されましたが、
「hilightファイルの数値が偶数になることは現在の仕様からあり得な
い」ということを考えると、ここも直したほうがよさそうですね。
これも強調表示定義ファイルライブラリを参考にして「81」番という
ものを探しました。

>この手順を試してみましたか?
>・問題のファイルを読み込む(4.xで)
>・読み込んだ設定を新たにファイルに書き出す
>・二つに違いがあるか調べる(特に50や80だった部分)
>もし、違いがなく50や80がそのまま出てくるならお使いの秀丸で青色になるように
>設定されている、強調の種類の種類を調べて、その値をヘルプから拾って作るのが
>良いと思います。

すみません。「読み込んだ設定を新たにファイルに書き出す」「二つに
違いがあるか調べる(特に50や80だった部分)」「その値をヘルプから
拾って作る」←この部分はよく理解できません。

とりあえず上で報告したように、

「50」→「19」
「80」→「81」

に変えた新しい強調ファイルを作って読み込ませることで、Ver5でも
目的の結果を出すことができました。いろんな方にいろいろお騒がせ
しましたが、私としてはつまるところ新しく編集した強調ファイルを
読み込ませて色分けが出来たことで問題の全てが解決しました。

ただその過程で強調ファイルの定義番号が奇数でないといけなかったり
エラー扱いになるべき定義番号の処理方法があったり(サイトー企画
からの公式回答があるまでははっきりとは言えないでしょうが)と、
いろいろなことが勉強になりました。

>が、マボカルさんのやりたい(と私が想像している)ことを実現するには.hilightフ
>ァイルだけでは不十分ですね。

私の説明が不十分でよくお分かりになったか分かりませんが、私の
やりたかったことは全て解決できそうです。

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

[ ]
RE:19804 秀丸英語版 Maruo5.01 での強調No.19809
秀丸担当 さん 05/08/17 11:43
 

hilightファイルの件について、概ねIranoanさんとKamonohasiさんのおっしゃる
通りです。

V5.00では、強調表示5〜8を追加した関係で、内部的に今まで使っていなかった
ビットを使っているため、hilightファイルで偶数を指定しているとそのように
なっています。
マクロヘルプのloadhilight文の説明に書いてある通り、最下位ビットが常に1
(奇数)になっていれば、V5.00以降でも問題は起きません。
このあたりは、16進数の知識がないと数値の指定方法がわからないかもしれませ
ん。

[ ]
RE:19804 秀丸英語版 Maruo5.01 での強調No.19810
アルビレオ さん 05/08/17 12:07
 
ユーザーのアルビレオです。

>すみません。「読み込んだ設定を新たにファイルに書き出す」「二つに
>違いがあるか調べる(特に50や80だった部分)」「その値をヘルプから
>拾って作る」←この部分はよく理解できません。

とりあえず「設定ダイアログで設定したものを保存して内容を確認すれば、正し
い値がわかる」と考えればいいと思います。

[ ]
RE:19810 秀丸英語版 Maruo5.01 での強調No.19815
マボカル さん 05/08/17 22:22
 
アルビレオさん

>>すみません。「読み込んだ設定を新たにファイルに書き出す」「二つに
>>違いがあるか調べる(特に50や80だった部分)」「その値をヘルプから
>>拾って作る」←この部分はよく理解できません。
>
>とりあえず「設定ダイアログで設定したものを保存して内容を確認すれば、正し
>い値がわかる」と考えればいいと思います。

操作の意味が分かりました。わざわざご指摘ありがとうございました。
それからIranoanさんとKamonohasiさんもお付き合いありがとう
ございました。

[ ]
RE:19809 秀丸英語版 Maruo5.01 での強調No.19816
マボカル さん 05/08/17 22:23
 
秀丸担当さん

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

>V5.00では、強調表示5〜8を追加した関係で、内部的に今まで使っていなかった
>ビットを使っているため、hilightファイルで偶数を指定しているとそのように
>なっています。
>マクロヘルプのloadhilight文の説明に書いてある通り、最下位ビットが常に1
>(奇数)になっていれば、V5.00以降でも問題は起きません。
>このあたりは、16進数の知識がないと数値の指定方法がわからないかもしれませ
>ん。

マクロヘルプもよく読んで勉強してみます。

[ ]