Jonathan, I couldn't resist, and ended up trying this out myself: On 19/02/2013, at 3:42 PM, Igor de Oliveira Couto <i...@semperuna.com> wrote:
> For an more polished user experience, you can try developing a script that is > more forgiving when the user mixes upper- and lower-case 'x's, like "Cx" and > "cX". You can also try to develop a script that would do the replacing on > 'textChanged' rather than on 'closeField', but you will then have to use 'the > selectedChunk' and some basic maths in order not to loose the user's > insertion point place in the text, as you replace the characters. I managed to get a 'quick-and-dirty' version working, already. It will still need to be improved quite a bit, and cover cases I haven't thought of, but it seems to be a good starting point. Paste this in the script of a field: on textChanged local tSel put the selectedChunk into tSel set the htmlText of me to xSystemToUnicode(the htmlText of me) select after tSel end textChanged function xSystemToUnicode pHTMLTxt replace "cx" with "ĉ" in pHTMLTxt replace "cX" with "ĉ" in pHTMLTxt replace "Cx" with "Ĉ" in pHTMLTxt replace "CX" with "Ĉ" in pHTMLTxt replace "gx" with "ĝ" in pHTMLTxt replace "gX" with "ĝ" in pHTMLTxt replace "Gx" with "Ĝ" in pHTMLTxt replace "GX" with "Ĝ" in pHTMLTxt replace "hx" with "ĥ" in pHTMLTxt replace "hX" with "ĥ" in pHTMLTxt replace "Hx" with "Ĥ" in pHTMLTxt replace "HX" with "Ĥ" in pHTMLTxt replace "jx" with "ĵ" in pHTMLTxt replace "jX" with "ĵ" in pHTMLTxt replace "Jx" with "Ĵ" in pHTMLTxt replace "JX" with "Ĵ" in pHTMLTxt replace "sx" with "ŝ" in pHTMLTxt replace "sX" with "ŝ" in pHTMLTxt replace "Sx" with "Ŝ" in pHTMLTxt replace "SX" with "Ŝ" in pHTMLTxt replace "uxx" with "ŭ" in pHTMLTxt -- we don't want to have problems replace "uxX" with "ŭ" in pHTMLTxt -- with English words like 'auxiliary'... replace "uXX" with "ŭ" in pHTMLTxt replace "uXx" with "ŭ" in pHTMLTxt replace "Uxx" with "Ŭ" in pHTMLTxt replace "UXx" with "Ŭ" in pHTMLTxt replace "UxX" with "Ŭ" in pHTMLTxt replace "UXX" with "Ŭ" in pHTMLTxt return pHTMLTxt end xSystemToUnicode Then, try typing a sentence in Esperanto in the field, using the x-method, such as: "Mi nomigxas Jocxjo!" The letters should automagically convert from the x-system to the proper, accented characters, as you type. The function above also has built-in 'forgiveness' for mismatching the case of the 'x' - if you type an uppercase 'C' and a lowercase 'x', it will convert it to an uppercase 'Ĉ'. I hope this helps! -- Igor Couto Sydney, Australia _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode