From 3cb37e024bb69171703f0fe05cf6b131008f8460 Mon Sep 17 00:00:00 2001 From: simon Date: Sat, 16 Jul 2011 11:13:00 +0000 Subject: [PATCH 1/1] 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 --- terminal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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; /* -- 2.11.0