Subject: 28.1; Some emoji no longer display

From: Howard Melman <[email-masked]>
Date: Sat, 16 Apr 2022 09:07:08 -0400

(I normally use the macport but I was able to reproduce this on vanilla
emacs 28.1 from emacsformacosx so please forgive if I get some details
wrong.)

Using emacs -Q on MacOS 11.6.5:

Use C-x 8 RET and select FORK AND KINFE WITH PLATE

I don't actually see the character on vanilla emacs but if I put point
before it the cursor displays a bit wider if that makes sense.  On the
macport I see tofu.

C-u C-x = with point just before the character shows:

================

             position: 319 of 319 (100%), column: 0
            character: 🍽 (displayed as 🍽) (codepoint 127869, #o371575, #x1f37d)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0x1F37D
               script: symbol
               syntax: w 	which means: word
             category: .:Base
             to input: type "C-x 8 RET 1f37d" or "C-x 8 RET FORK AND KNIFE WITH PLATE"
          buffer code: #xF0 #x9F #x8D #xBD
            file code: #xF0 #x9F #x8D #xBD (encoded by coding system utf-8-unix)
              display: no font available

Character code properties: customize what to show
  name: FORK AND KNIFE WITH PLATE
  general-category: So (Symbol, Other)
  decomposition: (127869) ('🍽')

There are text properties here:
  fontified            nil

================

Following the instructions in NEWS I did:

(set-fontset-font t 'emoji
    '("Apple Color Emoji" . "iso10646-1") nil 'prepend)

But nothing changed.  Doing this displayed the emoji character:

(set-fontset-font t 'symbol
    '("Apple Color Emoji" . "iso10646-1") nil 'prepend)

I gather the difference is that this character is part of script symbol
and not emoji.  I don't understand the difference and don't know if
emacs is wrong about this or if I should know the difference. In other
places on macOS and iOS it's just an emoji like any other.  I do know
that the instructions in NEWS didn't help me display a character that
displayed fine for me in the macport of Emacs 27.2.

I suspect other "emoji" have the same problem.  On the macport with
vertico and marginalia enabled (so I see completion candidates and
their character displays) I feel that I see tofu for more emojis than 
Emacs 27 displayed (e.g, 0x1F6CF which is BED).

Howard

In GNU Emacs 28.1 (build 1, x86_64-apple-darwin18.7.0, NS appkit-1671.60 Version 10.14.6 (Build 18G95))
of 2022-04-04 built on builder10-14.lan
Windowing system distributor 'Apple', version 10.3.2022
System Description:  macOS 11.6.5

Configured using:
'configure --with-ns '--enable-locallisppath=/Library/Application
Support/Emacs/${version}/site-lisp:/Library/Application
Support/Emacs/site-lisp' --with-modules'

Configured features:
ACL GMP GNUTLS JSON LIBXML2 MODULES NOTIFY KQUEUE NS PDUMPER THREADS
TOOLKIT_SCROLL_BARS ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg rfc6068 epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks
lisp-float-type elisp-mode mwheel term/ns-win ns-win ucs-normalize
mule-util term/common-win tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote threads kqueue cocoa ns multi-tty
make-network-process emacs)

Memory information:
((conses 16 50130 8613)
(symbols 48 6722 2)
(strings 32 18540 1579)
(string-bytes 1 611343)
(vectors 16 15159)
(vector-slots 8 455175 12837)
(floats 8 21 40)
(intervals 56 209 0)
(buffers 992 11))

-- 

Howard