Subject: Re: bug#39340: 26.3; "Noto Emoji" font not displayed

From: Eli Zaretskii <[email-masked]>
Date: Fri, 31 Jan 2020 10:46:39 +0200

> From: [email-masked]
> Cc: [email-masked]
> Date: Fri, 31 Jan 2020 11:20:55 +0900
> 
> With (setq use-default-font-for-symbols nil), none of the following
> forms make Emoji glyphs visible.
>     (set-fontset-font t '(#x80 . #x10FFFF) "Noto Emoji")
> or  (set-fontset-font t '(#x1F300 . #x1F6C5) "Noto Emoji")
> or  (set-fontset-font t #x1F600 "Noto Emoji")

(The first of these variants doesn't make sense.)

What do you mean by "make Emoji glyphs visible"?  Ar the characters in
some ranges of codepoints (which ones?) shown as boxes with hex
numbers, or shown using fonts other than Noto Emoji, or shown as
something else?

Also, did you try to use the ADD argument of set-fontset-font?  I'd
suggest to use 'prepend there.

> Also I found that OSMANYA DIGITs(U+104A0..U+104A9) are not displayed.
> By default, OSMANYA LETTERs(U+10480..U+1049D) are displayed with Ebrima
> font. But OSMANYA DIGITs are displayed as boxed hex numbers.
> Explicitly evaluating (set-fontset-font t '(#x104A0 . #x104A9) "Ebrima"),
> OSMANYA DIGITs are displayed as boxed hex numbers.

Maybe Ebrima doesn't have glyphs for OSMANYA DIGITs?  I'm not on
Windows 10, so I cannot check that.

> And evaluating (set-fontset-font t '(#x104A0 . #x104A9) "Noto Sans Osmanya"),
> OSMANYA DIGITs are displayed as boxed hex numbers, too.

Try this instead:

  (set-fontset-font t '(#x10480 . #x104A9) "Noto Sans Osmanya" nil 'prepend)

IOW, tell Emacs to use that font for the entire Osmanya block.

On my Windows system, just installing the Noto Sans Osmanya font
immediately let Emacs use it for displaying all the Osmanya
characters, but I guess that's an easier situation for Emacs, since
that's the only font supporting that block on my system; previously
all the Osmanya characters were displayed as hex codes in boxes.
Maybe you have many more fonts installed that have partial support for
Osmanya, and that causes problems?