2016-11-09 5 views
0

テキストベースのターミナルセッションで作業するときに、途切れない縦線の文字(|)をプログラムで作成することは不可能です。私はU + 2502、U + 007C、U + 01C0、U + 2223、U + 2758といったいろいろなUnicode文字を試してみました。私はそれがターミナルプログラムによって使用されるフォントを変更することによって解決できると思ったが、それは成功しなかった。縦列の文字が途切れていない-ncursesとJavaの比較

これはキッカーです... ncursesがこのキャラクターを制作できます! vert-by-cursesvert-by-java

私の環境... のMac OS X(エル・キャピタン)を比較、iTerm2、Javaの1.8(1.8.0_111-B14を構築)

は、だから私の質問はこれです:どのように私は生成することができますJavaからの垂直線(テキスト内)

+0

「...無駄」これらの文字を印刷するとどうなりますか? – VGR

+0

確かに、縦棒が表示されますが、「文字のセルの高さが全部」でない、つまり、もう一方の上に表示されているセルが視覚的に壊れていません。 – LiamF

+0

サンプル画像は使用できません。ターミナルウィンドウからテキストをコピー&ペーストして[mcve]を表示してください。たぶん、異なるフォントがありますか?たとえば、Notepad ++では、垂直線は 'DejaVu Sans Mono'フォントで連続していますが、' Courier New'フォントで壊れて見えます。テストされた次のパターン行: '‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥ ──」と言っています。 – JosefZ

答えて

0

ncurses uses U+2502 UTF-8を使用しているときにVT100ライングラフィックスをサポートしていない端末の場合(説明はNCURSES_NO_UTF8_ACSを参照)。 iTerm2はそれらの1つではありません。

他のターミナルでは、UTF-8でVT100線画をサポートしています。のフォントは、フォントがそれらを提供しないときに文字を描画します(xterm for instance)。 VT100線画を使用する場合、アプリケーションは代替文字セット—に切り替え、端末は、使用する文字(または図)を決定します。あなたはJavaを使ってエスケープシーケンスを送ることができますが、結果が悪い他の端末があります。

ASCII垂直バーU+007C使用可能なラインを与える、(バーはそれにギャップがあることを、バグの完全な高さを描くに失敗したことを言及ここにあるレポート、または苦情がある)ない場合があります。

関連する問題