So the requirement is: When I'm using the arabic input method, and I type a digit, I want Emacs to insert the Hindi character for that digit.
To do this, we can adapt your linked approach to extend an input-method like so:
'(let ((quail-current-package (assoc "arabic" quail-package-alist)))
It's been almost 10 years since the last time I needed to edit a LaTeX document in Russian, but I can relate. :-)
According to the Emacs Lisp Manual every input method should disable key translation and conversion if overriding-local-map is set.
We should be able to rely on this to disable quail conditionally.
In Emacs 24.4 and later (using the new ...
Unfortunately using quail to convert a character from beyond the Basic Latin and Latin-1 Supplement blocks (i.e. anything with a codepoint above 255) is not possible.
Firstly, the quail-translation-keymap, quail-simple-translation-keymap and quail-conversion-keymap (which are used depending on precisely which quail-based input method you use) are assigned ...
Using quail-define-rules is overkill (note the rules, plural, in the function name) — an alternative is quail-defrule (one rule...)
Directly from my scratch buffer
(quail-defrule "á" ["something"])
— note that it's not (quail-defrule "á" "something"), to do what you want the string must be an element of a vector (ref. C-h f quail-defrule RET)...
The d̤ is the only character in there which isn't pre-composed; it's a normal LATIN SMALL LETTER D followed by a COMBINING DIAERESIS BELOW. That makes it a syntax error because a character literal can only be a single character. quail-define-rules will also accept strings so use "d̤" instead.