Skip to content

[iOS] Filters out prefixed LTR/RTL marks from context.#1756

Merged
jahorton merged 9 commits intomasterfrom
ios-1212-context-bug
May 14, 2019
Merged

[iOS] Filters out prefixed LTR/RTL marks from context.#1756
jahorton merged 9 commits intomasterfrom
ios-1212-context-bug

Conversation

@jahorton
Copy link
Copy Markdown
Contributor

@jahorton jahorton commented May 3, 2019

Fixes #1212.

As it turns out, our own code has been adding Unicode LTR and RTL markers to our extended TextField and TextView class definitions as part of their text properties. This marker was then copied into KMW and used as part of the context, which breaks nul and any nul-adjacent context statements in keyboard code.

To remedy this, we recognize that all text and caret communcation between apps (including Keyman) and the keyboard passes through InputViewController, which can filter out such prefixed codepoints so that they affect neither the context nor the caret position - the latter of which shows up more as an issue when testing with predictive text implementations.

@keyman-server
Copy link
Copy Markdown
Collaborator

OSK renders for Windows

@darcywong00 darcywong00 modified the milestones: P6S5, P6S6 May 6, 2019
Copy link
Copy Markdown
Member

@mcdurdin mcdurdin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks really good. Targeted, documented fix, that will be easy to tweak if the situation ever changes. Well done :) 👍

[iOS] Fixes issues with context reset ops.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[iOS] nul and context can interact incorrectly at start of document with system keyboard

4 participants