unicodeのファイル名No.08767
izumi さん 05/11/08 16:55
 
秀丸エディタはUnicodeのファイル名を扱うことができないのでしょうか。
例えば ユーロ記号のファイル名を含むファイルについて、新規作成や既存ファイル
のオープンができないようです。

WinXPsp2, 秀丸5.09

# 現在beta版がリリースされているため、こちらに書き込みました。

[ ]
RE:08767 unicodeのファイル名No.08768
秀丸担当 さん 05/11/08 18:25
 

>秀丸エディタはUnicodeのファイル名を扱うことができないのでしょうか。
>例えば ユーロ記号のファイル名を含むファイルについて、新規作成や既存ファイル
>のオープンができないようです。

現在のところ、Unicodeのファイル名を扱うことはできません。
表示や編集についてはなんとか対応していますが、ファイル名については
Windows95系にも対応しなければならないためネックとなっています。
ファイル名のUnicode対応は課題としたいと思います。
ちなみに今回のβ版は短期間で、早いうちに正式版にしたいと思っています。

[ ]
RE:08768 unicodeのファイル名No.08770
izumi さん 05/11/09 01:41
 
早々にご回答いただきありがとうございます。

> 現在のところ、Unicodeのファイル名を扱うことはできません。
> 表示や編集についてはなんとか対応していますが、ファイル名については
> Windows95系にも対応しなければならないためネックとなっています。
> ファイル名のUnicode対応は課題としたいと思います。

ソフトウェアがUnicodeファイル名に対応していないことはわかりました。新規作成
については次回改版に譲ります。
ですが、既存ファイルを開けないことは問題と認識しています。
少々書き方が強くなってしまいますが、「そこに存在するファイル」が開けないので
す。
「開けない」と言うことは、Unicodeという用語を知らないユーザにも事実として意
識させることになります。

確かにWin9x系のサポートは必要なのかもしれません。
しかし、古いものをサポートするために新しい機能を使えない、という理由では納得
しにくいでしょう。
そろそろWin9x系とWinNT系を分割リリースする契機なのかもしれません。


> ちなみに今回のβ版は短期間で、早いうちに正式版にしたいと思っています。

別件なのですが、
[起動時のウィンドウ配置]について、現状では「文字」単位になっていますが、以前
「ドット(ピクセル)」単位への変更を検討します、
と回答をいただいたことがあります。手元の記録によると2002年7月のことです。
その後どのような経過をたどっているのでしょうか。

[ ]
RE:08770 unicodeのファイル名No.08771
でるもんた さん 05/11/09 09:27
 
でるもんた@9x系ユーザーです。

izumi wrote:
> ソフトウェアがUnicodeファイル名に対応していないことはわかりました。
> 新規作成については次回改版に譲ります。
> ですが、既存ファイルを開けないことは問題と認識しています。
> 少々書き方が強くなってしまいますが、「そこに存在するファイル」が
> 開けないのです。

> 確かにWin9x系のサポートは必要なのかもしれません。
> しかし、古いものをサポートするために新しい機能を使えない、という理由では
> 納得しにくいでしょう。

ここまでは同意です。ただ、

> そろそろWin9x系とWinNT系を分割リリースする契機なのかもしれません。

という意見には反対です。

むしろ、9xとNTで別々に実装すべき機能だけも秀丸本体(hidemsub.dll)から
切り離して別のDLLにして、インストーラーが9x用とNT用のどちらか適切なほうを
選択してインストールする、あるいは、両方インストールしておいて起動時に
OSを判別して適切なほうを呼び出す、というのが妥当でしょう。

内部的にはファイル名をUnicodeで保持して、9xだったらSJISに変換してから
OpenFileA()を呼び出す、2000以降ならそのまま OpenFileW() を呼び出す、
というのが順当かと思います。

でもそうすると、他もいじらなきゃいけないから、けっこう大掛かりな作業に
なるのか…

#あるいは、「Unicode API for Windows 9x」とかいうライブラリも Microsoft
#から提供されている(IEはそれを使っている)ので、それを使うのも一案ですね。

[ ]
RE:08771 unicodeのファイル名No.08773
秀丸担当 さん 05/11/09 10:19
 

>ですが、既存ファイルを開けないことは問題と認識しています。
>少々書き方が強くなってしまいますが、「そこに存在するファイル」が開けないので
>す。

それは確かにその通りでして、問題だと思います。
しかしこの問題は秀丸エディタだけでなく、非常に多くのアプリケーションで起
きている問題です。
だからといっていいというわけではないですが。

DOS時代の8.3ファイル名からロングファイル名になったときは、古いアプリケー
ションのためにロングファイル名を8.3形式に変換して互換性が維持されていま
したが、Unicodeファイル名ではそういった配慮がされていないようです。

でるもんたさんの言われているような感じで、現状ではファイル名以外の部分の
Unicode対応では xxxxA() と xxxxW() を使い分けている部分があり、ファイル
名部分もそういった感じで対応は可能だと思います。
ただドミノ式に至る所で修正が必要になり、大掛かりなことになると思います。

[ ]
RE:08770 unicodeのファイル名No.08774
秀丸担当 さん 05/11/09 12:37
 

>別件なのですが、
>[起動時のウィンドウ配置]について、現状では「文字」単位になっていますが、以前
>「ドット(ピクセル)」単位への変更を検討します、
>と回答をいただいたことがあります。手元の記録によると2002年7月のことです。
>その後どのような経過をたどっているのでしょうか。

変更だと苦情が出るかもしれないですし、それほど要望が相次いだわけではなか
ったので、何もしていないです。
変更ではなく追加という形でドットにもできるようにしてみようと思います。

[ ]
RE:08774 unicodeのファイル名No.08776
izumi さん 05/11/09 16:07
 
> 変更だと苦情が出るかもしれないですし、それほど要望が相次いだわけではなか
> ったので、何もしていないです。
> 変更ではなく追加という形でドットにもできるようにしてみようと思います。

先の書き込みで「変更」と書いてしまいましたが、「追加」でした。すみません。

早速追加していただき、ありがとうございます。5.10beta2を確認いたしました。
常駐秀丸から[動作確認]を起動したケースについて、「単位」が選択不可能なようで
す。
ご確認お願いいたします。

[ ]
RE:08773 unicodeのファイル名No.08777
izumi さん 05/11/09 16:14
 
> でるもんたさんの言われているような感じで、現状ではファイル名以外の部分の
> Unicode対応では xxxxA() と xxxxW() を使い分けている部分があり、ファイル
> 名部分もそういった感じで対応は可能だと思います。
> ただドミノ式に至る所で修正が必要になり、大掛かりなことになると思います。

既存ファイルのオープンだけでも、とはいかないようですね。
自分で作成するファイルは意識してUnicodeを排除すればよいのですが、既存ファイ
ルは変更権限がないので不便なんです。
ですが、しばらくは仕方ないようですね。耐えてみます。(^^;

[ ]
RE:08776 unicodeのファイル名No.08778
秀丸担当 さん 05/11/09 16:27
 

>常駐秀丸から[動作確認]を起動したケースについて、「単位」が選択不可能なようで
>す。

常駐秀丸エディタのときは文字サイズの情報が無いので、単位はドットしか選べ
ないようにしました。
まぎらわしいので以前のように変更そのものができないようにしたほうがいいか
もしれないですが。

早速ではありますが、新規作成の秀丸エディタでドット数を1000くらいにすると
最大化になってしまう問題が見付かってしまったので直します。

[ ]
RE:08778 unicodeのファイル名No.08781
izumi さん 05/11/10 09:35
 
文字単位とドット単位で指定を行き来すると、保持した設定値がおかしくなるようで
す。
調べている途中なのですが、取り急ぎご連絡まで。

[ ]
RE:08781 unicodeのファイル名No.08783
izumi さん 05/11/10 11:48
 
> 文字単位とドット単位で指定を行き来すると、保持した設定値がおかしくなるよう
>です。
> 調べている途中なのですが、取り急ぎご連絡まで。

再現しなくなってしまいました。お騒がせしてすみません。

[ ]
RE:08778 unicodeのファイル名No.08784
izumi さん 05/11/10 12:56
 
先ほどは失礼しました。

> 常駐秀丸エディタのときは文字サイズの情報が無いので、単位はドットしか選べ
> ないようにしました。
> まぎらわしいので以前のように変更そのものができないようにしたほうがいいか
> もしれないですが。

少なくともドット単位での設定ができないのは、不便な気がします。
個人的な考えですが、[動作環境]とは秀丸エディタに共通する設定を行うための画面
になるのですから、
「どこにウィンドウを表示するのか」を設定できるのは自然だろうと思います。

ただ、私は文字単位での指定は行わないため、よくわからないこともあります。
ウィンドウ位置の設定について、設定画面を見るたびに不思議に思っていることがあ
ります。
ウィンドウの左上を指定する「位置を指定する」は、文字単位である必要があるので
しょうか。
CUIなら意味があるように思うのですが、GUI環境で「一文字分 上を空ける」という
ような指定が必要になるケースがあるのでしょうか。
「80桁25行のウィンドウ」と言う指定はニーズがあると思います。ですが、「一文字
分 上を空ける」は謎なのです。

次に、コメントいただいた内容について質問させてください。
「文字サイズの情報が無い」と言う理由により、文字単位での指定を不可能にしてあ
るようですが、
これはどのような意味なのでしょうか。文字単位で指定されると、ウィンドウ位置を
求めるために
「ファイルタイプ別の設定」からフォントサイズを取得し、座標を決めているのでし
ょうか。
つまり、フォントサイズ9または72を選択したとき、同じ「一文字分 上を空ける」で
も座標が異なるのでしょうか。
どのような理由があって設定不可能にしてあるのか、推測できないのです。
ウィンドウサイズについて、「80桁25行のウィンドウ」を指定した場合も同様です。
なぜ設定できないのでしょうか。
[動作環境]における設定は、次回新規ウィンドウを開いたときに有効になるはずです。
ですから、設定時にどのような処理を行っているのか見えてこないのです。
これは、[動作環境]の位置付けについて、開発者と私の認識違いが原因なのかもしれ
ません。
お時間がありましたら、ウィンドウ位置に関する事柄についてご意見をお聞かせくだ
さい。

内容が複雑になってしまいました。最後に箇条書きでまとめておきます。
・ウィンドウ位置(ウィンドウサイズは含みません)の文字単位での指定は必要なのか?
・ウィンドウ位置とウィンドウサイズの指定は[動作環境]に必要ないのか?

最後まで読んでいただき、ありがとうございました。

[ ]
RE:08783 unicodeのファイル名No.08785
秀丸担当 さん 05/11/10 13:59
 

> 文字単位とドット単位で指定を行き来すると、保持した設定値がおかしくなるよう
>です。

文字単位に変更してOKを押すと、ドット単位は文字の大きさの倍数となるりま
す。
ドット単位で指定→文字単位で指定→ドット単位で指定、とすると、最初のドッ
ト単位の値が倍数に切り下げされて、違う値になってしまうと思います。

[ ]
RE:08784 unicodeのファイル名No.08787
秀丸担当 さん 05/11/10 14:59
 

>・ウィンドウ位置(ウィンドウサイズは含みません)の文字単位での指定は必要なのか?

特に深い意味があるわけでもないと思いますが、単に単位を合わせていたという
ことだと思います。

>・ウィンドウ位置とウィンドウサイズの指定は[動作環境]に必要ないのか?

これは常駐秀丸エディタの右クリックによる動作環境に必要かどうかということ
でしょうか。
もともとできていなかったので、それほど追求することでもないと思いますが、
あったらあったでいいと思います。
ただ必ずドット数になるのがまぎらわしいというのがありますが。

>「文字サイズの情報が無い」と言う理由により、文字単位での指定を不可能にしてあ
>るようですが、
>これはどのような意味なのでしょうか。

もともと、V5.09以前においても、起動時のウィンドウサイズなどはドット数で
記憶されています。
動作環境で数値として表示するときに、フォントサイズから文字数分に変換して
表示しています。
常駐秀丸エディタにはファイルタイプ別の設定が無いので、フォントサイズから
変換することができません。

[ ]
RE:08787 unicodeのファイル名No.08790
izumi さん 05/11/11 14:21
 
> もともと、V5.09以前においても、起動時のウィンドウサイズなどはドット数で
> 記憶されています。
> 動作環境で数値として表示するときに、フォントサイズから文字数分に変換して
> 表示しています。

そうでしたか。ちょっと残念な実装ですね。
例えば、「幅は100桁でよいが行数はどの画面解像度でも最大」としたい場合、設定
不可能ということでしょう。
桁数や行数が表示可能領域を超えていたら、その方向には最大化、という処理ができ
ない、と言うことですね。
マルチモニタで解像度の異なるモニタを扱っている場合は、どのようになるのでしょ
うか。

ん〜、ちょっと話しを膨らませないほうが無難な気がしてきました。
そう考えると、5.10beta2の状態が個人的には良いです。理由は、
・ウィンドウ位置をドット指定したい私は常駐秀丸の[動作環境]からも設定可能
・文字指定しているユーザはもともと常駐秀丸の[動作環境]から設定していない
と言う点です。少なくとも既存ユーザに混乱は生じないでしょう。

今回の件を調べて思い出したのですが、ウィンドウ位置やサイズについては「コマン
ド プロンプト」が参考になると思います。
「ウィンドウのサイズ」では文字数を入力させ、「ウィンドウの位置」ではピクセル
数を入力させます。
入力画面のレイアウトはごく自然で、ユーザに違和感を与えません(少なくとも私に
は)。
レジストリに対する位置情報の記録は 基本的にそのままの数値を使っているようで、
丸め誤差などはないはずです。
もしこれらの方式を盛り込むとすると、仕様変更の規模が大きくなるでしょう。
「一文字分 上を空ける」をいう謎な状態が不要なようでしたら、6.x系で検討をお願
いします。

# それよりUnicodeファイル名の問題のほうが優先度が高いです。

[ ]
RE:08790 unicodeのファイル名No.08791
秀丸担当 さん 05/11/11 14:51
 

全くその通りでして、追求すればきりがないですが、あまり深く追求するべきこ
とでもないのではないかと思います。
それよりも優先するべきことをやっていきたいと思います。

マルチモニタの場合は、最大化するかどうかのサイズは、起動先のモニタの解像
度によって異なります。

[ ]