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
View this message in rfc822 format
>> Steps to reproduce:
>>
>> $ emacs --quick --font '-*-terminus-medium-r-*-*-20-*-*-*-*-*-*-*'
>>
>> Find some document with curly quotes: ‘’ and “”. GNU Emacs Manual (‘<f1> r’) uses them heavily, for instance.
>>
>> It looks wrong:
>
> What is wrong with how it looks?
That’s apparently another font.
> Info mode uses several fonts anyway,
‘GNU Emacs Manual’ was a mere example of an easy accessible page that uses that symbols. And the quotes are not the only problematic glyphs, just the most notable ones. Now I noticed the same issue with arrows: ↑ ← ↓ and →, I guess there are others.
> so seeing a different font used for quotes shouldn't be a disaster.
>
>> ‘C-u C-x =’ says that instead of Terminus
>> ‘x:-misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1’ font
>> is used for rendering quotes. When I request 24th size, I got yet
>> another font —
>> ‘x:-efont-fixed-medium-r-normal--24-240-75-75-c-240-iso10646-1’.
>>
>> In a strange way there is no such a problem with some other sizes:
>>
>> $ emacs --quick --font '-*-terminus-medium-r-*-*-16-*-*-*-*-*-*-*'
>>
>> is okay, for example. ‘C-u C-x =’ says that
>> ‘xft:-xos4-Terminus-normal-normal-normal-*-16-*-*-*-c-80-iso10646-1’
>> is used in that case.
>
> Emacs 25 should prefer the default font for symbol and punctuation
> characters, as long as the default font supports them. So I don't
> understand why you see these character displayed using another
> if the default one has the corresponding glyphs.
>
>> The reason is *not* that Terminus just does not have these glyphs —
>> it does. Moreover — GNU Emacs 24.4.1 finds and renders them
>> correctly:
>
> Emacs 25 has different settings of the default fontset, see
> fontset.el.
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.
[0] https://lists.gnu.org/archive/html/emacs-diffs/2015-06/msg00150.html
> It instructs Emacs to use fixed-medium fonts for symbols
> and punctuation characters that are absent from the default font.
> Emacs 24 didn't have those settings.
> I think you should be able to force Emacs to use your font for these
> characters by using set-fontset-font for the range of codepoints you
> want to be displayed by the Terminus font.
Yes, indeed. Many thanks.
(set-fontset-font "fontset-default" '(#x2000 . #x2067) "Terminus")
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?
> Of course, if you or someone can explain why Emacs doesn't use the
> default font, as it should have, for these characters, that would be
> even better, since we might then be able to fix the problem without
> any need for user customizations.
>
> One idea I have is that the way you specify the font on the Emacs
> command line doesn't specify a registry. Did you try using iso10646-1
> as the registry?
I’ve just tried — no effect.
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.