From 241570c04f93fcb14a5216661c607db0b74dc4f0 Mon Sep 17 00:00:00 2001 From: Simon Tatham Date: Tue, 31 Dec 2002 11:03:23 +0000 Subject: [PATCH] SCO ACS part 2 (ESC[12m) apparently puts the top half of CP437 into _both_ halves of the character set, rather than flipping the two halves. My source for this is linux/drivers/char/console.c. [originally from svn r2394] --- terminal.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terminal.c b/terminal.c index 3fcff47f..749b1203 100644 --- a/terminal.c +++ b/terminal.c @@ -1274,7 +1274,7 @@ void term_out(Terminal *term) else if(term->sco_acs && (c!='\033' && c!='\012' && c!='\015' && c!='\b')) { - if (term->sco_acs == 2) c ^= 0x80; + if (term->sco_acs == 2) c |= 0x80; c |= ATTR_SCOACS; } else { switch (term->cset_attr[term->cset]) { @@ -2103,7 +2103,7 @@ void term_out(Terminal *term) compatibility(SCOANSI); if (term->cfg->no_remote_charset) break; term->sco_acs = 1; break; - case 12: /* SCO acs on flipped */ + case 12: /* SCO acs on, |0x80 */ compatibility(SCOANSI); if (term->cfg->no_remote_charset) break; term->sco_acs = 2; break;