0

MinTTYMSYS (ここからダウンロード)で使用しようとしていますが、Unicodeがサポートされていないようです。

すなわち:

  1. Unicodeテキストを貼り付けることができません(ゴミになります)。

  2. Unicodeファイルcatを端末(UTF-8またはUTF-16)に送信すると、ガベージが返されます。

  3. 使用lsしていてファイルがUnicodeの場合、ガベージが出力されます。結果をファイルにパイプすることは役に立ちません-Unicodeをサポートするテキストエディタで表示した場合でも、それはまだゴミです。

  4. UTF-8種まきの設定がどのように機能するのかわかりません。何も変わらないようです。

  5. ソースをダウンロードしてビルドしようとすると、解決できないビルドエラーが発生します。

    Makefile:117: charset.d: No such file or directory
    Makefile:117: child.d: No such file or directory
    Makefile:117: config.d: No such file or directory
    Makefile:117: ctrls.d: No such file or directory
    Makefile:117: minibidi.d: No such file or directory
    Makefile:117: std.d: No such file or directory
    Makefile:117: term.d: No such file or directory
    Makefile:117: termclip.d: No such file or directory
    Makefile:117: termline.d: No such file or directory
    Makefile:117: termmouse.d: No such file or directory
    Makefile:117: termout.d: No such file or directory
    Makefile:117: winclip.d: No such file or directory
    Makefile:117: winctrls.d: No such file or directory
    Makefile:117: windialog.d: No such file or directory
    Makefile:117: wininput.d: No such file or directory
    Makefile:117: winmain.d: No such file or directory
    Makefile:117: winprint.d: No such file or directory
    Makefile:117: wintext.d: No such file or directory
    Makefile:117: wintip.d: No such file or directory
    Makefile:117: xcwidth.d: No such file or directory
    Makefile:117: res.d: No such file or directory
    windres --preprocessor 'gcc -E -xc-header -DRC_INVOKED -MMD -MP 'res.rc res.o
    gcc xcwidth.c -c -MMD -MP  -include std.h -std=gnu99 -Wall -Wextra -Werror
        -Wundef -march=i586 -mtune=pentium-m -DNDEBUG -fomit-frame-pointer -Os
    In file included from <command-line>:0:0:
    ./std.h:4:28: fatal error: cygwin/version.h: No such file or directory
    compilation terminated.
    make: *** [xcwidth.d] Error 1
    

質問:

  1. どういうわけかMSYS/MinTTYでUnicodeサポートを取得することは可能ですか(両方の問題のようです)?

  2. そうでない場合は、のようなすべてのファイルをどこで入手できますcharset.dか?また、MSYS用のMinTTYを構築するにはどうすればよいですか?

4

1 に答える 1

3

Mintty は UTF-8 をサポートしています。オプションのテキストページで有効にできます。

ただし、MSYSは実際にはサポートしていません。代わりに、システムの「ANSI」コードページを使用します。たとえば、米国および西ヨーロッパのシステムでは CP1252 です。したがって、MSYS デフォルトの mintty も同様です。

さらに、MSYS bash は、各文字の最上位ビットをメタ フラグとして解釈するように設定されているため、デフォルトでは ASCII 以外は処理できません。これを変更するには、以下を に入れます~/.inputrc:

set input-meta on
set output-meta on
set convert-meta off

完全な Unicode サポート (すぐに使える) については、MSYS である Cygwin 1.3 フォークの代わりに Cygwin 1.7 を使用する必要があります。

MSYS mintty は、MinGW では提供されない POSIX 機能を必要とするため、MinGW の代わりに gcc と make の MSYS バージョンでビルドする必要があります。それらを でインストールしmingw-get install msys-gcc msys-make、実行時に MSYS 実行可能ファイルをパスの先頭に貼り付けますPATH=/bin:$PATH make

于 2011-06-19T10:21:24.360 に答える