이상한 점은 htop
ncurses 를 사용 한다는 것인데, 유니 코드를 사용하거나 사용하지 않고 선을 그릴 수 있습니다. 그러나 소스 코드를 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를 제공을 사용하지 않는 응용 프로그램을.
간단히 말해서, 이와 같은 동작을하는 프로그램을 발견하면 개발자에게 버그로보고해야합니다.
더 읽을 거리 :
- 라인 그래픽 (addch 매뉴얼 페이지로 이동)
border
, wborder
, box
, hline
, whline
, vline
, wvline
,
mvhline
, mvwhline
, mvvline
, mvwvline
- 커스 테두리, 수평 및 수직 라인을 만들
dialog
스크린 샷 ( 선 그리기를 사용하기 위해 UTF-8 인코딩이 필요 없음 )