X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/8e32bfe0fe09a18bdab9e68332caaedb884628d3..1c3d42bcaee819b8172a9b66d52e50180ef90a98:/unix/gtkwin.c diff --git a/unix/gtkwin.c b/unix/gtkwin.c index 920d7fe0..5aeeaf02 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -1998,12 +1998,18 @@ void do_text_internal(Context ctx, int x, int y, wchar_t *text, int len, wcs[i] = text[i]; } + if (inst->fonts[fontid] == NULL && (fontid & 2)) { + /* + * We've been given ATTR_WIDE, but have no wide font. + * Fall back to the non-wide font. + */ + fontid &= ~2; + } + if (inst->fonts[fontid] == NULL) { /* - * The font for this contingency does not exist. - * Typically this means we've been given ATTR_WIDE - * character and have no wide font. So we display - * nothing at all; such is life. + * The font for this contingency does not exist. So we + * display nothing at all; such is life. */ } else if (inst->fontinfo[fontid].is_wide) { /*