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

From: [email-masked]
Date: Fri, 31 Jan 2020 11:20:55 +0900

Eli Zaretskii <[email-masked]> writes:

>> From: [email-masked]
>> Cc: [email-masked]
>> Date: Thu, 30 Jan 2020 14:13:47 +0900
>> 
>> >> Evaluating the following form, only "ﾂｩﾂｮ 窿｣縲ｰ縲ｽ繩励鎌" can be displayed.
>> >>   (set-fontset-font t '(#x80 . #x1FFFF) "Noto Emoji")
>> >> 
>> >> Other characters listed below are displayed with other fonts or boxed
>> >> hex numbers.
>> >
>> > Please tell more details, in particular what do you mean by "can be
>> > displayed", and also which of the characters you show are displayed
>> > with other fonts and which with boxes with hex codepoints.
>> 
>> 'C-u C-x =' on displayable characters shows a font name in *Help* buffer:
>>             character: ﾂｩ (displayed as ﾂｩ) (codepoint 169, #o251, #xa9)
>>     uniscribe:-outline-Noto Emoji-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x11)
>> Starting with 'emacs -Q', the font name is shown as below.
>>             character: ﾂｩ (displayed as ﾂｩ) (codepoint 169, #o251, #xa9)
>>     uniscribe:-outline-Courier New-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1 (#x8B)
>> 
>> As for U+20E3( 窿｣:COMBINING ENCLOSING KEYCAP), the glyph in "Noto Emoji"
>> is drawn as a 3D button. I can see visually the glyph difference from
>> other fonts.
>> 
>> >> non-displayable characters
>> >
>> > What does "non-displayable" mean in this context?
>> 
>> I attach an HTML file noto-emoji.html, which contains characters easy to
>> see the difference, and screen shots of the file.
>> 
>> "Noto Emoji" does not have ASCII alphabets nor glyphs for characters
>> from U+1F641 to U+1F645.(It has ASCII digits.)
>
> Thanks, I think setting use-default-font-for-symbols to nil will solve
> this issue as well, because all the characters you show in those
> examples are symbols (as are all Emoji).
>
> Please also note that the call to set-fontset-font you show above
> makes no sense: this font is for displaying Emoji, so you should only
> define it for the Emoji blocks.  Otherwise you will see strange
> problems, because the heuristics we have in our font selection doesn't
> assume such strange settings and doesn't cater to them.

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")

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