Bug 396764

Summary: KTextEditor does not accept soft-hyphen as input
Product: [Frameworks and Libraries] frameworks-ktexteditor Reporter: Tore Havn <veqz>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Status: RESOLVED FIXED    
Severity: minor CC: christoph, loh.tar
Priority: NOR    
Version First Reported In: 5.48.0   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In: 5.62
Sentry Crash Report:

Description Tore Havn 2018-07-22 18:36:38 UTC
I've recently added soft-hyphen as a key on my keyboard layout, and found that Kate does not accept it as input. Hitting the key has no effect in Kate.

I tried the same in LibreOffice Writer and in KWrite.

LibreOffice Writer handles it as expected, and creates a zero-width character in the text, which turns to a hyphen when the word it is in encounters a line break.

KWrite does not react, same as in Kate.
Comment 1 Tore Havn 2018-07-22 18:38:26 UTC
I should of course specify that the soft-hyphen character is U+00AD. (See https://unicode-table.com/en/00AD/)
Comment 2 Lothar 2019-02-22 17:51:18 UTC
I'm working on the wrap stuff since a while...
https://phabricator.kde.org/D19131
...and guess that the char is inserted but not handled yet.

You may try this: Edit&Save in Kate, Load&Look in LibreOffice Writer
Comment 3 Christoph Cullmann 2019-08-27 17:03:56 UTC
Git commit 0bf5522434044c61d266fc47bc127fef23d41e7b by Christoph Cullmann, on behalf of Ahmad Samir.
Committed on 27/08/2019 at 17:03.
Pushed by cullmann into branch 'master'.

Mimic QInputControl::isAcceptableInput() when filtering typed characters

Summary:
Move all input characters filtering out of typeChars() to KateViewInternal
and filter the input before sending it to typeChars().

This increases the scope of unicode characters that users can type in ktexteditor.
For more info see:
QChar documentation
http://www.unicode.org/Public/UNIDATA/UnicodeData.txt

This should fix:
- bug 396764 (typing soft-hyphens)
- bug 366424 (typing "private use" unicode characters)
- Hopefully bug 389796 (typing formatting characters such as ZWNJ)
Related: bug 366424, bug 389796

Test Plan:
Test typing a soft-hyphen char (here I used Compose key + minus + minus + space)
For the two other bugs, ask the users to test...

All unit tests passed

Reviewers: #ktexteditor, dhaumann, cullmann

Reviewed By: #ktexteditor, cullmann

Subscribers: kde-frameworks-devel, kwrite-devel

Tags: #kate, #frameworks

Differential Revision: https://phabricator.kde.org/D23472

M  +1    -17   src/document/katedocument.cpp
M  +1    -1    src/document/katedocument.h
M  +85   -12   src/view/kateviewinternal.cpp
M  +5    -0    src/view/kateviewinternal.h

https://commits.kde.org/ktexteditor/0bf5522434044c61d266fc47bc127fef23d41e7b