Bug 164989 - Alt+X (.uno:UnicodeNotationToggle) returns an incorrect result following a combining character
Summary: Alt+X (.uno:UnicodeNotationToggle) returns an incorrect result following a co...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
25.2.0.3 release
Hardware: x86-64 (AMD64) Windows (All)
: medium minor
Assignee: Mike Kaganski
URL:
Whiteboard: target:25.8.0
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-02 06:20 UTC by Takenori Yasuda
Modified: 2025-02-02 11:01 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Takenori Yasuda 2025-02-02 06:20:03 UTC
Description:
When entering a Unicode value in hexadecimal following a combining character (e.g. Combining Diacritical Marks, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, and so on) and executing .uno:UnicodeNotationToggle, return not the character corresponding to the entered Unicode but the Unicode of the combining character.

Steps to Reproduce:
1.Enter a combining character: e.g. だ (U+305F U+3099, not だ (U+3060)), è (U+0065 U+0300, not è (U+00E8)).
2.Enter a Unicode value in hexadecimal following this character: e.g. 3081 (entered and displayed as "だ3081"), 006E or 6E (entered and displayed as "è006E" or "è6E").
3.Press Alt+X and run .uno:UnicodeNotationToggle.

Actual Results:
だ308U+3099
è006U+0300 or è6U+0300

Expected Results:
だめ
èn


Reproducible: Always


User Profile Reset: No

Additional Info:
We can avoid this issue by entering not XXXX (e.g. 3081) but U+XXXX (e.g. U+3081), or by using the combined character.


Version: 25.2.0.3 (X86_64) / LibreOffice Community
Build ID: e1cf4a87eb02d755bce1a01209907ea5ddc8f069
CPU threads: 8; OS: Windows 11 X86_64 (10.0 build 22631); UI render: Skia/Raster; VCL: win
Locale: ja-JP (ja_JP); UI: ja-JP
Calc: CL threaded Jumbo
Comment 1 Mike Kaganski 2025-02-02 06:30:01 UTC
Repro.
Comment 2 Mike Kaganski 2025-02-02 09:46:46 UTC
https://gerrit.libreoffice.org/c/core/+/181007
Comment 3 Commit Notification 2025-02-02 11:01:34 UTC
Mike Kaganski committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/6d78861299331fdfa51a070ced1ce498ceff342f

tdf#164989: Disallow combining characters when a hex already appeared

It will be available in 25.8.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.