diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp index f093a53863..584a712736 100644 --- a/src/gfx_layout.cpp +++ b/src/gfx_layout.cpp @@ -631,6 +631,8 @@ static inline void GetLayouter(Layouter::LineCacheItem &line, const char *&str, } else if (c >= SCC_FIRST_FONT && c <= SCC_LAST_FONT) { state.SetFontSize((FontSize)(c - SCC_FIRST_FONT)); } else { + /* Filter out non printable characters */ + if (!IsPrintable(c)) continue; /* Filter out text direction characters that shouldn't be drawn, and * will not be handled in the fallback non ICU case because they are * mostly needed for RTL languages which need more ICU support. */