<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hi Thorsten and Michael,<br>
<br>
<div class="moz-cite-prefix">Am 04.03.2016 um 00:43 schrieb Thorsten
Behrens:<br>
</div>
<blockquote cite="mid:20160303234325.GZ2783@thinkpad.thebehrens.net"
type="cite">
<pre wrap="">Hi Michael,
you write:
</pre>
<blockquote type="cite">
<pre wrap=""> Having looked at this heap; and worse - the two different heaps for
Windows text rendering, and also the big pile of strange cross-platform
issues with stacking diacritics, emojis etc. I'm pretty convinced that
we cannot do a good job of consistent text shaping and/or rendering
cross-platform while using the Windows font rendering infrastructure.
</pre>
</blockquote>
<pre wrap="">Yeah, I suppose. But that alone won't fix the kind of issues you show
in your ascii art - as long as so much low-level layouting is still
happening in Writer (dx arrays, kashida filling etc).</pre>
</blockquote>
<br>
On the danger no-one wants to hear it :-) - Primitives. If all text
rendering would use them, all text rendering could be handled in
system-specific renderer implementations.<br>
Similar for layout, I have already 'isolated' text layout stuff
needed for primitive text handling in a class called
'TextLayouterDevice' that has a small number of interface method and
uses OutputDevice in the background. That class can be implemented
system-specific or based on an external tooling dood on all systems.<br>
Rendering can also be system-specific or use such unified external
tooling.<br>
Think about something mixed like: No longer layout each char of a
word, but the whole word. On rendering, check how long would it be
painted, adapt with width zooming slightly to get the same width.
When layout of single word width is done system-independent that
might give good results.<br>
This would require to go forward with converting all EditView
visualizations to use primitives, though.<br>
Just my 2ct :-)<br>
<br>
<blockquote cite="mid:20160303234325.GZ2783@thinkpad.thebehrens.net"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> While we could switch to DirectWrite on windows, which may solve some
of our problems; this will be in itself disruptive.
</pre>
</blockquote>
<pre wrap="">Incidentally - why that?
</pre>
<blockquote type="cite">
<pre wrap=""> So - I believe that we should switch to using harfbuzz and freetype
consistently everywhere. This would have the huge benefit of precise
cross-platform font rendering and metric fidelity, give us a font and
shaping stack that is fully introspectable, drop some legacy Windows API
usage, and allow all development work and fixing on all platforms to
share the same underlying code.
</pre>
</blockquote>
<pre wrap="">I think that promise cannot be kept. Let's evaluate the merit of
switching to some truly great floss libraries based on other aspects -
you're not even getting consistent floating point math between
different CPUs, let alone different operating systems...</pre>
</blockquote>
<br>
Office is mostly a text tool, so from my POV there is no way around
using the *best* font rendering on every system. Having
(well-optimized) ClearType on a system and not using it in an office
application will not be accepted, esp. not when telling 'but that
way it is better on a system you do not use'.<br>
<br>
<blockquote cite="mid:20160303234325.GZ2783@thinkpad.thebehrens.net"
type="cite">
<pre wrap="">
</pre>
<blockquote type="cite">
<pre wrap=""> There will of course also be some corner-cases where we may simply not
be able to replicate the tangled old layout behaviour - which is
(anyway) inconsistent across platforms - but - I think this is a one-off
risk that is well worth taking to get us to a fully consistent, Free
Software rendering stack. It is interesting that Microsoft also used freetype
for their Office / Mac rendering in the recent past =)
</pre>
</blockquote>
<pre wrap="">Oh - got some reference for that? Since I guess for most complaints
about layouting problems I hear about, it's the different between MSO
and LibreOffice, rather than between LibreOffice on different
platforms. ;)
Cheers,
-- Thorsten
</pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
LibreOffice mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LibreOffice@lists.freedesktop.org">LibreOffice@lists.freedesktop.org</a>
<a class="moz-txt-link-freetext" href="https://lists.freedesktop.org/mailman/listinfo/libreoffice">https://lists.freedesktop.org/mailman/listinfo/libreoffice</a>
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">
--
ALG (PGP Key: EE1C 4B3F E751 D8BC C485 DEC1 3C59 F953 D81C F4A2)</pre>
</body>
</html>