Date: prev next · Thread: first prev next last
2016 Archives by date, by thread · List index


Hi Michael,

Am 07.03.2016 um 15:29 schrieb Michael Meeks:
Hi Armin,

        Interesting mail; please do CC me on replies =)

On Fri, 2016-03-04 at 11:25 +0100, Armin Le Grand wrote:
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.
        If we could cache de-compositions of primitives instead of constantly
re-generating them, I think it'd be great to have a list of glyphs and
positions for a given string - continually re-shaping the same text as
we measure, render, etc. as we currently do seems (to me) particularly
pointless and inefficient - particularly when you have some really
complex text shaper.

AFAIK Text primitives are currently not decomposed at all, they are all directly handled in the VCL-Renderer. If they would be decomposed, they would be fully buffered, that is the default for primitives. An external renderer would also handle them directly, so also no need to decompose. If needed, results can be buffered at the primitive itself. All possibilities are given.


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.
        Sure - abstraction is nice; but not having to abstract - by sharing
more of the rendering infrastructure is even more ideal IMHO =)

Abstraction is of course a question of weighting. This abstraction is for 'hiding' FontLayout from OutputDevice - a separation that is missing from the beginning. It is just hiding stuff, not even virtual function calls involved.


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'.
        Hmm; I'm not so convinced that with today's higher-dpi screens and
better rendering / hinting algorithms there is so much in it. ClearType
is rather (oddly) situation specific too - mostly good for mostly black
text on a mostly white background ;-) Amusingly - I wanted to demo that
so I fired up Office 2016 on Windows 7:

        https://people.gnome.org/~michael/office2016.png

        Not knowingly configured Office at all since I installed it. Notice
that this is indeed a ClearType setup - cf. the Calibri preview in the
widget. If I was a betting man, this would be down to the horrible
complaints that people no doubt make - since copy/pasting eg. formulae
between word & excel these days results in a bitmap - which used to be
complete with false colour but ... no time for a more systematic test.

Luckily indeed this gets less important with growing resolution. Still - I am convinced that it is expected that we use the best FontRendering on each system.


        ATB,

                Michael.


--
--
ALG (PGP Key: EE1C 4B3F E751 D8BC C485 DEC1 3C59 F953 D81C F4A2)


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.