m17n-list
[Top][All Lists]
Advanced

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

[m17n-list] Backspace issues in bn-Disha in some applications


From: Sayak Sarkar
Subject: [m17n-list] Backspace issues in bn-Disha in some applications
Date: Sat, 6 Apr 2013 17:56:54 +0530

Hi,

I need some help with this rather weird issue that I'm encountering with bn-Disha: On certain applications such as LibreOffice, the backspacing ceases to function while using bn-Disha.

The input method employs the use of state definition to modify the default phonetic behavior of backspace to a visual behavior based upon certain conditions as follows:-

(backspace (set m @-1)                                                         ; M is the previous character (possibly pre-vowel)
    (set b @-2)                                                                        ; B is the previous consonant (possibly consonant)
    (cond                                                                                ; check if the input buffer is currently empty
        ((< m 0)
            (set m 0)))                                                                 ; dummy input to do nothing
     (delete @-1)                                                                     ; delete the previous character
     (cond
         ((& (| (= m 0x09BF) (= m 0x09C7) (= m 0x09C8)) (> b 0)) ; check whether M is a pre-vowel
             (cond
                 ((= flag 0)                                                             ; check if the pre-vowel has been processed
                     (delete @-1)                                                     ; delete the previous consonant
                     (cond
                         ((= @-1 0x09CD)                                          ; check if the previous character is a halant, i.e. if the previous characters were conjoined
                             (delete @-2))))))                                        ; delete halant as well as the previous consonant
     ((& (| (= m 0x09CB) (= m 0x09CC)) (> b 0))                         ; check whether M is ো / ৌ
         0x09C7                                                                        ; insert ে
         (commit)))                                                                    ; commit the split vowel break
      (set flag 0))                                                                     ; reset the pre-vowel flag

This logic works perfectly fine in m17n-edit as well as text editors such as Gedit, browsers such as Firefox and most other application. However it seems that some applications fail to support a such a modified behavior for Backspace. This is where I need some help in finding a possible workaround for this scenario. It would be great if anyone from from this list can check this issue and give me some suggestions on how to resolve it.

Regards,
Sayak

[P.S.: The source file for bn-Disha can be found at: https://github.com/sayak-sarkar/Disha/blob/master/bn-disha.mim ]

--
About Me:http://about.me/sayak_sarkar
Twitter: http://twitter.com/sayak_sarkar
Blog: http://sayaksarkar.wordpress.com

reply via email to

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