You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After digging more, I came to notice this one is specific case breaks composition and omitting certain event. In short, below sentence shows current behavior:
ㅇㅏ녕aㅇㅏ녕안녕
when composition is not in progress (composition's started), it does consider first input as single char event, and same for subsequent char event, then omit final consonant char. Once composition is in progress, this no longer occurs and each time insert_text is being called and contains composited char once it's done (and insert_text is not being called while composition is in progress). Non-compositable char (i.e a above) will breaks composition state, so will repro same once start new composition.
first consonant, first vowel is forward into insert_text() as separate character
final consonant for first char composition (if exists) it's omitted and does not forwarded into insert_text
Once composition started after step 1, 2, subsequent composition will work until composition completed and start new one.
Events are as below for reference:
insert_text called
sending out char evt from 0x7fa7bcd56e70
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('ㅇ') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
sending out char evt from 0x7fa7bcd56e70
set_marked_text
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('ㅏ') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
sending out char evt from 0x7fa7bcd56e70
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('녕') }
insert_text called
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('a') }
insert_text called
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('ㅇ') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
set_marked_text
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('ㅏ') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
set_marked_text
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('녕') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
set_marked_text
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('안') }
set_marked_text
set_marked_text
set_marked_text
insert_text called
WindowEvent { window_id: WindowId(Id(140358406186160)), event: ReceivedCharacter('녕') }
The text was updated successfully, but these errors were encountered:
Continuation from #518 (comment).
After digging more, I came to notice this one is specific case breaks composition and omitting certain event. In short, below sentence shows current behavior:
ㅇㅏ녕aㅇㅏ녕안녕
when composition is not in progress (composition's started), it does consider first input as single char event, and same for subsequent char event, then omit final consonant char. Once composition is in progress, this no longer occurs and each time
insert_text
is being called and contains composited char once it's done (andinsert_text
is not being called while composition is in progress). Non-compositable char (i.ea
above) will breaks composition state, so will repro same once start new composition.insert_text()
as separate characterinsert_text
Events are as below for reference:
The text was updated successfully, but these errors were encountered: