Subject: Re: bug#20727: 24.5; Font fallback doesn't work for the Emoji range

From: Eli Zaretskii <[email-masked]>
Date: Sat, 13 Jun 2015 19:32:45 +0300

> Date: Sat, 13 Jun 2015 09:01:38 -0700
> From: Paul Eggert <[email-masked]>
> CC: [email-masked], [email-masked], 
>  [email-masked]
> 
> I'm on a machine with Symbola installed now, and with the latest master version 
> (commit eb92f89c2125aaf8fdf93cdd85ab46ae278dd950) the display is way worse than 
> it was before.  See attached screenshots of Emacs 24.4 and latest master 
> displaying the following text in a fundamental-mode buffer:
> 
>   abc‘def’ghi
>   abc“def”ghi
>   abc≤def

I don't really see why it's "way worth".  I see quite similar
displays.

> I ran Emacs with the arguments "-Q -r -font 
> -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1".  Emacs 
> previously substituted 
> -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 for the 
> non-alphabetic characters, and this worked well: it's the same font, really, and 
> the substitute characters are legible and match the default font well.  In 
> contrast, Symbola is varying width, the characters don't match the default font, 
> and the characters are in some cases nearly illegible.

The Symbola font looks much more crisp on my system, FWIW.  Which font
back-end did you configure Emacs to use?

Also, if you use the iso10646-1 variant instead of the iso8859-1 as
the default font, doesn't that fix the problem, in that the default
font is used for both ASCII and the punctuation characters?  That's
what happens on my system: the default font, which is Courier New,
does included these quotes, so it is used when these characters need
to be displayed, and Emacs falls back on Symbola only for the more
rare symbols.

> Why is Emacs using Symbola in a setup that has good Unicode characters already? 

How would Emacs know where to find "good Unicode characters", in a
font with coverage that is good enough to show almost any character
that's there?  And how can Emacs know which fonts you like and don't
like?

>   Isn't the idea to use Symbola only as a fallback, when the existing fonts 
> don't work?

No, it's the other way around.  Experience shows that the existing
fonts are frequently inadequate, in that they claim support for
Unicode ranges where they actually support only a handful of glyphs.
Users then complain that they have decent fonts (like Symbola)
installed, but Emacs still shows some characters as boxes with hex
code, instead of using Symbola.

I tried to improve on that in my latest changes.  I do expect some
rough edges, since this area in Emacs is notoriously under-documented,
and we no longer have experts on board who are active enough to take
care of this.  So perhaps I made some mistakes with my changes, or
didn't use the right options.  But I don't think it's a good idea to
go back to the previous arrangement where any font that claimed
iso10646-1 support would be considered as covering symbols and
punctuation well, because that means restoring the problems I tried to
fix in the first place.

How about the following compromise: we exclude the ranges for the most
popular symbols and punctuation, which are reasonably well covered by
many fonts, from the characters for which we specify Symbola?  This
would include the quotes you've shown and a few other similar
characters.  (It would require some footwork for finding out which
characters are covered well by many fonts.)  Would that be good
enough?