m17n-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Option to choose western numerals in Indic input methods?


From: Tom T
Subject: Re: Option to choose western numerals in Indic input methods?
Date: Wed, 2 Aug 2023 13:24:07 -0400

Hi, 

I think this would be a good idea for Tibetan input, as they sometimes mix the numeral system, e.g. when writing Western calendar dates they often use Roman numerals. 

Best wishes, Tom Troughton

On Wed, Aug 2, 2023, 13:02 Mike FABIAN <mfabian@redhat.com> wrote:

Recently somebody reported this issue against ibus-m17n:

https://github.com/ibus/ibus-m17n/issues/60

> when selecting an indic input method like 'hindi', 'telugu', one automatically
> gets numerals too in those languages. Most of these people have adopted
> the western numerals, therefore there should be an option allowing or
> disabling the chosen language numerals. That is how it is in latex, and libreoffice

> There should be an option locking numerals to western only

I suggested to add such an option to each of the Indic input methods.
As I showed in this example:

https://github.com/ibus/ibus-m17n/issues/60#issuecomment-1623719128

For te-itrans.mim the change to add that option would look as in the
diff below. I could easily add such a new option to **all** Indic input
methods. By default the option `ascii-digits` would be 0, i.e. by
default the input methods would produce native language digits as
before. But one would have the option to choose to use western digits
instead.

What do you all think? Is this a good idea? Should I do it?

The changes would like like in this example:

--- /usr/share/m17n/te-itrans.mim
+++ /usr/share/m17n/te-itrans.mim   
@@ -30,6 +30,12 @@

 (title "క")

+(variable
+ (ascii-digits
+  (_"If this variable is 0 (the default), this input method uses Telugu digits.
+If this variable is 1, ASCII digits are produced.")
+  0 0 1)) ; ((NAME [DESCRIPTION DEFAULT-VALUE VALID-VALUE ...])
+
 (map
  (starter
   (".") ("~") ("#") ("$") ("^") ("*") ((S-\ )) ((C-@))
@@ -122,30 +128,50 @@
   ("H" "ః")
   (".h" "్")                            ; not in ITRANS Telugu table
   ;; (".a" "ఽ")                                ; not in Unicode 4.1
-  ("0" "౦")
-  ("1" "౧")
-  ("2" "౨")
-  ("3" "౩")
-  ("4" "౪")
-  ("5" "౫")
-  ("6" "౬")
-  ("7" "౭")
-  ("8" "౮")
-  ("9" "౯")
+  ("0" (cond ((= ascii-digits 0) "౦")
+             ((= ascii-digits 1) "0")))
+  ("1" (cond ((= ascii-digits 0) "౧")
+             ((= ascii-digits 1) "1")))
+  ("2" (cond ((= ascii-digits 0) "౨")
+             ((= ascii-digits 1) "2")))
+  ("3" (cond ((= ascii-digits 0) "౩")
+             ((= ascii-digits 1) "3")))
+  ("4" (cond ((= ascii-digits 0) "౪")
+             ((= ascii-digits 1) "4")))
+  ("5" (cond ((= ascii-digits 0) "౫")
+             ((= ascii-digits 1) "5")))
+  ("6" (cond ((= ascii-digits 0) "౬")
+             ((= ascii-digits 1) "6")))
+  ("7" (cond ((= ascii-digits 0) "౭")
+             ((= ascii-digits 1) "7")))
+  ("8" (cond ((= ascii-digits 0) "౮")
+             ((= ascii-digits 1) "8")))
+  ("9" (cond ((= ascii-digits 0) "౯")
+             ((= ascii-digits 1) "9")))
   ("#" "్ర")                            ; not in ITRANS Telugu table
   ("$" "ర్")                            ; not in ITRANS Telugu table
   ("^" "త్ర")                           ; not in ITRANS Telugu table
   ("*" "శ్ర")                           ; not in ITRANS Telugu table
-  ((KP_1) "౧")
-  ((KP_2) "౨")
-  ((KP_3) "౩")
-  ((KP_4) "౪")
-  ((KP_5) "౫")
-  ((KP_6) "౬")
-  ((KP_7) "౭")
-  ((KP_8) "౮")
-  ((KP_9) "౯")
-  ((KP_0) "౦")
+  ((KP_1) (cond ((= ascii-digits 0) "౧")
+                ((= ascii-digits 1) "1")))
+  ((KP_2) (cond ((= ascii-digits 0) "౨")
+                ((= ascii-digits 1) "2")))
+  ((KP_3) (cond ((= ascii-digits 0) "౩")
+                ((= ascii-digits 1) "3")))
+  ((KP_4) (cond ((= ascii-digits 0) "౪")
+                ((= ascii-digits 1) "4")))
+  ((KP_5) (cond ((= ascii-digits 0) "౫")
+                ((= ascii-digits 1) "5")))
+  ((KP_6) (cond ((= ascii-digits 0) "౬")
+                ((= ascii-digits 1) "6")))
+  ((KP_7) (cond ((= ascii-digits 0) "౭")
+                ((= ascii-digits 1) "7")))
+  ((KP_8) (cond ((= ascii-digits 0) "౮")
+                ((= ascii-digits 1) "8")))
+  ((KP_9) (cond ((= ascii-digits 0) "౯")
+                ((= ascii-digits 1) "9")))
+  ((KP_0) (cond ((= ascii-digits 0) "౦")
+                ((= ascii-digits 1) "0")))
   ((S-\ ) "‌")                          ; not in ITRANS Telugu table
   ((C-@) "‍"))                          ; not in ITRANS Telugu table


--
Mike FABIAN <mfabian@redhat.com>
睡眠不足はいい仕事の敵だ。



reply via email to

[Prev in Thread] Current Thread [Next in Thread]