From: simon Date: Sat, 16 Jul 2011 11:13:00 +0000 (+0000) Subject: Fix display of VT100 vertically-offset horizontal line characters X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/commitdiff_plain/3cb37e024bb69171703f0fe05cf6b131008f8460?ds=sidebyside Fix display of VT100 vertically-offset horizontal line characters (o,p,r,s). They are displayed in Windows by actually writing the centred one (q) with a vertical offset, in case fonts don't have the offset versions; this requires terminal.c to separate those characters into distinct calls to do_text(). Unfortunately, it was only breaking up a text-drawing call _before_ one of those characters, not after one. Spotted by Robert de Bath. git-svn-id: svn://svn.tartarus.org/sgt/putty@9221 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/terminal.c b/terminal.c index 98653552..7aa0b652 100644 --- a/terminal.c +++ b/terminal.c @@ -5016,7 +5016,9 @@ static void do_paint(Terminal *term, Context ctx, int may_optimise) break_run = ((tattr ^ attr) & term->attr_mask) != 0; /* Special hack for VT100 Linedraw glyphs */ - if (tchar >= 0x23BA && tchar <= 0x23BD) + if ((tchar >= 0x23BA && tchar <= 0x23BD) || + (j > 0 && (newline[j-1].chr >= 0x23BA && + newline[j-1].chr <= 0x23BD))) break_run = TRUE; /*