summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2016-10-08 22:03:51 +0300
committerEli Zaretskii <eliz@gnu.org>2016-10-08 22:03:51 +0300
commit4ff4b66df8da175d8df292d12a30ab50285b6917 (patch)
treee08622cd6b0790172a9c2082a652876720e33e4f /src
parentc03d44bb3d975a982a9d84eea54b73cc3d049035 (diff)
downloademacs-4ff4b66df8da175d8df292d12a30ab50285b6917.tar.gz
Allow selection of font for symbols as in Emacs 24.x
* src/fontset.c (syms_of_fontset) <use-default-font-for-symbols>: New boolean variable. (face_for_char): Use it to fall back to pre-Emacs 25.1 behavior when selecting fonts for displaying symbol and punctuation characters. (Bug#24644) * etc/NEWS: Mention the new variable.
Diffstat (limited to 'src')
-rw-r--r--src/fontset.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/fontset.c b/src/fontset.c
index dc037a807cd..74e7df5ae09 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -883,7 +883,8 @@ face_for_char (struct frame *f, struct face *face, int c,
if (ASCII_CHAR_P (c) || CHAR_BYTE8_P (c))
return face->ascii_face->id;
- if (c > 0 && EQ (CHAR_TABLE_REF (Vchar_script_table, c), Qsymbol))
+ if (use_default_font_for_symbols /* let the user disable this feature */
+ && c > 0 && EQ (CHAR_TABLE_REF (Vchar_script_table, c), Qsymbol))
{
/* Fonts often have characters for punctuation and other
symbols, even if they don't match the 'symbol' script. So
@@ -2112,6 +2113,16 @@ This affects how a composite character which contains
such a character is displayed on screen. */);
Vuse_default_ascent = Qnil;
+ DEFVAR_BOOL ("use-default-font-for-symbols", use_default_font_for_symbols,
+ doc: /*
+If non-nil, use the default face's font for symbols and punctuation.
+
+By default, Emacs will try to use the default face's font for
+displaying symbol and punctuation characters, disregarding the
+fontsets, if the default font can display the character.
+Set this to nil to make Emacs honor the fontsets instead. */);
+ use_default_font_for_symbols = 1;
+
DEFVAR_LISP ("ignore-relative-composition", Vignore_relative_composition,
doc: /*
Char table of characters which are not composed relatively.