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.
This commit is contained in:
parent
55c9bb9f3c
commit
f21fa142ac
3 changed files with 20 additions and 0 deletions
6
etc/NEWS
6
etc/NEWS
|
@ -31,6 +31,12 @@ in its NEWS.)
|
|||
|
||||
* Changes in Emacs 26.2
|
||||
|
||||
---
|
||||
** New variable 'xft-ignore-color-fonts'.
|
||||
Default t means don't try to load color fonts when using Xft, as they
|
||||
often cause crashes. Set it to nil if you really need those fonts.
|
||||
(Bug#30874)
|
||||
|
||||
|
||||
* Editing Changes in Emacs 26.2
|
||||
|
||||
|
|
|
@ -5476,6 +5476,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 ();
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue