ink icon indicating copy to clipboard operation
ink copied to clipboard

The issue of Korean character fragmentation in Inky

Open cheng80 opened this issue 11 months ago • 6 comments

When using Inkle Studio’s narrative scripting language editor, Inky, on a Mac, Korean characters written in Unicode often appear fragmented, making it impossible to display them correctly.

This issue seems to stem from Ink utilizing the NFD (Normalization Form Canonical Decomposition) method for Unicode normalization, rather than NFC (Normalization Form Canonical Composition). To display Korean characters correctly, the NFC normalization form must be used.

cheng80 avatar Jan 23 '25 20:01 cheng80

I tried to reproduce this with

->hangul겺겻겼test->

=== hangul겺겻겼test ===
hangul겺겻겼test
->->

but the above works. Can you send a file that fails?

Also

  1. You should probably submit the issue to: https://github.com/inkle/inky
  2. Autocompletion for unicode is actually not supported since the version of ace editor used in inky does not yet support unicode regex. Because of that I'd recommend using ascii only for symbols like knots and variables.

rhizoome avatar Jan 28 '25 22:01 rhizoome

The tree-siitter-ink project should support unicode fully #934, but I need to implement a language-server based on tree-sitter-ink before it is a full IDE:

rhizoome avatar Feb 04 '25 19:02 rhizoome

This is input issue : Check this video.

https://github.com/user-attachments/assets/a7cf15fe-be8c-484d-bddf-ffd3e7e1c4a8

ffdd270 avatar Feb 14 '25 05:02 ffdd270

This is the Korean input result I expected.

https://github.com/user-attachments/assets/6d756094-9f4e-484b-9944-532c19972602

ffdd270 avatar Feb 14 '25 05:02 ffdd270

That's right. That's the problem. So currently, I work in VS code and only check the results and errors in the Inky editor.

cheng80 avatar Feb 14 '25 07:02 cheng80

Ok. I tested with the virtual unicode entry system in MacOS. It seems to be very different to you using a real korean keyboard. Something like that might be fixable by updating Electron and AceJS. If you want try yourself it isn‘t too difficult.

https://github.com/inkle/inky?tab=readme-ov-file#help-develop-inky

rhizoome avatar Feb 14 '25 10:02 rhizoome