2016-11-09 20 views
0

我發現無法以編程方式在基於文本的終端會話中工作時生成一個不間斷的垂直行字符(|)。我嘗試了各種Unicode字符 - U + 2502,U + 007C,U + 01C0,U + 2223,U + 2758 - 無濟於事。我認爲它可以通過更改終端程序使用的字體來解決,但這是不成功的。不間斷的垂直行字符 - ncurses與Java

下面是kicker ... ncurses可以產生這個角色! 比較vert-by-cursesvert-by-java

我的環境... 的Mac OS X(酋長),iTerm2,爪哇1.8(構建1.8.0_111-B14)

所以我的問題是這樣的:我怎麼能產生來自Java的完整的垂直線(在文本中)?

+0

「......無濟於事」。打印這些字符時會發生什麼? – VGR

+0

我確實得到了一個垂直條,但沒有一個是「全角字元高度」,即一個在另一個上面是視覺上破碎的。 – LiamF

+0

示例圖片無法使用。請從終端窗口複製並粘貼文本以顯示[mcve]。也許有不同的字體?例如,在Notepad ++中,垂直線連續使用'DejaVu Sans Mono'字體,但使用'Courier New'字體顯示爲破碎。經過測試的下一行花紋:'┌─────┐','│││H│|│','├─────┤','│|│H│|│','└─── ──┘'。 – JosefZ

回答

0

ncurses uses U+2502適用於使用UTF-8時不支持VT100行圖形的終端(請參閱NCURSES_NO_UTF8_ACS的討論)。 iTerm2不是其中之一。

其他終端支持UTF-8的VT100線畫圖和(xterm for instance)可能畫出字體時字體不提供它們。當使用VT100線繪圖時,應用程序切換到備用字符集—,並且終端確定要使用哪個字符(或圖形)。您可以使用Java發送轉義序列,但還有其他終端會導致結果不佳。

的ASCII豎線U+007C可以給一個可用的線路,不得(這裏有錯誤報告,有提未能提請全高度,或投訴,酒吧中有一個間隙)。