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