Created attachment 64732 [details] test document Problem description: Linux Libertine G by default handles the standards ligatures, like ff, ffi, ffl, tt. On hyphenated words, the ligature is not omitted. Using the test text "Lorem ipsum differenza" I get this beaviour: Lorem ipsum diff- ferenza while it should be: Lorem ipsum dif- ferenza Linux Libertine offers a variant, "Linux Libertine G:ligc=1" which should correct ligatures on hyphenated words. But apparently it is ignored on the latest version of Libreoffice. Note: I'm using the Italian hyphenation. Steps to reproduce: 1. Enable hyphenation on the current paragraph 2. Set "Linux Libertine G:ligc=1" as the current font 3. Paste same test text that gets hyphenated on a standard ligature Current behavior: A ligature is added before the hyphenation line. Expected behavior: No ligature should be added. Platform (if different from the browser): Browser: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:14.0) Gecko/20100101 Firefox/14.0.1 Libreoffice 3.5.5.3 Linux Libertine G version 2012-01-16
Confirmed with LibreOffice 3.6.
*** Bug 52544 has been marked as a duplicate of this bug. ***
Created attachment 77793 [details] English test file Hyphenation of “proofing” in LibreOffice is proofi- ing.
Workaround: put soft hyphen at the bad break point. [Note (another, but related bug): there is no kerning before the hyphen and Graphite ligature replacement before extra characters of a special hyphenation, eg. Hungarian cursive gy ligature in roggyan -> rogy=gyan, second test file attached.]
Created attachment 77854 [details] Not extra, but missing ligature. Automatic hyphen and extra characters before the special hyphenation don't handled by Graphite kerning and ligature replacement.
Laszlo Nemeth committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=56ae7a8c50c4040a7634986a055161b3aeb5819a fdo#52540 fix hyphenation of Graphite ligatures The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Laszlo Nemeth committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=7d1e6cb0564a1eb886fd8f95adbcc7d8b9aa028f&h=libreoffice-4-0 fdo#52540 fix hyphenation of Graphite ligatures It will be available in LibreOffice 4.0.4. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Laszlo Nemeth committed a patch related to this issue. It has been pushed to "libreoffice-4-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=4233b2d5c13887f4b8e68fb59a54aa2b09c9a66b&h=libreoffice-4-1 fdo#52540 fix hyphenation of Graphite ligatures It will be available in LibreOffice 4.1. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Laszlo Nemeth committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=58e1112a6a974b96bb8595e3ee9d08e915d4fd14 fdo#52540 fix Graphite hyphenation (ligat. + combining diac.) The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Created attachment 114118 [details] New test case
László Németh committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e2981019cb7ec3befa79a7544cee3d402f458dbf fdo#52540, fdo#88051: fix Graphite layout It will be available in 4.5.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
László Németh committed a patch related to this issue. It has been pushed to "libreoffice-4-4": http://cgit.freedesktop.org/libreoffice/core/commit/?id=aa543be363ffecf4d8ba9db4b26f0b6e0312b662&h=libreoffice-4-4 fdo#52540, fdo#88051: fix Graphite layout It will be available in 4.4.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
This bug, and it's embarrasingly long chain of related bugs is due to a slightly wider problem than just what comes after and how to limit the damage. What I think is happening is that sometimes Graphite and libreoffice disagree over what text should be in a run. Libo comes up with two short runs and Graphite converts these into a single cluster. Libo calls the graphite_layout to run the first run, which generates a long cluster, which is fine. In the second call for the second run, the first character in the new cluster is rendered as a base character and so the integration code goes: oh look the cluster is in range, include it. What needs to happen is that graphite needs to back up when generating its segment and make sure it picks up previous bases so that the second run that is passed to it is seen as being part of the first run cluster and so nothing is rendered. I've implemented a patch to this end, that also removes László Németh's fine patching to solve the specific problems. I would ask people to apply the patch and test that it does solve all the old problems in a suitably generic way.
Created attachment 114205 [details] patch for fix
Martin Hosken committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=12168aeea91a57e63159c3103c904d630c44c62e fdo#52540 refix graphite layout generally It will be available in 4.5.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Any chance of 4.4.3 promotion for this patch?
Created attachment 115200 [details] Test file with Graphite and non-Graphite hyphenation
Unfortunately, it seems, the patch results bad hyphenation position, eg. "proofi-ng" instead of "proof-ing", see in the attached test file and screen shot. @Martin: I have checked a recent master with your patch, sorry for my late check!
Created attachment 115202 [details] screen shot about the last (reintroduced?) bad break position
Comment on attachment 115202 [details] screen shot about the last (reintroduced?) bad break position Bad Graphite (above) and correct non-Graphite break positions
@Martin, sorry, I reopened this Graphite bug a month ago, but I didn't notice, that you aren't in the CC list of the bug. It seems, this bug is a side effect of your fix for the Bug 62846. Could you help to fix this one? Thanks in advance, Laszlo
Created attachment 116722 [details] hyphenation seems OK I may well be missing something but building today from master seems to work for me.
(In reply to martin_hosken from comment #22) > Created attachment 116722 [details] > hyphenation seems OK > > I may well be missing something but building today from master seems to work > for me. @Martin: For me, too, thanks for checking! I will check with a recent libreoffice-5-0, too, and close this issue. Unfortunately, it seems, there is a bigger problem now, LibreOffice has lost conditional Graphite feature support, for example, extended font name "Linux Libertine G:smcp=1" doesn't result small capitals. I will bibisect it soon, and report the problem.
It seems, the lost conditional Graphite feature support is related to the GTK3 transition of master. In the master branch, start LibreOffice with the following parameter to reproduce the ligature hyphenation problem of libreoffice-5-0 (this fixes the lost optional features, for example, the extended font name "Linux Libertine G:smcp=1" will result small capitals again): SAL_VCL_PLUGIN=gen instdir/program/soffice
@Martin: I have reverted your commit "fdo#52540 refix graphite layout generally" in libreoffice-5-0 to fix the hyphenation for LO 5.0: https://gerrit.libreoffice.org/#/c/16755/ The master still have the hyphenation problem.
Please don't. That patch fixes way more problems than just not fixing this one. Please put it back. If that patch doesn't fix this problem (as you say, it doesn't introduce it). That is no reason to kick it out. It's every reason to look deeper. If you remove this patch it is up to you now to fix all the bugs that that patch fixed in addition to this one. Those bugs are now yours to fix and to do so in a timely fashion. I am not at all pleased that you have done this without any kind of diagnosis that these patches are causing a problem. Please put the patches back, as soon as possible.
In fact, I will go further. The patch does seem to fix 52540. You stated in comment 23 that the problem was fixed. You then introduce a different issue (that I suspect has nothing to do with the patch) and rip out a perfectly good solution to the actual bug because it doesn't fix a different issue. I strongly suggest you put the patch back and then raise a separate issue for disabling graphite for a particular font or whatever under a different bug number rather than hijack an existing bug and its fix and holding it to ransom. If not, then you have the responsibility of solving this bug, all the other bugs that reference this bug that are fixed by this patch and also the new issue you raise, all on your own. Alternatively, put the patch back, raise a new bug and I'll take a look. Of course my understanding of this issue and the others may be wrong, in which case I am happy to be enlightened.
László Németh committed a patch related to this issue. It has been pushed to "libreoffice-5-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=eef0577c5e90ca5c48d58793945d2d8684644cc0&h=libreoffice-5-0 tdf#52540 Revert "fdo#52540 refix graphite layout generally" It will be available in 5.0.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
@Lazlo can we set back status to fixed after your last committ?
Migrating Whiteboard tags to Keywords: (bibisectNotNeeded)
Created attachment 126974 [details] ligature hyphenation test document Hi, The LibreOffice still can't handle the hyphenation correctly with Linux Libertine G. I attached a test document with tt, ff, fb, fl and fi ligatures. Linux Libertine G version 5.1.3 LibreOffice 5.1.4.2 Xubuntu 16.04.1
Setting Assignee back to default. Please change it back if you're still working on this issue
Adding Khaled Hosny to CC list. As font specialist maybe he knows something helpful. No changes since summer of 2015.
If I change the font size in https://bugs.documentfoundation.org/attachment.cgi?id=77854 or https://bugs.documentfoundation.org/attachment.cgi?id=115200 I get hyphenation in: Version: 6.2.5.0 Build ID: 9883e6d6b2d958db6253e7b973987bb92094bd0d CPU threads: 6; OS: Mac OS X 10.14.6; UI render: GL; VCL: osx; Locale: en-EG (en_EG.UTF-8); UI-Language: en-US Calc: threaded