Skip to content
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

[windows] Keyman Desktop and FLEx have trouble on 128 character boundary when editing #727

Closed
mcdurdin opened this issue Apr 4, 2018 · 6 comments
Labels
bug compatibility Issues in interactions between Keyman and a specific app or group of apps, e.g. incorrect output windows/
Milestone

Comments

@mcdurdin
Copy link
Member

mcdurdin commented Apr 4, 2018

Per report via mailing list.

For example, enter the string 1234567_10_234567_20_234567_30_234567_40_234567_50_234567_60_234567_70_234567_80_234567_90_23456_100_23456_110_23456_120_234567890 (130 characters long).

If I put the insertion point between the "5" and the "6" in the final copy of the string, I can type ";" + "n" to get "ŋ". And I can press backspace to get rid of that character. But if I put the insertion point between the "6" and the "7", typing ";" + "n" gives me ";n", and if I type Backspace at the end of those characters, nothing happens. I can, however, hit left arrow twice and Delete twice to get rid of those characters.

@mcdurdin mcdurdin added bug windows/ compatibility Issues in interactions between Keyman and a specific app or group of apps, e.g. incorrect output labels Apr 4, 2018
@mcdurdin
Copy link
Member Author

Keyman 10.0.1055.0 and FLEx 8.3.11

@mcdurdin
Copy link
Member Author

I investigated this issue on a Chiang Mai - Bangkok flight. For debug purposes, I limited the retrieval of the context from Keyman to 4 characters left of the cursor. Keyman's logging shows that with the cursor at any point between 4 and 127 characters, the 4 characters are retrieved without issue. However, when at the 128 character boundary, it fails to retrieve. Specifically, Keyman constructs a range by cloning the current selection range, then shifts it back by 4 characters. FieldWorks reports success on all these steps. Then, Keyman calls range->GetText, which succeeds but returns an empty string (and cFetched == 0), instead of the 4 characters expected.

This seems like a bug in FLEx? I cannot reproduce this problem in Word or other TSF-aware apps.

@mcdurdin mcdurdin added this to the 10.0-stable milestone Apr 24, 2018
@mcdurdin mcdurdin modified the milestones: 10.0-stable, P3S3 May 7, 2018
@mcdurdin mcdurdin changed the title Keyman Desktop and FLEx have trouble on 128 character boundary when editing [windows] Keyman Desktop and FLEx have trouble on 128 character boundary when editing May 7, 2018
@mcdurdin mcdurdin modified the milestones: P3S3, Waiting-external May 8, 2018
@mcdurdin
Copy link
Member Author

Tested against Language Explorer 9.0.1.43235 in Baseline view, using sil_ipa keyboard attached to Icelandic locale with test string as above, typing e< between final 6 and 7 gives but between final 7 and 8 gives 7e<8 and then backspace also does not work. So no change in behaviour.

@mcdurdin
Copy link
Member Author

@jasonleenaylor @KenZook tagging you in this as it relates to FLEx.

@marksvc
Copy link

marksvc commented Jun 25, 2018

This should be fixed in FW 9.0 built after 2018-06-22. We refined and fixed how GetText behaves, specifically to return better pacpNext and pcchPlainOut values when working with NFD.

@mcdurdin
Copy link
Member Author

I tested with FW 9.0.2.43273 2018/06/22 (32 bit) and confirm that this appears resolved.

@mcdurdin mcdurdin modified the milestones: Waiting-external, P3S6 Jun 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug compatibility Issues in interactions between Keyman and a specific app or group of apps, e.g. incorrect output windows/
Projects
None yet
Development

No branches or pull requests

2 participants