Do not collect top-bit-set characters in case they need to be replaced.

This commit is contained in:
nicm 2018-01-12 16:43:47 +00:00
parent 2c5a6f9af5
commit b0c1cefeda

View File

@ -1297,10 +1297,12 @@ screen_write_collect_end(struct screen_write_ctx *ctx)
grid_view_get_cell(s->grid, xx, s->cy, &gc); grid_view_get_cell(s->grid, xx, s->cy, &gc);
if (~gc.flags & GRID_FLAG_PADDING) if (~gc.flags & GRID_FLAG_PADDING)
break; break;
grid_view_set_cell(s->grid, xx, s->cy, &grid_default_cell); grid_view_set_cell(s->grid, xx, s->cy,
&grid_default_cell);
} }
if (gc.data.width > 1) if (gc.data.width > 1)
grid_view_set_cell(s->grid, xx, s->cy, &grid_default_cell); grid_view_set_cell(s->grid, xx, s->cy,
&grid_default_cell);
} }
memcpy(&gc, &ci->gc, sizeof gc); memcpy(&gc, &ci->gc, sizeof gc);
@ -1333,7 +1335,7 @@ screen_write_collect_add(struct screen_write_ctx *ctx,
*/ */
collect = 1; collect = 1;
if (gc->data.width != 1 || gc->data.size != 1) if (gc->data.width != 1 || gc->data.size != 1 || *gc->data.data >= 0x7f)
collect = 0; collect = 0;
else if (gc->attr & GRID_ATTR_CHARSET) else if (gc->attr & GRID_ATTR_CHARSET)
collect = 0; collect = 0;