欧文単語と単語選択のコマンドNo.33616
yya さん 14/10/17 19:08
 
秀丸エディタ Ver. 8.41を使用しています。

非英語文字を含む欧文単語があるとします。
例えば「aperitif」で「e」にはアクセント記号が付いているとします。
「単語右」や「単語左」などのコマンドはこれを1つの単語として扱ってくれますが,
「単語選択(全部)」では ap と e(アクセント記号付き)と ritif の3つの単語として
扱われてしまいます(マクロコマンドの selectword も同様です)。
これを1つの単語として扱ってくれる単語選択のコマンドがあれば良いと思う
のですが,いかがでしょうか?

[ ]
RE:33616 欧文単語と単語選択のコマンドNo.33624
秀丸担当 さん 14/10/20 09:41
 

確かに単語選択(全部)はアクセント記号が付いた文字などは対応していませんで
した。
単語右や単語左はできるので、できるようになったほうがいいと思います。
今後のバージョンでできるように考えます。
マクロは互換性が維持されるべきで、wordleftに対してwordleft2があるように、
selectwordはそのままでselectword2の追加などを検討します。

[ ]
RE:33624 欧文単語と単語選択のコマンドNo.33627
yya さん 14/10/20 13:36
 
>selectwordはそのままでselectword2の追加などを検討します。

お返事,どうもありがとうございます。
selectword2 が追加されると嬉しいです。

ところで,「単語右」や「単語右(サルネン風)」はアクセント記号付きの文字などに
対応していますが,対応するマクロコマンドの  wordright や wordrightsalnen は
(互換性維持のために)未対応なのですね。
これらのマクロも wordright2 や wordrightsalnen2 などの追加を検討して
頂けるとありがたいです。

[ ]
RE:33627 欧文単語と単語選択のコマンドNo.33630
秀丸担当 さん 14/10/20 16:19
 

>ところで,「単語右」や「単語右(サルネン風)」はアクセント記号付きの文字などに
>対応していますが,対応するマクロコマンドの  wordright や wordrightsalnen は
>(互換性維持のために)未対応なのですね。
>これらのマクロも wordright2 や wordrightsalnen2 などの追加を検討して
>頂けるとありがたいです。

wordright2やwordrightsalnen2もあったほうがいいと思います。
こちらも一緒に検討させていただきます。

[ ]
RE:33630 欧文単語と単語選択のコマンドNo.33659
yya さん 14/10/23 18:08
 
Ver8.50β9 をインストールしてみました。

「単語選択(全部)」の修正,と wordright2 と wordrightsalnen2 の動作を
確認しました。
ただ,selectword2 の動作が selectword のままになっていると思います。

[ ]
RE:33659 欧文単語と単語選択のコマンドNo.33661
秀丸担当 さん 14/10/24 09:18
 

ご指摘ありがとうございます。
確かにその通りでした。
次のβ版で修正させていただきます。

[ ]
RE:33661 欧文単語と単語選択のコマンドNo.33662
yya さん 14/10/25 20:34
 
Ver8.50β19 で selectword2 の動作を確認しました。
どうもありがとうございました。

欧文テキストの編集が便利になって喜んでいたのですが,
(将来的ということで全く構わないのですが)大文字 / 小文字の変換についても,
アクセント記号などが付いた文字に対応すべきだと思いました。
関係するのは次だと思います。

コマンド:「TO UPPER CASE」「to lower case」「大文字<->小文字の変換」
マクロコマンド:casechange,tolower,toupper
マクロ関数:toupper(),tolower()

[ ]
RE:33662 欧文単語と単語選択のコマンドNo.33665
秀丸担当 さん 14/10/27 09:48
 

大文字小文字の変換をするコマンドも確かにアクセント記号などは対象になって
いないです。
同じくマクロの互換性は維持しつつやるべきか今後のバージョンで検討したいと
思います。

現状でなんとかするとしたら、変換系のコマンドについては、変換モジュールに
よって機能を追加する方法があります。
大文字小文字の変換については、colderさん作のULTI.hmfがありました。
http://hide.maruo.co.jp/lib/hmconv/ultiv130.html

変換モジュールは、[その他]→[動作環境]で左下の「上級者向け設定」をONにし
て、[その他]→[動作環境]→[編集]→[変換]のところで追加したりできます。

[ ]
RE:33665 欧文単語と単語選択のコマンドNo.33667
Iranoan さん 14/10/27 16:24
 
 秀丸担当さん今日は、Iranoan です。
> 同じくマクロの互換性は維持しつつやるべきか今後のバージョンで検討したいと
> 思います。
 マクロでやるとしたら、新たな文・関数を用意するのではなく、
setcompatiblemode で互換性を維持し、ON の場合は、エンコードの状況に
よって動作を変えるという方法はどうでしょう?

[ ]
RE:33667 欧文単語と単語選択のコマンドNo.33668
秀丸担当 さん 14/10/27 17:28
 

setcompatiblemodeの方法もありかと思います。
現状で、tolower関数 toupper関数はパラメータで全角文字も含めるかどうかの
指定ができるようになっていて、似た感じでパラメータで指定できてもいいかと
思います。
変換後の文字コードが、欧文(コードページ1252)に含まれる範囲に収まるように
するべきとか、Shift-JISの範囲に収まるようにするべきという必要性があるか
もしれないので、慎重に考えたいと思います。

[ ]
RE:33668 欧文単語と単語選択のコマンドNo.33671
秀丸担当 さん 14/10/28 16:55
 

検討してみたのですが、「UPPER CASE」などはキー操作の記録をすると filter
文として標準の変換モジュールとして記録されていて、処理の位置づけとして、
変換モジュールで処理する先をsetcompatiblemodeにするのはあまり都合が良く
ないことがありました。(標準だけ特別にしてできないこともないですが)
あと、ギリシャ文字やキリル文字などはもともと対象外ですが、これらもいずれ
対象できるようにするかもしれないことを考えると、やはり基本的にはパラメー
タで指定できるようにすることのほうがよさそうで、まずはパラメータで考えた
いと思います。

[ ]
RE:33671 欧文単語と単語選択のコマンドNo.33673
Iranoan さん 14/10/28 20:13
 
 秀丸担当さん今日は、一ユーザの Iranoan です。
> 検討してみたのですが、「UPPER CASE」などはキー操作の記録をすると filter
> 文として標準の変換モジュールとして記録されていて、
<snip>
> やはり基本的にはパラメー
> タで指定できるようにすることのほうがよさそうで、まずはパラメータで考えた
> いと思います。
 確かに filter 文の場合はそうですね。
 考えが至りませんでしたm(_|_)m。

[ ]
RE:33665 欧文単語と単語選択のコマンドNo.33679
yya さん 14/10/30 22:38
 
>同じくマクロの互換性は維持しつつやるべきか今後のバージョンで検討したいと
>思います。

Ver 8.50 β12 をインストールしてみました。

> 「UPPER CASE」「lower case」「大文字<->小文字の変換」コマンドは
> アクセント記号などが付いたものも対象にするように修正。
> casechange文でパラメータで対象文字指定の対応。
> toupper, tolower関数で対象文字指定の対応。
(秀丸エディタβバージョン改版履歴より)

以上のようなアクセント記号付き文字の大文字/小文字の変換を
(一部の文字ですが)確認しました。
どうもありがとうございました。

ただ,自分の勘違いかもしれませんが,
マクロコマンド tolower と toupper は今まで通りなのですね?

[ ]
RE:33679 欧文単語と単語選択のコマンドNo.33681
秀丸担当 さん 14/10/31 10:34
 

>マクロコマンド tolower と toupper は今まで通りなのですね?

「UPPER CASE」「lower case」コマンドに対応するマクロとしては、toupper文/
tolower文ではなく変換モジュールになるので、filter文のほうを変更しました。

「UPPER CASE」「lower case」キー操作の記録をして、記録したものをマクロと
して保存する場合は、filter文になって、以下のような感じになります。

filter "" , "ToUpper" , "111";

いままでは最後の"111"が無かったのが、追加されています。
tolower文やtoupper文は、もともとV4.xx以前の互換性のために残されているも
ので、キー操作の記録と再生には影響がないので、そのままにしました。

ただcasechange文のほうはfilter文ではなく、casechange文のパラメータ追加に
なっています。
やり方が違っていて、すっきりしない感はあるので、せっかくなのでtolower文,
toupper文のほうもパラメータ対応したほうがすっきりすると思います。
今後検討したいと思います。

あと、colderさんからご指摘いただいたのですが、一部のアクセント付きラテン
文字でおかしかった部分があったので、また次のβ版で修正させていただきます。

[ ]
RE:33681 欧文単語と単語選択のコマンドNo.33708
yya さん 14/11/08 21:47
 
>やり方が違っていて、すっきりしない感はあるので、せっかくなのでtolower文,
>toupper文のほうもパラメータ対応したほうがすっきりすると思います。
>今後検討したいと思います。

Ver8.50β13 でマクロコマンド tolower と toupper の
パラメータ指定での動作を確認しました。
どうもありがとうございました。

[ ]