Several fixups for unicode normalization (#16584)
Fixup of #16521
Fixes #11570
Partial fix for #4631
Summary of the issue:
It turns out that rawTextTypeforms on a region may be None, this was an oversight on my end.
cursorPos may also be None.
@burmancomp reported a zero division error in case a string ended with a non breaking space and a space.
Description of user facing changes
No longer errors in the log when getting flash messages in Thunderbird and/or reading messages in WhatsApp UWP.
Description of development approach
Explicitly check for None typeforms and cursorPos, thereby improving readability as well.
Improve the calculateOffsets method in textUtils to ensure it can handle the case as reported by @burmancomp