GNU bug report logs - #55319
28.1.50; Abugida not rendered correctly (MacOS)

Previous Next

Package: emacs;

Reported by: Kai Ma <justksqsf <at> gmail.com>

Date: Sun, 8 May 2022 16:23:01 UTC

Severity: wishlist

Found in version 28.1.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Robert Pluim <rpluim <at> gmail.com>
To: Kai Ma <justksqsf <at> gmail.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 55319 <at> debbugs.gnu.org
Subject: bug#55319: 28.1.50; Abugida not rendered correctly (MacOS)
Date: Thu, 12 May 2022 10:36:29 +0200
>>>>> On Thu, 12 May 2022 16:26:49 +0800, Kai Ma <justksqsf <at> gmail.com> said:
    Kai> Thanks. I’ve got it work.

    Kai> Besides the pattern problem, there were two missing pieces:
    Kai> (1) canonical-combining-class, and

Iʼm surprised you needed to override that, but composition has many
dark corners.

    Kai> (2) `compose-'  to actually compose it into one glyph. `font-shape-gstring' alone does not work.

    Kai> This is the result:

    Kai> (defun zbalermorna-setup ()
    Kai>   "Set up the composition rules for zbalermonrna."
    Kai>   (interactive)

    Kai>   (dolist (v (number-sequence #xeda0 #xeda9))
    Kai>     (put-char-code-property v 'canonical-combining-class (encode-composition-rule '(tc . bc))))

    Kai>   (let* ((c "\\([\uED80-\uED97]\\|\uEDAA\\|\uEDAB\\)")
    Kai>          (v "[\uEDA0-\uEDA9]")
    Kai>          (dot "\uED89")
    Kai>          (h "\uED8A")
    Kai>          (pattern1 (concat c v))
    Kai>          (pattern2 (concat v h v)))
    Kai>     (set-char-table-range
    Kai>      composition-function-table '(#xeda0 . #xeda9)
    Kai>      (list (vector pattern2 2 #'compose-gstring-for-graphic)
    Kai>            (vector pattern1 1 #'compose-gstring-for-graphic)
    Kai>            [nil 0 font-shape-gstring]))))

Eli, since these are PUA, can we still add them to Emacs?

Thanks

Robert
-- 




This bug report was last modified 3 years and 15 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.