diff -urNad vdr-1.5.16~/font.c vdr-1.5.16/font.c --- vdr-1.5.16~/font.c 2008-02-29 22:21:30.000000000 +0100 +++ vdr-1.5.16/font.c 2008-02-29 22:24:05.000000000 +0100 @@ -214,6 +214,9 @@ return Glyph; } } +#define UNKNOWN_GLYPH_INDICATOR '?' + if (CharCode != UNKNOWN_GLYPH_INDICATOR) + return Glyph(UNKNOWN_GLYPH_INDICATOR, AntiAliased); return NULL; } @@ -258,6 +261,8 @@ uint sym = Utf8CharGet(s, sl); s += sl; cGlyph *g = Glyph(sym, AntiAliased); + if (!g) + continue; int kerning = Kerning(g, prevSym); prevSym = sym; uchar *buffer = g->Bitmap();