GNU bug report logs - #20727
24.5; Font fallback doesn't work for the Emoji range

Previous Next

Package: emacs;

Reported by: Vasilij Schneidermann <v.schneidermann <at> gmail.com>

Date: Wed, 3 Jun 2015 17:23:01 UTC

Severity: normal

Tags: confirmed

Found in version 24.5

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #31 received at 20727 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Vasilij Schneidermann <v.schneidermann <at> gmail.com>
Cc: rgm <at> gnu.org, 20727 <at> debbugs.gnu.org
Subject: Re: bug#20727: 24.5; Font fallback doesn't work for the Emoji range
Date: Mon, 08 Jun 2015 17:30:25 +0300
> Date: Mon, 8 Jun 2015 07:43:04 +0200
> From: Vasilij Schneidermann <v.schneidermann <at> gmail.com>
> Cc: Glenn Morris <rgm <at> gnu.org>, 20727 <at> debbugs.gnu.org
> 
> > The "open" entry means Emacs decided to use that font.  Does "DejaVu
> > Sans Mono" have glyphs for those characters?
> 
> I use `gucharmap` to look up glyphs in fonts, you can find it with C-f
> by its name.  Selecting "DejaVu Sans Mono" as font and the "Show only
> glyphs from this font" option from the "View" menu confirms that this
> font doesn't have a glyph for it.

Does the full value of font-log suggest that Emacs even tried to
consider the Symbola font at some point?  My reading of the code seems
to indicate that Emacs won't try any font that's not in the fontset,
for characters that don't have a charset ID (which is what happens
with symbols, see below).

> What struck me as odd however is that Emacs appears to select glyphs by
> script and that there's no "Symbol" script in this font viewer (or more
> likely, not in Unicode at all).  Perhaps here lies the problem.

There's elaborate setup in fontset.el for selecting fonts by script,
so the fact that HELLO displays correctly is not a miracle.  Moreover,
for characters that belong to known charsets -- something that happens
for every letter in some language or script -- Emacs queries available
fonts by charset, so it can find fonts that are not in the fontset, I
think.

However 'symbol' is not a script nor a charset; Emacs conflates into
that pseudo-script all the Unicode blocks that define symbols of some
kind, for which the OTF spec does not define a script tag (for the
list of tags see
https://www.microsoft.com/typography/otspec/scripttags.htm).  We can
also look up fonts by family, registry, and charset, but none of this
helps with symbols, like it does with "real" scripts and character
sets.  So I think we pretty much depend on the fonts in the default
fontset for supporting symbols in general and Emoji in particular.

Therefore, I think we should augment the default fontset to include
good fonts for symbols for which the "usual" fonts rarely if ever
contain glyphs.

The problem is that most such fonts are not free.  Is Symbola free?

There's GNU Unifont, which is free, and is already in the default
fontset, but IMO many of its glyphs are really of low quality.  Do you
have that installed?  I'm guessing not.




This bug report was last modified 9 years and 345 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.