2010-10-16 57 views
0

我試圖將一個curses程序移植到Windows。現在其中一個問題是,默認的ACS_XXXX字符在Windows控制檯上變成了雙倍寬度,從而打破了對齊。在Windows控制檯上「繪製」一個框時要選擇哪些字符?

我試過尋找其他角色來完成這項工作,比如' - '或'|'在基本的ASCII中,但沒有一個看起來不錯,因爲該行不連續。找到角色來「畫角」似乎更困難。

在這種情況下是否有任何常用字符?

回答

0

系統字體中有邊框字符。這包括關節,拐角以及雙邊和單邊。他們出現在較高的位置。

查看詳情http://www.asciitable.com/。在擴展ascii表中,它們的範圍從179到218(十進制)。

+0

我無法用ASCII的擴展部分,因爲我的系統默認爲代碼頁936,並相信他們是中國的一個字符... – hpsMouse 2010-10-16 09:56:52

0

有幾個box drawing characters舊DOS時間可用 - 你應該能夠使用這些。

但是,請記住,在Windows控制檯可能需要通過籃球來輸出這個爲Unicode,這可能是一個問題的一些跳躍,除非你接受你的代碼編輯器不可能正確地顯示字符。 Michael Kaplan很好地總結了這個問題,並提供了有關如何解決此問題的信息。

+0

這就是詛咒默認爲輸出的一部分。他們在傳統的Linux控制檯上完美工作。問題的根源在於我使用的是中文版的Windows,並且控制檯使用中文字體,其中Unicode字符框變爲雙寬度。 – hpsMouse 2010-10-16 09:52:06

+0

@hpsMouse:啊,那是你的意思......在這種情況下,我沒有選擇比爲可執行不同的字體其他任何建議 - 但幾乎沒有任何的理想,尤其不適合其他人。 – 2010-10-16 10:10:52

1

我使用MingLiu字體來使用它。也就是說,要用ASCII字符在中文字符周圍繪製沒有任何對齊問題的框。