Ask Your Question

Revision history [back]

I wonder if the problem might be with the internal co-ordinate system used to render pages, as opposed to the resolution of the actual screen. For instance:

I get a document on a 4K screen, I scale it to "Entire Page". I view it in different desktop scaling factors. the point being that the actual text is being rendered at about the same physical size on the screen, with the same number of pixels available to it, even though the LibreOffice zoom % is different, so with the scaling factors applied, and bearing in mind we shouldn't be scaling any bitmaps here, at any point, the text should look about the same.

You would actually expect that kind of difference if you zoomed in, or out, on text in a single screen mode, and took screenshots.

But remember, the actual display resolution is the same. Ultimately we're outputting text at similar sizes at 3840x2160. There are two scaling factors being applied, the desktop scaling factor and LibreOffice's internal Zoom. But the upshot is that after the scaling has taken place, it has the same number of pixels in which to render the text at about the same size. (Only not the exact same size because of the different amounts of space taken up by window/desktop furniture in the 3 screen modes, so "Entire Page" zoom doesn't produce exactly the same size. But it's close.) So it's not about the resolution of the output device.

But it's not behaving like it has the same number of pixels to render it in. At the higher desktop scaling factors, it looks like it's got fewer pixels to draw into. So the text is blurrier (more anti-aliasing) and the position of the letters is often a bit off, at least horizontally.

It looks like it could be the internal-to-LibreOffice co-ordinate system into which elements on the page are rendered. This would appear to be a fixed resolution. So when the desktop scaling factor goes up, this co-ordinate system is no longer granular enough to accurately position stuff in its space.

eg: if it's an integer (or fixed-point) co-ordinate system, each unit is just too big. The co-ordinate system needs to be considerably more granular, eg: by another decimal point (or I suppose an order of magnitude).

If it's a floating point co-ordinate system, I wonder if we might actually be seeing the effects of floating point inaccuracies being amplified into significance by the desktop scaling factor.

And of course anti-aliasing needs to be directly relative to the actual screen resolution.

I wonder if the problem might be with the internal co-ordinate system used to render pages, as opposed to the resolution of the actual screen. For instance:

I get a document on a 4K screen, I scale it to "Entire Page". I view it in different desktop scaling factors. the point being that the actual text is being rendered at about the same physical size on the screen, with the same number of pixels available to it, even though the LibreOffice zoom % is different, so with the scaling factors applied, and bearing in mind we shouldn't be scaling any bitmaps here, at any point, the text should look about the same.

You would actually expect that kind of difference if you zoomed in, or out, on text in a single screen mode, and took screenshots.

But remember, the actual display resolution is the same. Ultimately we're outputting text at similar sizes at 3840x2160. There are two scaling factors being applied, the desktop scaling factor and LibreOffice's internal Zoom. But the upshot is that after the scaling has taken place, it has the same number of pixels in which to render the text at about the same size. (Only not the exact same size because of the different amounts of space taken up by window/desktop furniture in the 3 screen modes, so "Entire Page" zoom doesn't produce exactly the same size. But it's close.) So it's not about the resolution of the output device.

But it's not behaving like it has the same number of pixels to render it in. At the higher desktop scaling factors, it looks like it's got fewer pixels to draw into. So the text is blurrier (more anti-aliasing) and the position of the letters is often a bit off, at least horizontally.

It looks like it could be the internal-to-LibreOffice co-ordinate system into which elements on the page are rendered. This would appear to be a fixed resolution. So when the desktop scaling factor goes up, this co-ordinate system is no longer granular enough to accurately position stuff in its space.

eg: if it's an integer (or fixed-point) co-ordinate system, each unit is just too big. The co-ordinate system needs to be considerably more granular, eg: by another decimal point (or I suppose an order of magnitude).

If it's a floating point co-ordinate system, I wonder if we might actually be seeing the effects of floating point inaccuracies being amplified into significance by the desktop scaling factor.

And of course anti-aliasing needs to be directly relative to the actual screen resolution.

EDIT:

I looked at OpenOffice.org. It does render the text properly, and consistently. However its HiDPI support appears to be mostly absent. Ironically I think it's working because it doesn't have proper HiDPI awareness. So for instance with desktop scaling at 100%, 200% or 300% the same internal zoom factor produces the same size text on the screen. Of course the rest of the application looks a mess at anything other than 100%.