keymanapp / keyman

Keyman cross platform input methods system running on Android, iOS, Linux, macOS, Windows and mobile and desktop web
https://keyman.com/
Other
399 stars 112 forks source link

feat(web): proper Unicode emoji handling #4956

Open jahorton opened 3 years ago

jahorton commented 3 years ago

https://github.com/keymanapp/keyman/blob/3b902369efa999e22fcea00d00f27d66487e2853/ios/engine/KMEI/KeymanEngine/Classes/InputViewController.swift#L376-L379

We should certainly have a TODO issue to properly support deletion of emoji...

_Originally posted by @mcdurdin in https://github.com/keymanapp/keyman/pull/4938#discussion_r618037572_

KeymanWeb is currently unable to backspace entire emoji clusters (where one emoji is represented by multiple code points) in the same way that iOS's default 'text document proxy' can with its deleteBackward method. As a result, our mobile app engines can only do piecemeal deletions of such characters right now.

This also holds true for Android, though at least that engine didn't need extra handling in order to enforce context synchronization as part of #4938.

mcdurdin commented 3 years ago

πŸ‘πŸ‘πŸ»πŸ‘πŸΌπŸ‘πŸ½πŸ‘πŸΎπŸ‘πŸΏ

jahorton commented 3 years ago

πŸ‘πŸ‘πŸ»πŸ‘πŸΌπŸ‘πŸ½πŸ‘πŸΎπŸ‘πŸΏ

Note for the future - those emoji are good examples. All but the first will become the first after a single backspace due to the lack of this feature.

mcdurdin commented 3 years ago

Gmail displays those hands like this:

image

πŸ‘ΌπŸ‘ΌπŸΌπŸ‘ΌπŸ»πŸ‘ΌπŸ½πŸ‘ΌπŸΎπŸ‘ΌπŸΏ πŸ™„