4

私は Windows XP で emacs 23.3 を実行しており、ファイル名に英語とデバナーガリー文字またはタミル文字 (que.प्रश्न.txtまたは などans.பதில்.txt) の組み合わせが含まれているファイルをいくつか扱っています。

Dired でこのファイルを含むディレクトリにアクセスすると、これらのファイル名が正しく表示されません。ただし、Windows エクスプローラでは名前が表示されます。Dired は、英語の文字で始まるファイル名に対して「deva~1.txt」のような名前を表示しますが、英語以外の文字で完全に構成された名前の場合、「47d1~1.txt」のような名前を表示します。

これは、Windowsが内部的にemacsに返すものと関係があると思いdirますが、同じディレクトリでコマンドプロンプトを実行すると、完全な名前が表示されることに気付きました(cmdすべての非英語文字を?シンボルとしてレンダリングするだけですが)。

英語以外の文字を含むファイル名を正しくレンダリングするためにdiredを有効にできる方法はありますか?

4

1 に答える 1

4

これは実際にはEmacsの実装の制限です。EmacsはUnicodeより前にさかのぼるWindowsプリミティブを使用するため、「コードページ」でエンコードできない文字を含むファイル名は、壊れたfoo〜1名(ファイルシステムがVFATの場合)またはその他の場合に置き換えられます。うまくいけば、UTF-16(IIRC)を使用する「新しい」Windowsプリミティブにすぐに切り替えて、そのような問題に悩まされることはもうありません。しかし、そのためにはEmacs-25.1を待たなければならないかもしれません。あなたが私たちに手を差し伸べれば、それはもっと早く起こるかもしれません、tho ;-)

于 2012-03-21T16:55:48.050 に答える