https://bugs.documentfoundation.org/show_bug.cgi?id=84521

Pierre-Eric Pelloux-Prayer <pell...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #114564|0                           |1
        is obsolete|                            |

--- Comment #18 from Pierre-Eric Pelloux-Prayer <pell...@gmail.com> ---
Created attachment 114565
  --> https://bugs.documentfoundation.org/attachment.cgi?id=114565&action=edit
naive patch

(sorry about the duplicate previous comment)

Had a quick look at this issue.
AFAIU the problem is indeed in the fallback code of
OutputDevice::GetTextOutlines().

This code seems to be barely used (if ever) on Linux so I'm not sure it gets a
lot of attention.

The bug cause is an invalid scaling value computed in text.cxx:
    double fScaleX = static_cast< double >(nOrgWidth) / nWidth;
    double fScaleY = static_cast< double >(nOrgHeight) / nHeight;

If you remove the call to:
    aFont.SetSize( Size( 0, GLYPH_FONT_HEIGHT ) );
a few lines above this will fix the issue.

Another solution would be to drop (all?) this fallback code and make sure that
the CoreText backend works properly.

The attached patch does this in a naive way (and it fixes the issue). Basically
instead of propagating CT errors up, it will catch them and ignore the
problematic glyph.

Any CT expert to help?

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to