過去ログ表示


過去ログ 130 を表示

トピック内全 17 記事中の 11 〜 17 番目を表示
[ 最新記事及び返信フォームをトピックトップへ ]
このトピックの全ページ / [0] [1]

Re[4]: mozilla firefox でタイ語の文書を開きたい
(#20798) このトピック中11番目の投稿
(環境: WinXP SP2/Firefox1.0.4)

2005/05/27(Fri) 22:19:36 編集(投稿者)

>>Ansi系のAPIを使うと
>>ローカル文字セット(日本語ロケールならシフトJIS)に変換してしまうんです.
>>この時に、シフトJISにないものが似た形状など別の文字に変換されてしまい、
>>変換された結果を受け取ったソフトウェアは、良くて"File not found"、
>>最悪の場合には別のファイルを読みに行くかも知れません.
> 普通は"File not found"です。別文字への変換は基本的にはありません。

実用上は、たいていは変換後のファイル名が実在しませんので普通は not found ですが、
©.html をダブルクリックすると c.html を開いたりしてしまいますね。
他には ¡ → ! とか、² → 2 とか、Ç → C みたいに変換されるようです。

あらら、化けちゃいました。
○の中にcがある、copyrightマーク → c
! が逆さまになったやつ → !
上付きの2 → 2
Cにひげ(?)がついたやつ → C
みたいな感じです。

Re[6]: mozilla firefox でタイ語の文書を開きたい
(#20866) このトピック中12番目の投稿
(環境: Win2000/Firefox1.0)

bug 4456でパッチを書いていて気づいたのですが、ローカルファイルにアクセスするWindows用のかなりの部分をUnicode対応に書き換えないと実現できないようです。
Firefox1.1どころか、当分無理ですね。

# ファイルへのパスをUnicode文字列として処理するIEと違って、
# URLエンコードされたfileプロトコルのURLとして処理するMozillaでは
# かなり根の深い仕様変更が必要な問題です。

(環境: Win2000/Firefox1.0.4)

皆さんの投稿からもお判りだと思いますが、現状のFirefoxでは
シフトJISにない文字を名前に使っているファイルは
通常の方法ではどうやっても開けない模様です.

ただ、どうしてもタイ文字を使いたいという事ですので、
色々試してみましたところ、DOSなどで使われていた8.3形式の、
いわゆる「短いファイル名」が生成されていれば、
(コマンドプロンプトから"DIR /X"で短いファイル名が表示されるファイルなら)
ファイルへのパスの、最後のファイル名の部分だけでも、
その短いファイル名を使ってやれば、何とか開けそうな気配です.

例えば、ファイルが標準的な"マイ ドキュメント"にあるのだとすれば、
FirefoxのURLバーに
"file:///C:/Documents%20and%20Settings/<ユーザー名>/My%20Documents/<短いファイル名>"
と入力しすれば、そのファイルを開く事ができます.
「ファイルを開く」ダイアログでも、実際のファイル名を選択するのではなく、
そのディレクトリ(フォルダ)にあるファイルの短いファイル名を
直接入力すれば、同じ結果になります.

ただし、この「短いファイル名」は必ずあるとは限りません.
また、どの様な短いファイル名が生成されるかは、予め判断できる
というものではなく、生成させてみないと判らないという感じです.
少なくとも私の環境では、例えば、非シフトJIS文字が使われていても、
&#193;.txt (Aにacute)、&#216;.txt (Oにstroke)などは短いファイル名を生成しませんでした.
私が確認している中で、比較的ファイル名の見た目に影響を及ぼし難く、かつ
確実に短いファイル名を生成させる方法は、ファイル名を8.3の範囲から
確実に出る長さにするか、ファイル名に空白(スペース)を含める、
というところでしょうか.
空白以外の文字でも、短いファイル名が必ず生成されるものはあるのですが、
殆どのものは見た目に影響が出ると思います.
短いファイル名は、コマンドプロンプト(cmd.exe)からDIR /Xで確認できます.
Windows APIでしたら、ファイルの短いファイル名を取得する事も
難しい事ではありませんので、この方法で、Firefoxでファイルを開くための
別プログラムを組む事も可能かも知れません.

Re[7]: mozilla firefox でタイ語の文書を開きたい
(#20903) このトピック中14番目の投稿
(環境: Linux/Firefox1.0.4)

> bug 4456でパッチを書いていて気づいたのですが、ローカルファイルにアクセスするWindows用のかなりの部分をUnicode対応に書き換えないと実現できないようです。
> Firefox1.1どころか、当分無理ですね。

Firefoxはインターネット閲覧ソフトですから、ローカルファイルへの対応はあまり重要ではないと思います。
ソフトにはそれぞれ用途があるのですから、無理にFirefoxを使う必要はありません。
外部に継っていない時ならIEでも危険がないのですから、
IEをローカルファイル、Firefoxはインターネットと使い分ければいいと思います。

Re[8]: mozilla firefox でタイ語の文書を開きたい
(#20914) このトピック中15番目の投稿
(環境: Win2000/Firefox1.0)

> Firefoxはインターネット閲覧ソフトですから、ローカルファイルへの対応はあまり重要ではないと思います。

話がややこしいのですが、インターネットショーカットをFirefoxで生成する時はUnicodeファイル名で生成するように私自身が修正してしまってるんですよね。
http://bugzilla.mozilla.gr.jp/show_bug.cgi?id=3884
参照。

(環境: Win2000/Firefox1.0)

> ただ、どうしてもタイ文字を使いたいという事ですので、
> 色々試してみましたところ、DOSなどで使われていた8.3形式の、
> いわゆる「短いファイル名」が生成されていれば、
> (コマンドプロンプトから"DIR /X"で短いファイル名が表示されるファイルなら)
> ファイルへのパスの、最後のファイル名の部分だけでも、
> その短いファイル名を使ってやれば、何とか開けそうな気配です.

なるほど。これは名案ですね。検討してみます。

(環境: Win2000/Firefox1.0.4)

短いファイル名は16ビットアプリケーションとの下位互換性の為に存在している
レガシーな機能です。

Windows 2000 Server セキュリティ運用ガイド : 第 4 章 - ロールに基づいたサーバー セキュリティの強化
"短いファイル名 (8.3 形式) の自動生成を無効化する"
http://www.microsoft.com/japan/technet/security/prodtech/windows/windows2000/staysecure/secops04.asp
一部引用
> 短いファイル名 (8.3 形式) の自動生成を無効化する
> Windows 2000 では、16 ビット アプリケーションとの下位互換性を確保するために、
> 短いファイル名 (8.3 形式) をサポートしています。ファイル名の長さが 20 文字で
> あっても、それに対応する 8.3 形式のファイル名が自動生成されていると、
> ハッカーが 8 文字だけでファイルを参照できてしまう可能性があります。
> 16 ビットアプリケーションを使用しなければ、この機能をオフにすることができます。
> NTFS パーティション上で 8.3 形式のファイル名の自動生成を無効にすれば、
> セキュリティが向上すると共に、ディレクトリの一覧取得に要する時間が短くなります。

この処置がしてあると8.3形式の名前は生成されません。
(これはOSがサーバー版に限りません。)

あまりそれを頼りに(対処療法的に)機能を追加するのは、
得策ではないような気がします。

逆にそれを必要とされていて、
8.3形式の名前を頼りに対処(するコードを追加)されるのであれば、
8.3形式でしか読み込めないファイル名の時は、そのファイル名を使用しないか、
8.3形式の名前を生成する必要があるということが判るようにしておく必要が
あると思います。
(リリースノート、KB、FAQなどで。)

# あっち(答えてねっと)もこっちも質問しっぱなしで
# その後のコメントが無いのが気になる…


[ 前のトピック内容10件 ]
このトピックの全ページ / [0] [1]

返信不可


- Child Tree -