GNU bug report logs -
#25216
26.0.50 [regression]; Curly quotes are not found in some sizes of ‘Terminus’ font
Previous Next
Reported by: Dmitry Alexandrov <321942 <at> gmail.com>
Date: Sat, 17 Dec 2016 01:04:02 UTC
Severity: normal
Tags: moreinfo
Found in version 26.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 25216 <at> debbugs.gnu.org (full text, mbox):
>> > 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.
So there is another way? Mere (load "/tmp/lisp/fontset.el") have no use after built-in ‘fontset’ is already loaded of course. I’m just curious.
>> >> 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" nil 'prepend)
>
> Note the "prepend" part.
Okay, if I can’t, I can’t. As for ‘prepend’ it actually works all three ways for me: obviously ‘nil’ (for override, not what I want), ‘prepend’ (as expected) and ‘append’ (no idea why).
This bug report was last modified 5 years and 235 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.