我正在为一个小 TUI(文本用户界面)练习开发一个 NCURSES 应用程序。不幸的是,我没有选择使用永远如此美妙和忠实的 ASCII。我的程序使用了很多 Unicode 方框图字符。
我的程序已经可以检测到终端是否具有颜色功能。我需要做类似的事情:
if(!supportsUnicode()) //I prefer camel-case, it's just the way I am.
{
fprintf(stderr, "This program requires a Unicode-capable terminal.\n\r");
exit(1);
}
else
{
//Yay, we have Unicode! some random UI-related code goes here.
}
这不仅仅是简单地包含ncursesw
和设置语言环境的问题。我需要获取特定的终端信息,如果它不会发生,实际上会抛出一个错误。例如,当用户尝试以可爱的XTerm
而不是支持 Unicode 的UXTerm
.