GNU bug report logs -
#54970
28.1; Some emoji no longer display
Previous Next
Full log
Message #107 received at 54970 <at> debbugs.gnu.org (full text, mbox):
> From: Howard Melman <hmelman <at> gmail.com>
> Date: Sun, 17 Apr 2022 14:44:25 -0400
> Cc: Eli Zaretskii <eliz <at> gnu.org>,
> Alan Third <alan <at> idiocy.org>,
> Lars Ingebrigtsen <larsi <at> gnus.org>,
> 54970 <at> debbugs.gnu.org
>
> I'm still confused as to why the above works but this didn't:
>
> (set-fontset-font t 'emoji '("Apple Color Emoji" . "iso10646-1") nil 'prepend)
Because that character is not in the emoji script:
(aref char-script-table #x1f37d) => symbol
> And I as I look at script-representative-chars, emoji is defined to be (emoji 127744 128512)
> which I think means the hex range x1F300 - x1F600 so shouldn't include x1f37d?
You misinterpret script-representative-chars. That doesn't mean the
range of characters between the values, but only the discrete examples
of the script's characters, which Emacs uses to see if a font supports
a script well enough to use it. IOW, only those specific codepoints
are used as representatives, not any others.
> Or does it not because the default expression is text? And if so how is that
> factored into the emoji script symbol passed to set-fontset-font, I don't see
> how that's defined other than as this range.
See lisp/international/charscript.el for how we assign characters to
scripts. (It's a file generated from the UCD.)
> > Those characters get composed, so they get treated as a single
> > unit. They really donʼt cause any problems.
>
> Well C-f and C-b seem to move point between them which is somewhat startling.
No, they shouldn't. If they do, it means you don't have character
composition working. "C-u C-x =" should describe the composition of
it happened.
> >>> Modulo `use-default-font-for-symbols'
> >
> > Howard> FWIW this variable set to t for me which I think is the default.
> >
> > I meant you should try setting it to 'nil'.
>
> In an emacs -Q in the scratch buffer I inserted a lone U+1F37D
> Toggling use-default-font-for-symbols had no effect on its display.
It will only have effect if the default font has a glyph for that
character.
This bug report was last modified 3 years and 54 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.