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: Dmitry Alexandrov
Subject: bug#25216: 26.0.50 [regression]; Curly quotes are not found in some sizes of ‘Terminus’ font
Date: Sat, 31 Dec 2016 08:56:21 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

>> > And I still don't understand why you need that.  AFAICS, Emacs
>> > explicitly tries to use the default font for punctuation and symbol
>> > characters before falling back on looking up other fonts.
>> 
>> Do you mean that you could not reproduce this?
>
> It means I don't understand how it could happen.  The function
> face_for_char (defined in fontset.c) explicitly tries the current
> default font for any punctuation and symbol character, before it
> starts looking in other fonts.  I don't understand why this fails for
> you, and only in certain font sizes on top of that.  Perhaps you could
> step through that code with a debugger and see what happens there?

Well.  font_has_char of font.c:2989 returns 0 ← xftfont_has_char of 
xftfont.c:532 returns 0 ← XftCharExists of libXft.so.2 returns 0.

So the problem goes into libxft2.

Thus the possible workaround may be to prefer ‘x’ backend for font rendering:

   $ emacs -q -fn '-*-terminus-*-18-*-iso10646-1' -xrm 'emacs.fontBackend: 
x,xft'

However, by a fluke dropping ‘x’ entirely also conceals the issue at least on 
my system:

   $ emacs -q -fn '-*-terminus-*-18-*-iso10646-1' -xrm 'emacs.fontBackend: xft'

Only that (which is presumably the default) leads to the problem:

   $ emacs -q -fn '-*-terminus-*-18-*-iso10646-1' -xrm 'emacs.fontBackend: 
xft,x'

At least it’s now clear what’s so special about combination of Terminus and GNU 
Emacs — the former it is a rare example of a font that is available through 
both of font engines, the latter — of an application that uses both of them.





reply via email to

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