ファイル名で、全角なのに、英大文字・英No.06631
dummy さん 00/10/17 09:22
 

たとえば、以下のようなファイル

A.txt
a.txt

は、同じディレクトリに、存在することができます。
つまり、別のファイルなのですが、秀丸で開こうとすると、どうも
同じファイルとして扱われるようで、排他制御がかかってしまいま
す。
OSはWindows95なんですが、これは、Windowsの
仕様?、それとも秀丸のバグ?。

[ ]
RE:06631 ファイル名で、全角なのに、英大No.06635
KITA さん 00/10/17 10:15
 
エクスプローラ上で
A.txt と、B.txt を作っておいて、
B.txt を  a.txt にリネームしようとすると
エラーが出ますから Windowsの仕様かも。

[ ]
RE:06635 ファイル名で、全角なのに、英大No.06636
きいろいまふらあ さん 00/10/17 10:50
 
dummyさん、KITAさん、こんにちは。きいろいまふらあです。

>エクスプローラ上で
>A.txt と、B.txt を作っておいて、
>B.txt を  a.txt にリネームしようとすると
>エラーが出ますから Windowsの仕様かも。

win95b、win98では上記(KITAさんのおっしゃる)エラーは
確認できませんでした。

エクスプローラで右クリック>新規作成>テキスト文書で
A.txtとa.txtが同じフォルダに作れますし、
A.txtと同じフォルダにあるB.txtをa.txtにリネームできました。

#もちろんA.txtとa.txtは共存できませんが。

で、dummyさんのおっしゃる通り、確かに秀丸でA.txtを開いた状態で
a.txtを開くと排他制御が働きました。

KITAさんの環境は?

[ ]
RE:06636 ファイル名で、全角なのに、英大No.06639
KITA さん 00/10/17 13:45
 
きいろいまふらあ さん、まいどです!

>>エクスプローラ上で
>>A.txt と、B.txt を作っておいて、
>>B.txt を  a.txt にリネームしようとすると
>>エラーが出ますから Windowsの仕様かも。
これが発生した環境は WindowsNT4.0SP4+IE4.0SP1です。

>win95b、win98では上記(KITAさんのおっしゃる)エラーは
>確認できませんでした。
ありゃ、こんな所も違うんですね、流石Microsoft (^^;

さらに確認すると、WinNT4.0からWin95b上のネットワーク
ドライブ上で同じ操作をすると・・・
ちゃんとリネームできました。 (^^;
#その後は、秀丸で同じファイルと認識してるようです。

[ ]
RE:06639 ファイル名で、全角なのに、英大No.06640
きいろいまふらあ さん 00/10/17 15:33
 
KITAさん、こんにちは。まふです。

>これが発生した環境は WindowsNT4.0SP4+IE4.0SP1です。

なるほどです。

ま、なんにしても、別ファイルとして存在しうるものは、
秀丸でも別ファイルとして認識して欲しいとこですね。

全角のアルファベットは同一視しなけりゃいいだけの話、ですよね?

[ ]
RE:06640 ファイル名で、全角なのに、英大No.06642
dummy さん 00/10/17 16:20
 

>ま、なんにしても、別ファイルとして存在しうるものは、
>秀丸でも別ファイルとして認識して欲しいとこですね。

まあ、そういうことですね。

>全角のアルファベットは同一視しなけりゃいいだけの話、ですよね?

NTと共通化するためにできないとか?。

[ ]
RE:06642 ファイル名で、全角なのに、英大No.06645
きいろいまふらあ さん 00/10/17 17:17
 
まふです。

>NTと共通化するためにできないとか?。

そもそもNTは、あるフォルダのA.txtというファイルが開かれている場合に、
同じフォルダにa.txtというファイルはそもそも存在できないのだから、
排他制御としては、もう一度同じA.txtが開かれたときだけ処理すればよい、
のですよね?

このときAとaを同一視するロジックはどこにも必要ないですよね?

なので、単に、

>>全角のアルファベットは同一視しなけりゃいいだけの話、ですよね?

でいいんじゃないかと思ったのですが。

あれ?論理、破綻してませんよね?(^^;
それとも「共通化」の意味を私が取り違えてる?

[ ]
RE:06645 ファイル名で、全角なのに、英大No.06649
秀丸担当 さん 00/10/17 18:27
 
Aとaを同一視してしまっているのは、秀丸の問題でした。
同一視しないようにしようと思います。


[ ]
RE:06645 ファイル名で、全角なのに、英大No.06652
dummy さん 00/10/17 19:35
 

>あれ?論理、破綻してませんよね?(^^;
>それとも「共通化」の意味を私が取り違えてる?

NTで、同一視せざるをえない何らかのシステム条件でもあって、
95・98では関係ないけど適用されているのかなと思ったので、
聞いてみました。
はは、あまり深い事考えて言ったわけじゃないです。

まあ、同一視する理由を無理やり考えるとすると、開いている間に
リネームされちゃったら、Aとaを同時に開くという自体はおきる
かも、ってぐらいですかね。

[ ]
RE:06649 ファイル名で、全角なのに、英大No.06653
dummy さん 00/10/17 19:36
 

>Aとaを同一視してしまっているのは、秀丸の問題でした。
>同一視しないようにしようと思います。

了解しました。お願いします。

[ ]
RE:06635 ファイル名で、全角なのに、英大No.06662
える さん 00/10/18 06:20
 
>エクスプローラ上で
>A.txt と、B.txt を作っておいて、
>B.txt を  a.txt にリネームしようとすると
>エラーが出ますから Windowsの仕様かも。

世間的に Unicode 推進化が進む今日この頃だから。

でしょう。

Unicode では「半角の A」と「全角の A」なんてものは存在しません。
どっちも「A」です。

文字としての「A」が唯一定義されていて、「半角で」とか「全角で」というのは
「表示する時だけの問題」なのです。
WindowsNT/2000 でファイルシステムに NTFS を利用すると、ファイル名は Unicode
で保存されるので、こういう世界的に正しい仕様の恩恵を受けられます。

# dir コマンドだって、Unicode 文字の文字コード順でファイルが並ぶでしょ

[ ]
RE:06662 ファイル名で、全角なのに、英大No.06663
dummy さん 00/10/18 10:37
 

>Unicode では「半角の A」と「全角の A」なんてものは存在しません。
>どっちも「A」です。

とはいえ、英大文字・英小文字も区別がないということではないん
でしょ?。

>文字としての「A」が唯一定義されていて、「半角で」とか「全角で」というのは
>「表示する時だけの問題」なのです。
>WindowsNT/2000 でファイルシステムに NTFS を利用すると、ファイル名は Unicode
> で保存されるので、こういう世界的に正しい仕様の恩恵を受けられます。

全角のファイルと半角のファイルが区別されないという話ならとも
かく、今回は、英大文字・英小文字で区別されないという話ですか
ら、関係ない気もしますが?。
それに、正しい仕様って、何?。

># dir コマンドだって、Unicode 文字の文字コード順でファイルが並ぶでしょ

エントリ順じゃなかったっけ?。NT系ではそうなの?。

[ ]
RE:06663 ファイル名で、全角なのに、英大No.06665
える さん 00/10/18 11:45
 
>>Unicode では「半角の A」と「全角の A」なんてものは存在しません。
>>どっちも「A」です。
>とはいえ、英大文字・英小文字も区別がないということではないん
>でしょ?。

Windows はファイル名に大文字と小文字を区別しないのではないですっけ?

いまだに全角文字だけは特別扱いしていて a.txt と a.txt が作れたり
するみたいですね。
日本語 Windows のバグか過去との互換性の問題での扱いでしょうね。

a.txt と A.txt と a.txt と A.txt は全て同じファイルを示さねばならないはず
です。
Microsoft にレポートしておきましょうね。

>それに、正しい仕様って、何?。

記載の通り、「文字としての仕様」として明記された文章に則ったものです。

>># dir コマンドだって、Unicode 文字の文字コード順でファイルが並ぶでしょ
>エントリ順じゃなかったっけ?。NT系ではそうなの?。

WindowsNT4sp3/sp5/sp6, Windows2000 では、Unicode の文字コード順になります。
今確認できるのはこれくらいなので、他では違うのかもしれません。

[ ]
RE:06665 ファイル名で、全角なのに、英大No.06667
KITA さん 00/10/18 14:25
 
える さん、まいどです。

>日本語 Windows のバグか過去との互換性の問題での扱いでしょうね。
初っ端のローカライズの時の思想の問題かも・・・
#Unicode はプログラム上は厄介なイメージがある菜ぁ(^^;

[ ]
RE:06665 ファイル名で、全角なのに、英大No.06668
dummy さん 00/10/18 15:44
 

>Windows はファイル名に大文字と小文字を区別しないのではないですっけ?

大文字・小文字の区別は、半角ではシステムの都合でされてません
が、全角では、NTは知らないけど、95では区別されているし、
MACは知らないけど、UNIXでも区別されているわけで、区別
すること自体は、おかしいことでもないでしょ。
全角・半角の話のときは、区別すべきでないと言って、現在の仕様
にこだわらない事言っておいて、大文字・小文字の話のときは、そ
うなっているからと言って、現在の仕様にこだわった事言われても
困るんだけど。

>いまだに全角文字だけは特別扱いしていて a.txt と a.txt が作れたり
>するみたいですね。

そもそも、全角・半角の話はしてないんだけどなあ。
全角・半角は区別すべきでないという意見を持たれるのはかまいま
せんが、その布教活動の目的で、関係ないところに口出しされるの
はどうかと思いますよ。混乱するだけです。

>日本語 Windows のバグか過去との互換性の問題での扱いでしょうね。

今度はバグよばわりですか。

>a.txt と A.txt と a.txt と A.txt は全て同じファイルを示さねばならないはず
>です。
>Microsoft にレポートしておきましょうね。

別に私としては、全部別のファイルとして扱われたっていいんだけ
ど。

>>それに、正しい仕様って、何?。
>記載の通り、「文字としての仕様」として明記された文章に則ったものです。

誰も使わない規格なんて、いくらでもあるわけで、規格どおりであ
ることが正しいこと、と、簡単には言えないんじゃないの?。

まあ、本題と関係ないですし、そろそろこの話やめましょう。

[ ]
RE:06662 ファイル名で、全角なのに、英大No.06670
オノヒコ さん 00/10/18 16:46
 
>Unicode では「半角の A」と「全角の A」なんてものは存在しません。
>どっちも「A」です。
>
>文字としての「A」が唯一定義されていて、「半角で」とか「全角で」というのは
>「表示する時だけの問題」なのです。

UNICODE では、半角のAは 0041H で、全角のAは FF21H と別物ではないでしょうか。

少なくとも、VB 上ではこうなっています。

[ ]
RE:06668 ファイル名で、全角なのに、英大No.06672
える さん 00/10/18 17:53
 
>>Windows はファイル名に大文字と小文字を区別しないのではないですっけ?
>大文字・小文字の区別は、半角ではシステムの都合でされてません
>が、全角では、NTは知らないけど、95では区別されているし、
>MACは知らないけど、UNIXでも区別されているわけで、区別
>すること自体は、おかしいことでもないでしょ。

「区別することがおかしい」とは言いませんし思いません。
「Windows は区別しない」のは事実ですし、おかしいとも言いません。

なんか矛盾してますか?

1) ファイル名として Unicode を利用している場合には、知る限り
Widnows, Unix 系 ともに「全角のアルファベット」などという存在
は仕様上で認められていないです。

というのも単なる事実です。

2) ファイル名として大文字・小文字を区別するシステムがある
3) ファイル名として大文字・小文字を区別しないシステムがある

ということも単なる事実であり、それらのファイルシステムの仕様
でしょう。

NTFS は 1+3 であることが IFS/NTFS 仕様で明記されています。

>全角・半角の話のときは、区別すべきでないと言って、現在の仕様
>にこだわらない事言っておいて、大文字・小文字の話のときは、そ
>うなっているからと言って、現在の仕様にこだわった事言われても
>困るんだけど。

どこに「現在の仕様にこだわらない事」が含まれていますか?
改めて数字をつけて書き出しておきましたが、含まれてないでしょう?

すべて現行の仕様です。

>>いまだに全角文字だけは特別扱いしていて a.txt と a.txt が作れたり
>>するみたいですね。
>そもそも、全角・半角の話はしてないんだけどなあ。

元々の問題は「大文字小文字が区別されない」です。
それに加えて「全角半角が区別される」ということも考慮されるべきであろうという
話の流れなのです。
なんら変な話の流れではないでしょう?

元の問題は [ 06649 00/10/17 18:27 ] で十分でしょう?
それ以上に大文字小文字の話は不要であると私は思います。
だから全角半角の話を中心に据えるほうがより有意義な話題ですね。

>全角・半角は区別すべきでないという意見を持たれるのはかまいま
>せんが、その布教活動の目的で、関係ないところに口出しされるの
>はどうかと思いますよ。混乱するだけです。

私的にはどっちでもいいのですが。
自分が使う範囲では Unicode の普及度合いなんて非常に悪いですし。

ただし、

>>日本語 Windows のバグか過去との互換性の問題での扱いでしょうね。
>今度はバグよばわりですか。

こっちは重要なわけで、OS や FileSystem の仕様として Microsoft が文面にて明記
している内容と実際の動作に差異が認められているわけです。
通常、こういうものを「バグ」と総称します。

>別に私としては、全部別のファイルとして扱われたっていいんだけど。

貴方が良くて私が良くても、Windows を使い、関わる、開発者、利用者、全てにとっ
ては駄目なことなのです。
Microsoft が Windows においてファイル名はそうあるべきであると定めてしまって
いるからです。
Windows は Microsoft の製品ですから、我々が勝手に違うファイルであるように期
待し、そうであるからといって認められてはならないことなのです。

仕様と実装のどちらを修正するかは Microsoft が決めることです。
我々は問題を発見した場合に、可能であればレポートするだけです。

# と、どこかに突然話題を移動できるようなところでもないので
# とりあえず突っかかられている(?)ように感じるところにだけ
# コメントしてこの話題は忘れます。

[ ]
RE:06672 ファイル名で、全角なのに、英大No.06686
でるもんた さん 00/10/19 12:30
 
> 1) ファイル名として Unicode を利用している場合には、知る限り
> Widnows, Unix 系 ともに「全角のアルファベット」などという存在
> は仕様上で認められていないです。

ファイル名として認められているかどうかはともかく、いわゆる
「全角のアルファベット」は Unicode に存在するはずですよ。
たとえば「A」は U+FF21、「FULLWIDTH CAPITAL LETTER A」です。
いちおう使用制限領域ではありますが。

Unicode にせよ、ISO-2022 系にせよ、タテマエは、
  ASCII ないし JIS X0201 に規定されている「A」と、JIS X0208 ないし
  0213 に規定されている「A」は同じ文字「LATIN CAPITAL LETTER A」で
  あるから、両文字は併用すべきでない、つまり、JIS X0201 と JIS X0208
  を併用するときには、片方(通常は「A」)だけを使え
ということになっています。

が、実際にはこの両者は違う文字として扱われてきたわけで、当分は区別を
し続ける必要があるわけです。そこで実際には、
  「A」と「A」は、いままで別々の文字として扱われてきた事情にかんがみ、
  当分の間、別の文字とみなしてよい。
ということになっています。
これは JIS X0208-1997 の 7.2、7.3、付属書 5、解説 3.8.2 に書いてあります。

Unicode の使用制限領域にきちんと盛り込まれているのもこの方針を反映していた
もののはずです。

[ ]