2011-06-18 5 views
0

MinTTYMSYShereからダウンロード)を使用しようとしていますが、Unicodeをサポートしていないようです。MinTTY Unicodeサポートとビルドエラー

すなわち:

  1. 私はそれにUnicodeテキストを貼り付けることはできません(それはゴミが判明します)。

  2. もし私が端末にユニコードファイル(UTF-8かUTF-16のいずれか)を持っていたら、私はゴミを取り戻します。

  3. 私がlsとファイルを使用すると、という名前がUnicodeである場合、それはガベージを出力します。結果をファイルにパイプしたない助けを行います - それは、Unicodeをサポートしているテキストエディタで見てもまだゴミです。

  4. 私はseettingsで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のようなファイルはどこにありますか?また、MSTY用にMinTTYを作成するにはどうすればよいですか?

答えて

3

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

MSYSは確かにかかわらず、それをサポートしていません。代わりに、システムの「ANSI」コードページを使用します。米国および西欧のシステムではCP1252です。したがって、それはMSYSのデフォルトも同様です。

さらに、MSYSのbashがデフォルトではASCIIを超えた何かを扱うことができないので、それは、メタフラグとして各文字の上位ビットを解釈するように設定されています。それを変更するには、~/.inputrcに次置く:

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

を(すぐに)完全なUnicodeサポートのために、あなたはMSYSあるCygwinの1.3フォークの代わりにCygwinの1.7を使用する必要があります。それはMinGWのによって提供されていないPOSIXの機能を必要とするため

MSYSのminttyは、GCCのMSYSのバージョンで構築され、代わりのMinGWのもので作ることが必要です。 mingw-get install msys-gcc msys-makeでインストールし、MSYSの実行ファイルを実行するときにパスの先頭に貼り付けてください:PATH=/bin:$PATH make

+0

答えをありがとう!いくつかのコメント:(1)メタビットを変更しても、何も正しく表示されませんでした。エンコーディングをUTF-8に変更しましたが。(2)私はあなたがCygwinに言及する理由を混同しています。私はMSYSやCygwinでビルドするのですか? – Mehrdad

+0

私が言ったように、MSYSはUTF-8をサポートしていません。したがって、主にそれをサポートしているシステムにsshで使用していない限り、minttyオプションで有効にすることはほとんどありません。 MSYSはUTF-8をサポートしていないCygwin 1.3(10年前)の修正版ですが、現代のCygwin(1.7)はそうですが、Cygwinについて言及します。つまり、UTF-8をサポートするPOSIXレイヤーが必要な場合は、Cygwinを使用します。 MSYSのminttyはMSYSの下で構築する必要があります。 – ak2

+0

ああ私は見る...それはバマーですMSYSはUnicodeをサポートしていません。情報をありがとう。 – Mehrdad

関連する問題