From: Robert Pluim Date: Tue, 3 Apr 2018 09:06:01 +0000 (+0200) Subject: Ignore color fonts when using Xft X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~150^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=77f3313d9159759126188903933884b2d308c0f3;p=emacs.git Ignore color fonts when using Xft * src/font.c (syms_of_font): New configuration variable xft-ignore-color-fonts, default t. * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore color fonts if xft-ignore-color-fonts is t. (Bug#30874, Bug#30045) * etc/NEWS: Document xft-ignore-color-fonts. --- diff --git a/src/font.c b/src/font.c index a6d3f5d4798..ef3f92b5949 100644 --- a/src/font.c +++ b/src/font.c @@ -5473,6 +5473,13 @@ Disabling compaction of font caches might enlarge the Emacs memory footprint in sessions that use lots of different fonts. */); inhibit_compacting_font_caches = 0; + DEFVAR_BOOL ("xft-ignore-color-fonts", + Vxft_ignore_color_fonts, + doc: /* +Non-nil means don't query fontconfig for color fonts, since they often +cause Xft crashes. Only has an effect in Xft builds. */); + Vxft_ignore_color_fonts = 1; + #ifdef HAVE_WINDOW_SYSTEM #ifdef HAVE_FREETYPE syms_of_ftfont (); diff --git a/src/ftfont.c b/src/ftfont.c index c2e093e633d..24a92dd52e8 100644 --- a/src/ftfont.c +++ b/src/ftfont.c @@ -764,6 +764,13 @@ ftfont_spec_pattern (Lisp_Object spec, char *otlayout, struct OpenTypeSpec **ots if (scalable >= 0 && ! FcPatternAddBool (pattern, FC_SCALABLE, scalable ? FcTrue : FcFalse)) goto err; +#ifdef HAVE_XFT + /* We really don't like color fonts, they cause Xft crashes. See + Bug#30874. */ + if (Vxft_ignore_color_fonts + && ! FcPatternAddBool(pattern, FC_COLOR, FcFalse)) + goto err; +#endif goto finish;