Yang aneh adalah yang htop
menggunakan ncurses, yang dapat menggambar garis dengan / tanpa Unicode. Namun, melihat kode sumber dalam CRT.c
menunjukkan penjelasan:
#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;
dan CRT_treeStrUtf8
nilainya
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 ─
};
Namun, ncurses (implementasi kutukan) memiliki simbol portabel untuk ini yang tidak bergantung pada apakah pengkodeannya UTF-8 atau tidak. Beberapa aplikasi (seperti dialog 's --ascii-lines
pilihan) memberikan pilihan untuk menggunakan ASCII line-menggambar, tetapi sebuah aplikasi yang bahkan tidak mencoba untuk menggunakan line-menggambar disediakan dalam ncurses tidak membuat penggunaan efektif dari perpustakaan tersebut.
Singkatnya, ketika Anda menemukan program yang berperilaku seperti itu, Anda harus melaporkannya sebagai bug kepada pengembang.
Bacaan lebih lanjut:
- Line Graphics (halaman manual ncurses addch)
border
, wborder
, box
, hline
, whline
, vline
, wvline
,
mvhline
, mvwhline
, mvvline
, mvwvline
- membuat kutukan perbatasan, garis horizontal dan vertikal
dialog
tangkapan layar ( tidak memerlukan pengkodean UTF-8 untuk menggunakan gambar garis)