Opened 10 years ago

Closed 10 years ago

Last modified 9 years ago

#11545 closed Bug (duplicate)

Issue with korean IME inputs

Reported by: YJSoft Owned by:
Priority: Normal Milestone:
Component: General Version:
Keywords: Cc: public_kb@…

Description

  1. input some korean words
  2. change line by pressing enter key
  3. and try to input some korean words by keyboard
  4. http://wpcdn.yjsoft.pe.kr/kor_error.PNG

Change History (15)

comment:1 Changed 10 years ago by Jakub Ś

Status: newpending
Version: 4.3.2

Could you provide more details here like:

  1. What operating System you use?
  2. How do you set Korean on you system (or have you got it by default)?
  3. Are you getting this in every browser?
  4. Can this be reproduced on our demo page?
  5. Are you perhaps getting same result in plain textarea?

I have checked this in Windows in every browser and didn't get this error. In Windows you set input method in Operating System. Next all you need to do is type.
Input method set on OS can't just change on enter key press.

comment:2 Changed 10 years ago by Piotrek Koszuliński

Resolution: expired
Status: pendingclosed

comment:3 Changed 10 years ago by abbuk

I have managed to reproduce this issue. It happens when the line starts with ​. In our environment this symbol is printed each time a user creates a line break with Shift+Enter. If we remove this symbol then korean words are properly assembled.

comment:4 Changed 10 years ago by abbuk

Cc: public_kb@… added

comment:5 Changed 10 years ago by Piotrek Koszuliński

Resolution: expired
Status: closedreopened

comment:6 Changed 10 years ago by Piotrek Koszuliński

Status: reopenedpending

This unfortunately makes sense - the &#8203 is a filling char which is used by CKEditor to workaround Webkit and Blink's bugs.

But you haven't explained how are you typing Korean characters. Note that we're using US keyboards and layouts, so this is a bit of unknown field for us. Could you explain how does it work in general and how can we setup our systems to reproduce it?

Version 0, edited 10 years ago by Piotrek Koszuliński (next)

comment:7 Changed 10 years ago by Jakub Ś

What @Reinmar has meant is that we of course now how to change system language and input method. What we are in fact interested are exact steps to reproduce this problem:

If I understand correctly you set Korean + IME. You ten type few letters, press enter and get error.

Could you:

  1. Tell us is editor empty or there is some data in it before you start typing?
  2. What do you type?
  3. What do you get after pressing enter?
  4. Can this issue be reproduced on our demo page or standalone default editor freshly downloaded from our page? If yes please provide exact steps to do it.

comment:8 Changed 10 years ago by YJSoft

sorry about my late responce.

1.it was empty

  1. any korean words
  2. line changed. and korean words disassembled.
  3. I upgraded to newest version(4.4.0) and still problem continues..

Video Link or you can go to Link and write something in korean and press the Enter key, and immediately input something in korean.(icons are broken, but it is cache problem)

Last edited 10 years ago by YJSoft (previous) (diff)

comment:9 Changed 10 years ago by abbuk

I think this problem is caused by ZWS character and there's no actual problem with IME, just IME doesn't work correctly when ZWS is in the line. I'll try to get rid of it when user starts typing. If you know a good way how to delete it when user starts typing please share it :)

When I'm reproducing this issue I do the following:

  1. I switch the language to Korean, IME to Hangul
  2. I type some Korean words by pressing G, H, G on the keyboard The output is 홓 (I don't really know what this means :) but the words are correctly assembled into 1 symbol)
  3. I press Shift+Enter to produce line break After I do this my CK creates ​ (ZWS) in the beginning of new line. Editor on demo site doesn't do this however.
  4. I type some Korean words again by pressing G, H, G on the keyboard The output this time is ㅎ ㅗ ㅎ (without spaces). The words are not assembled into single symbol like previous time.

comment:10 Changed 10 years ago by abbuk

My previous comment is not quite correct. Editor on the demo page produces ZWS when I press shift+Enter. However on the demo page IME works correctly even with ZWS in the line. In my environment ZWS causes IME to work incorrectly. I believe this is caused by ZWS because when I press Delete after shift+Enter (this removes ZWS) IME works correctly.

I can't say why the behavior is different, but it looks like the problem is connected to environment specifics.

Do you know if there're any DOM changes when a user starts typing after filling char is created?

P.S. ZWS also causes some issues that can be reproduced on demo page. I'll submit separate bug if it doesn't exist already, but here's an example (Chrome):

  1. Type some text into empty editor on ckeditor.com/demo
  2. Press shift+Enter
  3. Type more text
  4. Press Ctrl+A (select all)
  5. Press Delete

Result: part of text is not deleted

Is it possible to get rid of the ZWS workaround? Or is it possible to remove filling char right after it was created (as if user presses Delete after new line with ZWS is added)?

comment:11 Changed 10 years ago by abbuk

I have fixed this IME issue in my installation by using hidden span instead of text ZWS node:
[-] var fillingChar = element.getDocument().createText( '\u200B' );
[-] element.setCustomData( 'cke-fillingChar', fillingChar );
[+] var fillingChar = element.createElement("span",{attributes:{"class":"cke_zws_replacement"},styles:{display:"none"}});

Now I have to remove all these spans during save, but it looks easier than fixing all zws infrastructure :)

I hope proper fix for zws will come any time soon and I'll be able to get rid of this workaround :)

Last edited 10 years ago by abbuk (previous) (diff)

comment:12 Changed 10 years ago by Jakub Ś

Hi,

  1. I have tried your tc steps but didn't get ZWS character. It is possible that your environment is specific. Could you describe which Operating system, server and browser you use (please specify make and version if possible)?
  2. Have you got any custom plugins installed in your browser or in CKEditor? Could you try disabling them, clearing browser cache and recheck?
  3. Your issue looks like the one mentioned here: #10031. I have tried it and starting from CKEditor 4.2 I can't reproduce it. Could you tell me which version of CKEditor you use?

comment:13 Changed 10 years ago by abbuk

Hi,

  1. This is strange that you don't get ZWS. It always appears when you press Shift+Enter in Chrome.

Environment: OS: Windows 8.1, Chrome Version 35.0.1916.114 m To reproduce:

  1. I just go to http://ckeditor.com/demo
  2. delete all contents
  3. then type some characters
  4. press Shift+Enter
  5. and type some more characters.

Don't press Backspace or Delete when you type as this will remove ZWS. To check ZWS I use Chrome dev tools / elements tab. It is important to use Chrome because ZWS is only created when CKEDITOR.env.webkit is TRUE.

  1. As soon as I reproduce ZWS issue on the demo page of ckeditor.com I don't think this is relevant.
  1. The latest version - "4.4.1 (Standard)".

This is odd you can't reproduce. Check the code: http://docs.ckeditor.com/source/selection.html There's a function named createFillingChar. It creates ZWS character when the following condition is TRUE: range.collapsed && CKEDITOR.env.webkit && rangeRequiresFix( range )

comment:14 Changed 10 years ago by Jakub Ś

Resolution: duplicate
Status: pendingclosed

@abbuk thank you very much for your TC as it has helped me to reproduce and update ticket #10031.

I will close this issue as duplicate of #10031 because it is not about IME but about CKEditor not working correctly with this filling character and BR tags.

comment:15 Changed 9 years ago by Piotrek Koszuliński

This issue was not a DUP of #10031 which originally was only about the ZWS appearing in the output data. It is a DUP of #12597 though on which we're working right now.

Note: See TracTickets for help on using tickets.
© 2003 – 2022, CKSource sp. z o.o. sp.k. All rights reserved. | Terms of use | Privacy policy