Bug 49674 - Non-breaking space with variable width
Summary: Non-breaking space with variable width
Status: RESOLVED DUPLICATE of bug 41652
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected)
Hardware: Other All
: medium enhancement
Assignee: Not Assigned
Depends on:
Reported: 2012-05-09 01:49 UTC by Frantisek Erben
Modified: 2012-11-28 14:35 UTC (History)
0 users

See Also:
Crash report or crash signature:

Improper handling of u+2060 in line breaking algorithm (10.43 KB, application/vnd.oasis.opendocument.text)
2012-05-29 06:21 UTC, Jan_J

Note You need to log in before you can comment on or make changes to this bug.
Description Frantisek Erben 2012-05-09 01:49:40 UTC
Current state:
Non-breaking space has fixed width - if you use non breaking space in text which justified alignment, very often occure design disproportion between standard (variable-width) space and non-breaking (fixed-width) space.

Expected state
Non-breaking space should has variable-width by default.
Function of Non-breaking space with fixed width could be saved and entered by another keyboadrd shortcut.

Additional info
Problem does not occure when you use text alignment to left/cenet/right - only when use justified alignment.
Problem occured on all (Win/Mac/Linux) platforms.
Comment 1 Jan_J 2012-05-29 06:21:44 UTC
Created attachment 62223 [details]
Improper handling of u+2060 in line breaking algorithm

In the attached file any attempt to add some spaces in the second line (apart from in the first word) results in moving additional material from the third line back to the second.
Comment 2 Jan_J 2012-05-29 06:22:33 UTC
Instead of changing the current behaviour of the u+00a0 character, it may be considearable to use u+2060 + u+0020 (zero-width-word-joiner plus ordinary space). Unfortunately, the algorithm currently implemented for placing ilne breaks inside a paragraph, behaves oddly in this situation.

This is probably because the usage of u+2060 character is regarded th the final stage of the algorithm loop, and does not take into account the possibility of succeeding space.
See i18npool/source/breakiterator/breakiterator_unicode.cxx file in the source tree, method BreakIterator_Unicode::getLineBreak(), lines 405--420.
Comment 3 Simo Kaupinmäki 2012-09-14 20:29:10 UTC

*** This bug has been marked as a duplicate of bug 41652 ***
Comment 4 Simo Kaupinmäki 2012-09-22 13:42:26 UTC
(In reply to comment #1)
> Created attachment 62223 [details]
> Improper handling of u+2060 in line breaking algorithm

This seems like a separate issue and should probably be filed as a new bug.
Comment 5 Jan_J 2012-11-28 14:35:28 UTC
Filed as https://bugs.freedesktop.org/show_bug.cgi?id=57652