From 3da9fa875bbfceee41df38d9f97e06013484a791 Mon Sep 17 00:00:00 2001 From: Gregory Heytings Date: Thu, 28 Oct 2021 20:58:02 +0000 Subject: [PATCH] Make hieroglyphs display correctly with existing fonts * etc/HELLO: Remove hieroglyph format control characters. * lisp/language/misc-lang.el: Add a rule to compose Egyptian hieroglyphs even without Unicode format control characters. --- etc/HELLO | 2 +- lisp/language/misc-lang.el | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/etc/HELLO b/etc/HELLO index 577c2828ded..8bd489fb401 100644 --- a/etc/HELLO +++ b/etc/HELLO @@ -38,7 +38,7 @@ Czech (čeština) Dobrý den Danish (dansk) Hej / Goddag / Halløj Dutch (Nederlands) Hallo / Dag Efik /ˈɛfɪk/ Mɔkɔm -Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖) 𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋 +Egyptian Hieroglyphs (𓂋𓏤𓈖𓆎𓅓‌𓏏𓊖) 𓅓𓊵𓏏𓊪, 𓇍𓇋𓂻𓍘𓇋 Emacs emacs --no-splash -f view-hello-file Emoji 👋 English /ˈɪŋɡlɪʃ/ Hello diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index a2ca678b2be..de4f092dc13 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -192,7 +192,20 @@ thin (i.e. 1-dot width) space." composition-function-table #x13437 (list (vector "\U00013437[\U00013000-\U0001343F]+" - 0 #'egyptian-shape-grouping)))) + 0 #'egyptian-shape-grouping))) + ;; As of late 2021, Egyptian Hieroglyph Format Controls are not yet + ;; supported in existing fonts and shaping engines, but some fonts + ;; do provide ligatures with which texts in Egyptian Hieroglyphs are + ;; correctly displayed. If and when these format controls are + ;; supported, the five lines below (which cancel the effect of the + ;; above lines) can be removed, and the entry in etc/HELLO can be + ;; restored to: + ;; Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖) 𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋 + (set-char-table-range + composition-function-table + '(#x13000 . #x1342E) + (list (vector "[\U00013000-\U0001342E]+" + 0 #'font-shape-gstring)))) (provide 'misc-lang) -- 2.39.2