Garip olan şey, htop
Unicode ile / Unicode olmadan çizgi çizebilen ncurses kullanıyor. Ancak, kaynak koduna CRT.c
bakıldığında açıklama gösterilir:
#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;
ve CRT_treeStrUtf8
değer
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 ─
};
Bununla birlikte, ncurses (herhangi bir curses uygulaması) kodlamanın UTF-8 olup olmadığına güvenmeyen taşınabilir sembollere sahiptir. (Örneğin bazı uygulamalar iletişim 'ın --ascii-lines
isteğe bağlı) bir sağlamak seçeneği ASCII hat-çizim kullanmak için, ancak bu bile çizgiyi-çizim kütüphanenin etkin kullanımı yapmıyor Ncurses ile sağlanan kullanma girişiminde uymayan bir uygulama.
Kısacası, böyle davranan bir programla karşılaştığınızda, geliştiricilere bir hata olarak rapor etmelisiniz.
Daha fazla okuma:
- Çizgi Grafikler (ncurses addch manual page)
border
, wborder
, box
, hline
, whline
, vline
, wvline
,
mvhline
, mvwhline
, mvvline
, mvwvline
- küfür sınırları, yatay ve dikey çizgiler oluşturmak
dialog
ekran görüntüleri ( hiçbiri çizgi çizmeyi kullanmak için UTF-8 kodlaması gerektirmez)