[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 408bf21: Ignore color fonts when using Xft
From: |
Robert Pluim |
Subject: |
[Emacs-diffs] master 408bf21: Ignore color fonts when using Xft |
Date: |
Tue, 3 Apr 2018 08:50:25 -0400 (EDT) |
branch: master
commit 408bf21a8c8b5bf5a78785608255463ad1038871
Author: Robert Pluim <address@hidden>
Commit: Robert Pluim <address@hidden>
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.
---
etc/NEWS | 6 ++++++
src/font.c | 7 +++++++
src/ftfont.c | 7 +++++++
3 files changed, 20 insertions(+)
diff --git a/etc/NEWS b/etc/NEWS
index a510c03..7dc0147 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -78,6 +78,12 @@ work right without some adjustment:
* Changes in Emacs 27.1
---
+** 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)
+
+---
** The new option 'tooltip-resize-echo-area' avoids truncating tooltip text
on GUI frames when tooltips are displayed in the echo area. Instead,
it resizes the echo area as needed to accommodate the full tool-tip
diff --git a/src/font.c b/src/font.c
index a6d3f5d..ef3f92b 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 c2e093e..24a92dd 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;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 408bf21: Ignore color fonts when using Xft,
Robert Pluim <=