aboutsummaryrefslogtreecommitdiff
path: root/grid.c
diff options
context:
space:
mode:
Diffstat (limited to 'grid.c')
-rw-r--r--grid.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/grid.c b/grid.c
index 74b6b7b8..acd1f475 100644
--- a/grid.c
+++ b/grid.c
@@ -76,7 +76,7 @@ grid_need_extended_cell(const struct grid_cell_entry *gce,
return (1);
if (gc->attr > 0xff)
return (1);
- if (gc->data.size != 1 || gc->data.width != 1)
+ if (gc->data.size > 1 || gc->data.width > 1)
return (1);
if ((gc->fg & COLOUR_FLAG_RGB) || (gc->bg & COLOUR_FLAG_RGB))
return (1);
@@ -114,7 +114,7 @@ grid_extended_cell(struct grid_line *gl, struct grid_cell_entry *gce,
gl->flags |= GRID_LINE_EXTENDED;
gee = &gl->extddata[gce->offset];
- gee->data = utf8_map_big(&gc->data);
+ utf8_from_data(&gc->data, &gee->data);
gee->attr = gc->attr;
gee->flags = flags;
gee->fg = gc->fg;
@@ -496,7 +496,8 @@ grid_get_cell1(struct grid_line *gl, u_int px, struct grid_cell *gc)
gc->fg = gee->fg;
gc->bg = gee->bg;
gc->us = gee->us;
- utf8_get_big(gee->data, &gc->data);
+ log_debug("!!! %x", gc->flags);
+ utf8_to_data(gee->data, &gc->data);
}
return;
}
@@ -541,6 +542,7 @@ grid_set_cell(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc)
gl->cellused = px + 1;
gce = &gl->celldata[px];
+ if (gc->flags & GRID_FLAG_PADDING) log_debug("!!! padding %d\n", grid_need_extended_cell(gce, gc));
if (grid_need_extended_cell(gce, gc))
grid_extended_cell(gl, gce, gc);
else
@@ -570,7 +572,7 @@ grid_set_cells(struct grid *gd, u_int px, u_int py, const struct grid_cell *gc,
gce = &gl->celldata[px + i];
if (grid_need_extended_cell(gce, gc)) {
gee = grid_extended_cell(gl, gce, gc);
- gee->data = utf8_set_big(s[i], 1);
+ gee->data = utf8_build_one(s[i], 1);
} else
grid_store_cell(gce, gc, s[i]);
}