-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于中文和英文/数字间插入空格的问题 #129
Comments
|
Fire/Fire/FireInputController.swift Line 85 in bad795c
关于计算的说明: 我所理解的 selectedRange 和 markedRangeselectedRange上图是我对 selectedRange 的理解,selectedRange 永远是光标所在的位置,length 按是否有选中文字,如果没有选中就是 0,如果有选中就是选中文字的长度。 markedRangemarkedRange 我理解是标注组字的区域,在英文下其实没有意义,在中文组字时才有意义,所以在英文状态下,我理解它的 location 值应该和 selectedRange 是一致的,在中文模式下,在组字时,length 才有可能为非 0 值。 现实的参差关于我假设的验证,我使用的是 MacOS 内置的备忘录 APP,发现 selectedRange 和我预期是一致的表现,而 markedRange 则有所不同。 探究可以看到不同的 APP 对于输入区域的内容,即使外在表现一致,但是内核可能是完全不一样的。去查找了一下 MacOS 的文档,发现应用确实有这样的能力来重写这些行为,具体可以参考此文档:https://developer.apple.com/documentation/appkit/nstextinputclient 根据此文档,对于那些不遵循常理规范或者对这些规范有自己理解的开发者来说,实现出来的调用可能是不一致的,比如系统的备忘录 APP 和 Chrome 浏览器,那么对于依赖这些 API 实现的输入法来说简直是地狱。 解决方案尚在探索中 |
目前已发现的问题
The text was updated successfully, but these errors were encountered: