Subject: 27.0.91; Add default fontset setup for "Symbols and Pictographs Extended-A"

From: Kévin Le Gouguec <[email-masked]>
Date: Sun, 07 Jun 2020 15:43:40 +0200

Hi,

IIUC, "Symbols and Pictographs Extended-A"[1][2] is a new Unicode block
that showed up in version 12.0 and extends the "Supplemental Symbols and
Pictographs" block.

Since we use Symbola for the latter, I figure it wouldn't hurt to also
use this font for the former?  AFAICT Symbola covers the whole block[3].
Here is a patch to that effect:

>From 8d072a05797a72f757b212939bc548911cced9d2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?K=C3=A9vin=20Le=20Gouguec?= <[email-masked]>
Date: Sun, 7 Jun 2020 13:55:10 +0200
Subject: [PATCH] Use Symbola to cover "Symbols and Pictographs Extended-A"

This Unicode block was added in version 12.0 and extends the
"Supplemental Symbols and Pictographs" block.  Symbola covers all
characters in this block.

* lisp/international/fontset.el (setup-default-fontset): Add "Symbols
and Pictographs Extended-A" to the subgroups covered by Symbola.
---
 lisp/international/fontset.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lisp/international/fontset.el b/lisp/international/fontset.el
index 23abb0d0a9..f3657c151f 100644
--- a/lisp/international/fontset.el
+++ b/lisp/international/fontset.el
@@ -870,7 +870,8 @@ setup-default-fontset
              (#x1F780 . #x1F7FF)	;; Geometric Shapes Extended
              (#x1F800 . #x1F8FF)	;; Supplemental Arrows-C
              (#x1F900 . #x1F9FF)	;; Supplemental Symbols and Pictographs
-             (#x1FA00 . #x1FA6F)))	;; Chess Symbols
+             (#x1FA00 . #x1FA6F)	;; Chess Symbols
+             (#x1FA70 . #x1FAFF)))	;; Symbols and Pictographs Extended-A
     (set-fontset-font "fontset-default" symbol-subgroup
                       '("Symbola" . "iso10646-1") nil 'prepend))
   ;; Box Drawing and Block Elements
-- 
2.26.2

(Will followup with an updated patch as soon as I get a bug number.)

FWIW, I found out about this block after

- hearing that Unicode 13.0 included new emojis,
- waiting for an updated version of Symbola to be released[4],
- trying to insert some of the new emojis in Emacs,
- noticing that some of them (e.g. 🩴 U+1FA74, 🪗 U+1FA97, 🫕 U+1FAD5)
  are not displayed (C-u C-x = says "display: no font available",
  despite Symbola covering them).
- going straight to fontset.el to understand why Symbola wasn't picked
  automatically.

Of course, users can work around this with:

    (set-fontset-font t '(#x1FA70 . #x1FAFF) "Symbola" nil 'append)

Thank you for your time.

[1] https://www.unicode.org/charts/PDF/Unicode-13.0/U130-1FA70.pdf
[2] https://en.wikipedia.org/wiki/Symbols_and_Pictographs_Extended-A
[3] https://dn-works.com/wp-content/uploads/2020/UFAS-Docs/Symbola.pdf
    p.14
[4] https://dn-works.com/ufas/

In GNU Emacs 28.0.50 (build 32, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
 of 2020-05-30 built on my-little-tumbleweed
Repository revision: 780f674a82a90c4e3e32583059b498bfa57e4a06
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: openSUSE Tumbleweed

Configured using:
 'configure --with-xwidgets --with-cairo'

Configured features:
XPM JPEG TIFF GIF PNG RSVG CAIRO SOUND GPM DBUS GSETTINGS GLIB NOTIFY
INOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF
ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS XWIDGETS JSON
PDUMPER LCMS2 GMP

Important settings:
  value of $LC_CTYPE: en_US.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix