Issue 116320 - Unicode "word joiner" (\u2060) won't work appropriate
Summary: Unicode "word joiner" (\u2060) won't work appropriate
Status: REOPENED
Alias: None
Product: Writer
Classification: Application
Component: formatting (show other issues)
Version: OOo 3.2.1
Hardware: PC All
: P3 Trivial (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords: needmoreinfo, oooqa
Depends on:
Blocks:
 
Reported: 2011-01-06 01:59 UTC by siersciuch
Modified: 2013-01-29 21:47 UTC (History)
2 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Example of not working word joiner (u2060) (9.48 KB, text/plain)
2011-01-06 02:03 UTC, siersciuch
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description siersciuch 2011-01-06 01:59:15 UTC
Unicode "word joiner" (\u2060) won't prevent line to break when remaining space
in line becomes close to its minimum.

The "word joiner" should keep two characters together and prevent for example
line break. Hanging letter at the end of the line is not allowed in for example
in polish language.
You can insert "word joiner" (\u2060) when the Complex Text Layout is active
(Tools>Options>...>CTL) from the menu. 
With \u2060 you can prevent single letter to stay at the end of the line by
inserting \u2060 between the letter and <space> that comes after it.

This mechanism doesn't work when the amount of remaining space is close to it's
minimum, AND the \u2060 comes before <space>.

TO REPRODUCE THIS ERROR
1) open plain writer document (all page and font settings should be dafault
(Times New Roman, 12 pt), page margins set to 2,00 cm).
2) enter the text:
Abcde fghij klmno pqrst uv w xyz. A b, cdefg hijk lmnopqr stu: „vwx, yzabc”.
Def, ghijkmno p qr t uvwx yz.
3) enable field shadowing by pressing Ctrl-F8 or from Menu>View>Field Shadings
3) insert (\u2060) after single letter "t" that is at the end of the line
(Menu>Insert>Formatting mark>No-width no break).
4) the grey rectangle will appear in the place of \u2060 and letter "t" will
jump to next line, everything OK so far.
5) put any of these characters anywhere BEFORE u2060: <space>, ".", ",", ":",
";", "i", "j", "l", "t", "/", "\"
6) the \u2060 doesn't work anymore: letter "t"+u2060 jump back to previous line
while the space next to it will be at the beginning of next line.


(Checked under OOWriter 3.2.1 ENG, OOWriter 3.3.0 RC8 PL)
Comment 1 siersciuch 2011-01-06 02:03:58 UTC
Created attachment 75478 [details]
Example of not working word joiner (u2060)
Comment 2 michael.ruess 2011-01-13 11:43:31 UTC
I checked this on OOo 3.2.1 and 3.4-dev on WinXP, but I did not encounter the
described behavior - the letter "t" was stuck to the succeeding space and word
as expected.
On which system do you run OOo? A special Linux distri and its by-packed OOo?
Comment 3 siersciuch 2011-01-13 22:40:14 UTC
I run WinXP SP3.
Please check my attachment (save it on a disk as it shouldn't be read-only) once
again.
I'm able to reproduce this error with the file I attached on all my machines (5
computers, XP SP3 on each) and probably on each computer at my work (different
OS, mainly XP, but some Vista and 7- based computers, too, polish and english
version of openoffice, portable and installed ones) - I've checked this on
moreless twenty machines.

I just see that when you try to copy-paste this "abcde..."-text (I don't believe
that you have written it manually :) ) even as a plain text without formatting,
it is being inserted with paragraph mark at the end of the first line.  Hence,
if you want to copy-paste it please use ^V (Paste>Special>Unformatted text) in a
plain OOWriter document (Times New Roman 12, 2,00 cm (!) margins) and remove the
last paragraph mark so the letter 't' would be at the end of the first line.
Comment 4 siersciuch 2011-01-21 21:30:45 UTC
to polish speakers: the same issue is described here (in 2009):
http://user.services.openoffice.org/pl/forum/viewtopic.php?f=8&t=63&p=345&hilit=sp%C3%B3jniki#p877

the file is attached too (it also works on my machine), and is confirmed on
Ubuntu 9.10, Ooo 3.1.

The author of cited post claims, that the only source file that contains \u2060
(x2060) is in "/i18npool/source/breakiterator/breakiterator_unicode.cxx", method
"BreakIterator_Unicode::getLineBreak()", rows 405--420.
Comment 5 eric.savary 2011-03-21 13:56:49 UTC
@siersciuch:

In your document you have space after u2060 so the "word joiner" cannot work because you have no "word" after it but a space.
This would work if you'd type a character AFTER the word joiner.
Comment 6 siersciuch 2011-04-25 00:05:54 UTC
I had to reopen it. That IS a bug.
If \u2060 doesn't joint the ' ' following it at all, it should not act in different ways depending on the space remaining within single line.
I do understand that the ' ' is not a character but as you see \u2060 works as a "word joiner" until you diminish remaining space with given chars.