bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#25216: 26.0.50 [regression]; Curly quotes are not found in some size


From: Eli Zaretskii
Subject: bug#25216: 26.0.50 [regression]; Curly quotes are not found in some sizes of ‘Terminus’ font
Date: Mon, 19 Dec 2016 05:42:59 +0200

> From: Dmitry Alexandrov <321942@gmail.com>
> Cc: 25216@debbugs.gnu.org
> Date: Mon, 19 Dec 2016 06:17:57 +0300
> 
> > It doesn't surprise me.  What I don't understand is why this happens.
> > Emacs explicitly tests the default font for supporting any symbol or
> > punctuation character it needs to display, before it looks for another
> > font.  See the function face_for_char in fontset.c.
> >
> >> Aha!  Thanks.  The exact problematic commit is ‘2276a19d’ [0].
> >> 
> >> By the way, how could I prove that without rebuilding the whole Emacs?  I 
> >> tried:
> >> 
> >>    $ git show 2276a19^:lisp/international/fontset.el > /tmp/lisp/fontset.el
> >>    $ emacs --directory /tmp/lisp --quick --font 
> >> '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*'
> >> 
> >> Despite that:
> >> 
> >>    (locate-library "fontset")
> >>         ⇒ "/tmp/lisp/fontset.el"
> >> 
> >> I did not see any effect.
> >
> > You must rebuild Emacs or manually load fontset.el after changing it.
> > fontset.el is preloaded when Emacs is built.
> 
> So I need to use ‘temacs’?  Yes, that works, thank you.

If you want to rebuild Emacs, then yes, you will need to run the
command which dumps it after changing fontset.el.

> >> However, It might be even better if I could erase that rule, as if
> >> there were no lines about that range in ‘fontsel.el’. Is it
> >> possible?
> >
> > That would adversely affect all the users.  We arrived at that rule
> > after many complaints that symbol and punctuation characters are not
> > displayed at all, or displayed using variable-pitch fonts, so we made
> > the default fontset "smarter" about that by using fonts people
> > generally have installed and which are the default fonts in Emacs.
> 
> Well, I’m the only user on most my machines, so that’s probably bearable.

No, I meant all the users of Emacs, world wide.

> However, we apparently misunderstood each other — I did not ask how to patch 
> ‘fontsel.el’ machine-wide (I hope, I do understand how to do that).  I meant, 
> is it possible to remove elements from the default fontset *user-wide*?  
> ‘Terminus’ is not the only font I use, so that would be cleaner than 
> appending it there.

You don't need (and cannot, AFAIK) to remove that.  What you need is
to prepend your rules, which will override what's there.  Like this:

 (set-fontset-font "fontset-default" '(#x2000 . #x2067) "Terminus" 'prepend)

Note the "prepend" part.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]