Hi! I was trying to implement the Kaithi script in Emacs. Everything seems to be working fine except for two characters: Kaithi Number Sign (\u110BD) and Kaithi Number Sign Above (\u110CD), they do not appear when inserted in a buffer, instead it is just whitespace.
According to the Unicode standard, they behave like the Arabic Number Sign (\u0600) which spans numbers. I have attached a render from hb-view
This is what I have written in lisp/language/indian.el
Please tell me what I am doing wrong.
;; Kaithi composition rules
(let ((consonant "[\x1108D-\x110AF]")
(non-consonant "[^\x1108D-\x110AF\x110B9]")
(vowel "[\x110B0-\x110B8\x110C2]")
(anusvara-candrabindu "[\x11080\x11081]")
(virama "\x110B9")
(number-sign "\x110BD")
(number-sign-above "\x110CD")
(numerals "\x966-\x96F"))
(set-char-table-range composition-function-table
'(#x110B0 . #x110B8)
(list (vector
(concat consonant vowel anusvara-candrabindu "?")
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110B9 . #x110B9)
(list (vector
(concat consonant "\\(?:" virama consonant "\\)+"
vowel "*\\|" consonant virama)
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110BD . #x110BD)
(list (vector
(concat number-sign numerals)
1 'font-shape-gstring)))
(set-char-table-range composition-function-table
'(#x110CD . #x110CD)
(list (vector
(concat number-sign-above numerals)
1 'font-shape-gstring))))
In lisp/internation/fontset.el
(kaithi ,(font-spec :registry "iso10646-1" :otf '(kthi nil (rphf))))