Subject: bug#56323: 29.0.50; [v2] Add new customisable phonetic Tamil input method

From: Eli Zaretskii <[email-masked]>
Date: Fri, 01 Jul 2022 21:16:13 +0300

> From: Visuwesh <[email-masked]>
> Cc: [email-masked]
> Date: Fri, 01 Jul 2022 22:07:38 +0530
> 
> >>     (sort '("b" "z" "c" "n" "a" "aa" "p")
> >>           (lambda (x y)
> >>             (let ((cp '(("a" . 0) ("b" . 1) ("c" . 2) ("d" . 3) ("e" . 4)
> >>                         ("f" . 5) ("g" . 6) ("h" . 7) ("i" . 8) ("j" . 9)
> >>                         ("k" . 10) ("l" . 11) ("m" . 12) ("n" . 13) ("o" . 14)
> >>                         ("p" . 15) ("q" . 16) ("r" . 17) ("s" . 18) ("t" . 19)
> >>                         ("u" . 20) ("v" . 21) ("w" . 22) ("x" . 23) ("y" . 24)
> >>                         ("z" . 25))))
> >>               (< (or (assoc-default x cp) 10000)
> >>                  (or (assoc-default y cp) 10000)))))
> >> 
> >> and the sorted list comes out as ("a" "b" "c" "n" "p" "z" "aa")
> >> which is exactly what I desire.  I hope this is clear enough.
> >
> > The above just gives each letter its order in the alphabet.  But if
> > that is what you wanted, string-lessp (or even just direct comparison
> > of characters) would have worked for you.  So there's still something
> > important missing from your description, I think.
> >
> 
> Unfortunately, string-lessp does not do the job.  (string-lessp "ஞ" "ஜ")
> should return t but it returns nil probably because ஞ's codepoint is
> 2974 and ஜ's codepoint is 2972.  But ஜ is not even part of the "core"
> Tamil characters and hence should come at last.  This is why I went with
> defining an alist with the _actual_ order of the characters.

Please tell what is the actual order of the characters.  That is,
where is that order defined, and by what criteria?

I'll look into the other issues later.