From 3da9fa875bbfceee41df38d9f97e06013484a791 Mon Sep 17 00:00:00 2001 From: Gregory Heytings Date: Thu, 28 Oct 2021 20:58:02 +0000 Subject: 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. --- lisp/language/misc-lang.el | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'lisp/language/misc-lang.el') 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) -- cgit v1.2.3 From 08de83853176bfeec9828863711d52a0d7e9416b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 29 Oct 2021 10:41:33 +0300 Subject: ; Improve commentary in the last change * lisp/language/misc-lang.el: Minor copyedits of the commentary regarding Egyptian hieroglyph support. --- lisp/language/misc-lang.el | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'lisp/language/misc-lang.el') diff --git a/lisp/language/misc-lang.el b/lisp/language/misc-lang.el index de4f092dc13..c8a4821abf7 100644 --- a/lisp/language/misc-lang.el +++ b/lisp/language/misc-lang.el @@ -193,14 +193,19 @@ thin (i.e. 1-dot width) space." #x13437 (list (vector "\U00013437[\U00013000-\U0001343F]+" 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 + ;; "Normal" hieroglyphs, for fonts that don't support the above + ;; controls, but do shape sequences of hieroglyphs without the + ;; controls. + ;; FIXME: As of late 2021, Egyptian Hieroglyph Format Controls are + ;; not yet supported in existing fonts and/or 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, as described in section 11.4 "Egyptian + ;; Hieroglyphs" of the Unicode Standard, the five lines below (which + ;; allow composition of hieroglyphs without formatting controls + ;; around) can be removed, and the entry in etc/HELLO can be ;; restored to: - ;; Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖) 𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋 + ;; Egyptian Hieroglyphs (𓂋𓐰𓏤𓈖𓆎𓅓𓏏𓐰𓊖) 𓅓𓊵𓐰𓐷𓏏𓊪𓐸, 𓇍𓇋𓂻𓍘𓇋 (set-char-table-range composition-function-table '(#x13000 . #x1342E) -- cgit v1.2.3