Check of the termcap capability U8
This commit is contained in:
parent
754a863cfe
commit
09021d9c0a
|
@ -1,3 +1,7 @@
|
||||||
|
2017-02-07 Markus Gans <guru.mail@muenster.de>
|
||||||
|
* Uses termcap capability U8 to identify terminals that can't display
|
||||||
|
vt100 line-drawing in UTF-8 mode
|
||||||
|
|
||||||
2017-01-28 Markus Gans <guru.mail@muenster.de>
|
2017-01-28 Markus Gans <guru.mail@muenster.de>
|
||||||
* Allow to change the focus out from FScrollView to another widget
|
* Allow to change the focus out from FScrollView to another widget
|
||||||
|
|
||||||
|
|
|
@ -95,6 +95,7 @@ bool FTermcap::automatic_right_margin = false;
|
||||||
bool FTermcap::eat_nl_glitch = false;
|
bool FTermcap::eat_nl_glitch = false;
|
||||||
bool FTermcap::ansi_default_color = false;
|
bool FTermcap::ansi_default_color = false;
|
||||||
bool FTermcap::osc_support = false;
|
bool FTermcap::osc_support = false;
|
||||||
|
bool FTermcap::no_utf8_acs_chars = false;
|
||||||
int FTermcap::max_color = 1;
|
int FTermcap::max_color = 1;
|
||||||
uInt FTermcap::tabstop = 8;
|
uInt FTermcap::tabstop = 8;
|
||||||
uInt FTermcap::attr_without_color = 0;
|
uInt FTermcap::attr_without_color = 0;
|
||||||
|
@ -1298,6 +1299,9 @@ void FTerm::setEncoding (std::string enc)
|
||||||
{
|
{
|
||||||
std::map<std::string,fc::encoding>::const_iterator it;
|
std::map<std::string,fc::encoding>::const_iterator it;
|
||||||
|
|
||||||
|
if ( FTermcap::no_utf8_acs_chars && isUTF8() && enc == "VT100" )
|
||||||
|
enc = "UTF8";
|
||||||
|
|
||||||
// available encodings: "UTF8", "VT100", "PC" and "ASCII"
|
// available encodings: "UTF8", "VT100", "PC" and "ASCII"
|
||||||
it = encoding_set->find(enc);
|
it = encoding_set->find(enc);
|
||||||
|
|
||||||
|
@ -2619,6 +2623,9 @@ void FTerm::init_termcaps()
|
||||||
// OSC = Esc + ']'
|
// OSC = Esc + ']'
|
||||||
FTermcap::osc_support = tgetflag(const_cast<char*>("XT"));
|
FTermcap::osc_support = tgetflag(const_cast<char*>("XT"));
|
||||||
|
|
||||||
|
// U8 is nonzero for terminals with no VT100 line-drawing in UTF-8 mode
|
||||||
|
FTermcap::no_utf8_acs_chars = bool(tgetnum(const_cast<char*>("U8")) != 0);
|
||||||
|
|
||||||
if ( isTeraTerm() )
|
if ( isTeraTerm() )
|
||||||
FTermcap::eat_nl_glitch = true;
|
FTermcap::eat_nl_glitch = true;
|
||||||
|
|
||||||
|
|
|
@ -56,6 +56,7 @@ class FTermcap
|
||||||
static bool eat_nl_glitch;
|
static bool eat_nl_glitch;
|
||||||
static bool ansi_default_color;
|
static bool ansi_default_color;
|
||||||
static bool osc_support;
|
static bool osc_support;
|
||||||
|
static bool no_utf8_acs_chars;
|
||||||
static int max_color;
|
static int max_color;
|
||||||
static uInt tabstop;
|
static uInt tabstop;
|
||||||
static uInt attr_without_color;
|
static uInt attr_without_color;
|
||||||
|
|
Loading…
Reference in New Issue