Open mcdurdin opened 2 years ago
cross link to LDML normalisation #9468
c.f. #3306.
Moved from https://github.com/keymanapp/keyman/issues/9598 :
(One further wrinkle: even if backspacing is built into the keyboard, you are going to see divergent behaviour on backspace when switching between different language keyboards. Probably not a major problem though.)
A difference in backspacing seems fine when switching keyboards or languages...it seems MUCH weirder with the same keyboard and same language in the same writing system inside the same word, right? Maybe others don't lose sleep over this, but how did we get to a place where users accept that "témɛ́" takes 5 backspaces and "témá" takes 4?
Anyways...back to something practical. I support global output normalization. This is the way.
I'd suggest that the KB developer sets a default and the user can override it. If someone did want NFC from the Cameroon Keyboard (which is orthography-based and not language-based), I'd prefer automagic output normalization rather than writing a separate keyboard to compose the 101 composed possibilities out out of 17,600 theoretical base+1-3 diacritic combinations. We could make everyone happy if composition was configurable by the user.
Automagic normalization of the context (the parts preceding the cursor) would be a gamechanger! If this existed, I could get my backspacing without extra rules.
What are the chances that automatic normalization of output and context could make it into LDML keyboards?
@MattGyverLee
What are the chances that automatic normalization of output and context could make it into LDML keyboards?
It’s planned already to be part of the spec, at CLDR-16943
Automagic normalization of the context (the parts preceding the cursor) would be a gamechanger! If this existed, I could get my backspacing without extra rules.
What are the chances that automatic normalization of output and context could make it into LDML keyboards?
All of this is planned for LDML and will in future percolate down into KMN as well.
Is your feature request related to a problem? Please describe.
Per Keyman Developer 14 release video feedback -- automatic normalization support would be very useful, that is both: handling NFC and NFD transparently in context, and targeting a specific normalization form for output.
Describe the solution you'd like
This would require changes to Keyman Core and KeymanWeb, along with appropriate flags in keyboards (for default output normalization) and possibly advanced user interface to allow for normalization mode selection.
Describe alternatives you've considered
It is possible to define multiple rules that handle NFC and NFD context, but tedious. It is more difficult to handle partially normalized context by defining multiple rules -- somewhat impractical.