Font-rendering version 5.3

Can someone form the developers team tell me if the new font-rendering engine will be improved?

In Calc I use the standard Liberation Sans font at 9 pixels, and some letters are really squeezed together. This happened after updating to version 5.3. As I understand a new font-rendering engine has been implemented in version 5.3, but can we expect some improvements on the future versions? This letter-squeezing is not good :frowning:

Click for image

Have a look at the image and especially the word ‘Amsterdam’.

As you can see in the image there is a lot of space between the first A and m.

But then the letters ste are totally squeezed together.

Will this be improved in a future version of LO?

(edit: activated screenshot)

Took a look at it today - appears to just be a hinting artifact due to the small type size on screen.

Zoom your spreadsheet to 200% and the letter spacing issues disappear. The font render engine then has enough pixels to display the font with less shifting to line-up with screen pixels.

And the 9pt font prints just fine.

Info on Hinting and what it tries to solve.
Microsoft Typography - TrueType Hinting

Nothing to fix in LO.

Did you look at my second image? It was fine before, and now it isn’t anymore. Yes, when I zoom in it gets better … but shouldn’t it be fine in the first place, at 100% view? Don’t you agree with that? I don’t know how all of this rendering and hinting works. All I see is that something that was great is now not anymore. The big question is … can it be fixed? :slight_smile:

No, I do not agree.

Read the hinting explanation I linked to above. It explains the issue.

There is nothing to fix. It is working as expected.

You are looking at it from a technical point of view. I am looking at it as being a user. All i see is that there is a difference in rendering before and after version 5.3

Before version 5.3 at normal 100% view the rendering was better than it is now. I’m not looking at technical aspects. I’m just looking at what I am seeing. I assume we both see the same? Then what makes you think the new rendering where letters are squeezed together is better than the earlier type of rendering?

I just compared v5.3.0.3 to v5.2.5.1 and I can see the difference you mention. It does look better on the previous version. The new font rendering engine obviously works differently.

I also tested the Lato font at 9pts on both versions. It looks good on both versions. Lato has very good hinting and it was designed to look good on screen.

Verdana and Tahoma were also designed to look good on screen. Tested Tahoma and it also looks good on both versions. Wine includes a free version of Tahoma

I can understand your frustration, unfortunately it is not likely anything can be done.

The new font rendering engine works differently and it is not going to be changed.

Hmmm … Maybe I will try running Liberation Sans thru some font hinting tools and see if it improves the rendering at 9pts - like Lato and Tahoma

Thank you for taking time to answer my questions. I appreciate that.

I do not have the Lato font installed, and I like to use a font that comes bundled with LO. I like how Liberation Sans looks and that’s why I choose to use it. It really is a shame that the rendering is quite crappy now :-s It used to be great.

I have no idea how these font hinting tools you are mentioning work, but if you can improve it, I myself and presumably many others will be very very happy!!! Thanks in advance!!!

Someone recently asked what fonts are included in LO - and I could find almost nothing at all. So for the last few days I have been working on a LibreOffice Font Guide. When creating the 100 font specimen pages I have found a couple other anomalies to investigate.

Will check-out those and the hinting issue tomorrow.

Many thanks in advance! I truly hope the issue with Liberation Sans will be resolved.

I looked at the word “Amsterdam” on this web page using Linux FireFox 45.7.0 ESR with at a variety of bigger and smaller zoom settings, and it does not appear to have the space after the A, like @LibreGuy’s example image is showing. So I have to agree that the way that LO is drawing fonts on the screen could be better.

Appears that adding “fuzzy” hinting helps.

I added an image below to my original answer showing the before-and-after of adding different hinting to the Liberation Sans font.

Hmmmm … when text that small is rendered onscreen in pixels the rendering engine has to make some adjustments by shifting some pixels left and right, up and down in order to draw the character.

Look at the first letter m - all three verticals are directly inline in the pixels. The rendering engine may have shifted the character to the right to make that happen. When the width of vertical lines in the characters are one pixel or less things can a bit dicey during the rendering. Compromises must be made.

Font files may also contain hinting tables which help improve the look especially at smaller type sizes.
Depends on the font.
Depends on the quality of the hinting.

The rendering engine may also have a lower limit on type size where it stops adjusting due to the limitations of pixels at 72 dpi.

On my phone right now, but will check this out tomorrow on a desktop computer.
I will test Liberation Sans and a font I know is very well hinted down to small sizes, Lato.

Have to look into the features/limitations of the new rendering engine too.


EDIT to add image after discussion in comments above.

Updating the hinting helped!

image description

LibreOffice Calc v5.3.0.3

Line 1: Liberation Sans - 9pt - gap between A and m

Line 2: Arial - 9pt - same gap

Line 3: Liberation Sans KM - 9pt - gap gone! … and letter t looks good. (KM=me)

So the new font rendering engine takes advantage of better hinting. It appears that “fuzzy” hinting works better.


EDIT to add font file

LiberationSansKM-Regular.otf.ods

Just rename the file to: LiberationSansKM-Regular.otf

Install like any other font.

As was discussed on developers’ IRC, it’s intentional that now font layout uses kerning everywhere (unlike what happened previously, e.g., on Windows). Of course, it may require improvements with fonts hinting, as LibreTraining suggests.

Please read my second answer (which should have been a comment actually).

@LibreTraining

Thanks, but I don’t totally understand yet. Will your fix be implemented in the next version of LO? I don’t want a fix that only looks good on my screen, but not on others’. So I hope this update will be a part of the next update to come. Will this be the case?

Your improvement looks certainly better! I do notice though the letter ‘m’ has become smaller in relation to the 5.2 version, so maybe a little more tuning/hinting is necessary?

The “fuzzy” hinting is visually closer to the actual size of the characters.

Regarding any font changes getting into the LO distribution … I am just another user. So getting any improvements into LO would be a long process which I doubt would be successful anyway. And to “do-it-right” would require many more hours to fix/improve multiple font files. Given that it is doubtful that any such changes would actually get adopted, I do not see the value in investing all that time.

Totally wrong.

It’s great that “just another user” created a fix for a font that could make LO visually more attractive. And what a pity that it looks like a “long process” to get that improvement to LO! It’s not. All you need to do is to have a font’s diff and push it to gerrit. No need to e.g. build LO; everything is doable from web interface.

If you have no time to do it, you may at least post the diff here, post license statement, and I’ll do rest for you.

Well … maybe then the two of you can improve the font. Would be very nice! :slight_smile:

OK Mike, I will put it in the ToDo list to look at it a lot closer to see what needs to be done. As I said above I have found some other issues in the fonts while working on the font guide. Need to finish the LO Fonts guide, do the Separate Install GUI guide, and finish the base book index … then I will come back to this.