summaryrefslogtreecommitdiff
path: root/clients
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@gnu.org>2014-04-08 18:46:18 +0900
committerKristian Høgsberg <krh@bitplanet.net>2014-04-08 10:03:17 -0700
commit56d8a7a155c39564c828b74b9844ea51f0b864f0 (patch)
tree945b6441ec0071041dc6fa531e7178586c82aef2 /clients
parent79d5a6ebe4fe3174ad39cc658cef487f01326c3e (diff)
downloadweston-56d8a7a155c39564c828b74b9844ea51f0b864f0.tar.gz
terminal: Don't try to render RLE used as a placeholder
weston-terminal uses RLE (U+202B) as a placeholder of the right half of a double width character. However, not all fonts include this glyph and cairo renders it as .notdef (glyph index 0) in that case.
Diffstat (limited to 'clients')
-rw-r--r--clients/terminal.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/clients/terminal.c b/clients/terminal.c
index beec877f..5931ce2d 100644
--- a/clients/terminal.c
+++ b/clients/terminal.c
@@ -1094,6 +1094,12 @@ redraw_handler(struct widget *widget, void *data)
cairo_stroke(cr);
}
+ /* skip space glyph (RLE) we use as a placeholder of
+ the right half of a double-width character,
+ because RLE is not available in every font. */
+ if (p_row[col].ch == 0x200B)
+ continue;
+
glyph_run_add(&run, text_x, text_y, &p_row[col]);
}
}