สิ่งที่แปลกคือhtop
ใช้ ncurses ซึ่งสามารถวาดเส้นที่มี / ไม่มี Unicode อย่างไรก็ตามการดูซอร์สโค้ดในCRT.c
แสดงคำอธิบาย:
#ifdef HAVE_LIBNCURSESW
if(strcmp(nl_langinfo(CODESET), "UTF-8") == 0)
CRT_utf8 = true;
else
CRT_utf8 = false;
#endif
CRT_treeStr =
#ifdef HAVE_LIBNCURSESW
CRT_utf8 ? CRT_treeStrUtf8 :
#endif
CRT_treeStrAscii;
และCRT_treeStrUtf8
คุณค่าคือ
const char *CRT_treeStrUtf8[TREE_STR_COUNT] = {
"\xe2\x94\x80", // TREE_STR_HORZ ─
"\xe2\x94\x82", // TREE_STR_VERT │
"\xe2\x94\x9c", // TREE_STR_RTEE ├
"\xe2\x94\x94", // TREE_STR_BEND └
"\xe2\x94\x8c", // TREE_STR_TEND ┌
"+", // TREE_STR_OPEN +
"\xe2\x94\x80", // TREE_STR_SHUT ─
};
อย่างไรก็ตาม ncurses (การใช้งาน curses ใด ๆ ) มีสัญลักษณ์แบบพกพาสำหรับสิ่งเหล่านี้ซึ่งไม่ขึ้นอยู่กับว่าการเข้ารหัสนั้นเป็น UTF-8 หรือไม่ แอปพลิเคชั่นบางตัว (เช่นตัวเลือกของไดอะล็อก--ascii-lines
) ให้ตัวเลือกสำหรับการใช้การวาดเส้น ASCII แต่แอปพลิเคชันที่ไม่ได้พยายามใช้การวาดเส้นที่จัดเตรียมไว้ใน ncurses ไม่ได้ใช้ไลบรารีอย่างมีประสิทธิภาพ
กล่าวโดยย่อเมื่อคุณเจอโปรแกรมที่มีลักษณะเช่นนั้นคุณควรรายงานว่าเป็นข้อผิดพลาดของผู้พัฒนา
อ่านเพิ่มเติม:
- Line Graphics (เพิ่มหน้าคู่มือเพิ่มเติม)
border
, wborder
, box
, hline
, whline
, vline
, wvline
,
mvhline
, mvwhline
, mvvline
, mvwvline
- สร้างพรมแดนคำสาปเส้นแนวนอนและแนวตั้ง
dialog
สกรีนช็อต ( ไม่ต้องใช้การเข้ารหัส UTF-8 เพื่อใช้การวาดเส้น)