Bug 984230 - Broken aliasing on small font sizes since version 2.00
Summary: Broken aliasing on small font sizes since version 2.00
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: liberation-fonts
Version: 20
Hardware: All
OS: Windows
unspecified
medium
Target Milestone: ---
Assignee: Pravin Satpute
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-07-13 20:08 UTC by gitne
Modified: 2015-06-30 00:39 UTC (History)
5 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-06-30 00:39:51 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Liberation Mono Regular 1.07.2 (17.13 KB, image/png)
2013-08-02 19:58 UTC, gitne
no flags Details
Liberation Sans Regular 1.07.2 (17.83 KB, image/png)
2013-08-02 20:02 UTC, gitne
no flags Details
Liberation Serif Regular 1.07.2 (17.61 KB, image/png)
2013-08-02 20:04 UTC, gitne
no flags Details
Liberation Mono Regular 2.00.0 (19.15 KB, image/png)
2013-08-02 20:14 UTC, gitne
no flags Details
Liberation Sans Regular 2.00.0 (20.94 KB, image/png)
2013-08-02 20:19 UTC, gitne
no flags Details
Liberation Serif Regular 2.00.0 (20.48 KB, image/png)
2013-08-02 20:22 UTC, gitne
no flags Details
Liberation Mono Regular 2.00.1 (17.37 KB, image/png)
2013-08-02 20:28 UTC, gitne
no flags Details
Liberation Sans Regular 2.00.1 (18.41 KB, image/png)
2013-08-02 20:29 UTC, gitne
no flags Details
Liberation Serif Regular 2.00.1 (17.92 KB, image/png)
2013-08-02 20:31 UTC, gitne
no flags Details
Google Croscore Arimo Regular 1.23 (20.29 KB, image/png)
2013-08-05 13:31 UTC, gitne
no flags Details
Google Croscore Cousine Regular 1.20 (18.90 KB, image/png)
2013-08-05 13:32 UTC, gitne
no flags Details
Google Croscore Tinos Regular 1.23 (19.48 KB, image/png)
2013-08-05 13:35 UTC, gitne
no flags Details

Description gitne 2013-07-13 20:08:51 UTC
The pixel aliasing of glyphs, especially vertical lines/parts is broken since version 2.00 on Windows (renderer). This applies to all Liberation Font types when ClearType is off, i.e. with gray-scale anti-aliasing only. Version 2.00 has incurred aliasing for all font sizes. Version 2.00.1 fixed this by disabling anti-aliasing for sizes < 14pt. Yet, vertical lines/parts and some transitions from curves to lines are still rendered incorrectly or with artifacts.

This may also apply to Fedora GNOME desktops, but it has been observed on Windows first.

Although, I am not a font design specialist, I suppose that this problem exists because version 2.00 is based on Google Crosscore fonts and hinting information for small font sizes is missing.
This is a show stopper for software rendering Libration Fonts on pixel based digital displays. Software packages like LibréOffice are also negatively affected by this issue (although on displays only). Please resolve this issue or revert verion 2.00 and later to beta status.


How to reproduce:
Windows XP/2003
Compare Liberation Fonts version 1.07 to version 2.00.1 for small font sizes < 14pt.

Windows Vista and later
Disable ClearType
Compare Liberation Fonts version 1.07 to version 2.00.1 for small font sizes < 14pt. Version 1.07 has been correctly hinted, hence is perfectly pixel aligned.

Comment 1 Pravin Satpute 2013-07-15 05:25:55 UTC
Thanks for reporting this.

How croscore work with respect to this issue? will be good if you can provide some screenshots.

Comment 2 Pravin Satpute 2013-07-29 05:55:01 UTC
Hi Jacob,

   will be very helpful if you can provide screenshot

Comment 3 gitne 2013-08-02 19:58:20 UTC
Created attachment 782150 [details]
Liberation Mono Regular 1.07.2

Note that all glyphs are properly pixel aligned and hinted.

Comment 4 gitne 2013-08-02 20:02:45 UTC
Created attachment 782153 [details]
Liberation Sans Regular 1.07.2

Note that all glyphs are properly pixel aligned and hinted.

Comment 5 gitne 2013-08-02 20:04:13 UTC
Created attachment 782155 [details]
Liberation Serif Regular 1.07.2

Note that all glyphs are properly pixel aligned and hinted.

Comment 6 gitne 2013-08-02 20:14:06 UTC
Created attachment 782156 [details]
Liberation Mono Regular 2.00.0

Note that small font sizes are rendered with gray-scale anti-aliasing, which is wrong for sizes < 14pt. Vertical strokes are not pixel aligned. This apples for all font sizes (wrong again). It is difficult to see whether hinting is correct, but probably not, because as it seems version 2.00.1 just turns off anti-aliasing for sizes < 14pt (compare to version 2.00.1).

Comment 7 gitne 2013-08-02 20:19:04 UTC
Created attachment 782157 [details]
Liberation Sans Regular 2.00.0

Note that small font sizes are rendered with gray-scale anti-aliasing, which is wrong for sizes < 14pt. Vertical strokes are not pixel aligned. This apples for all font sizes (wrong again). It is difficult to see whether hinting is correct, but probably not, because as it seems version 2.00.1 just turns off anti-aliasing for sizes < 14pt (compare to version 2.00.1).

Do not get yourself confused by the file's wrong internal version number.

Comment 8 gitne 2013-08-02 20:22:07 UTC
Created attachment 782159 [details]
Liberation Serif Regular 2.00.0

Note that small font sizes are rendered with gray-scale anti-aliasing, which is wrong for sizes < 14pt. Vertical strokes are not pixel aligned. This apples for all font sizes (wrong again). It is difficult to see whether hinting is correct, but probably not, because as it seems version 2.00.1 just turns off anti-aliasing for sizes < 14pt (compare to version 2.00.1).

Do not get yourself confused by the file's wrong internal version number.

Comment 9 gitne 2013-08-02 20:28:32 UTC
Created attachment 782161 [details]
Liberation Mono Regular 2.00.1

Note that anti-aliasing is disabled for font sizes < 14pt, which is correct. Though, hinting is missing. Font sizes >= 14pt are anti-aliased, but vertical strokes or vertical glyph positioning is not pixel aligned (as in version 2.00.0).

Do not get yourself confused by the file's wrong internal version number.

Comment 10 gitne 2013-08-02 20:29:43 UTC
Created attachment 782162 [details]
Liberation Sans Regular 2.00.1

Note that anti-aliasing is disabled for font sizes < 14pt, which is correct. Though, hinting is missing. Font sizes >= 14pt are anti-aliased, but vertical strokes or vertical glyph positioning is not pixel aligned (as in version 2.00.0).

Do not get yourself confused by the file's wrong internal version number.

Comment 11 gitne 2013-08-02 20:31:34 UTC
Created attachment 782167 [details]
Liberation Serif Regular 2.00.1

Note that anti-aliasing is disabled for font sizes < 14pt, which is correct. Though, hinting is missing. Font sizes >= 14pt are anti-aliased, but vertical strokes or horizontal glyph positioning is not pixel aligned (as in version 2.00.0).

Do not get yourself confused by the file's wrong internal version number.

Comment 12 gitne 2013-08-02 20:40:14 UTC
> Font sizes >= 14pt are anti-aliased, but vertical strokes or vertical glyph
> positioning is not pixel aligned (as in version 2.00.0).

I meant /horizontal/ glyph positioning, of course.

Comment 13 Pravin Satpute 2013-08-05 07:28:24 UTC
Rather than Liberation 2.00.1 images you have attached Liberation 1.07.2 images. But its fine i understood the problem.

Yes, hinting bytecode is major problem for shifting from Liberation 1.07.2 to Liberation 2.00.0

We need to decide between hinting Vs Glyph coverage.

Fixing hinting bytecode of Liberation 2 does not looks feasible to me. But i will see if with some configuration in GASP table if we can improve it bit more.  

How about Croscore does it gives expected results At small sizes?  though i will check this..

Comment 14 gitne 2013-08-05 12:32:14 UTC
(In reply to Pravin Satpute from comment #13)
> Rather than Liberation 2.00.1 images you have attached Liberation 1.07.2
> images. But its fine i understood the problem.

No, I have attached 1.07.2, 2.00.1, and 2.00.2. Please read the posted comments more carefully. The internal file versioning has not been updated correctly.

The point is, that since version 2.00.0 Liberations Fonts are fatally messed up. There are two problems left since version 2.00.2: Hinting and horizontal positioning of glyphs. It may be that horizontal positioning may be actually the only problem, so that when it is done correctly everything else will fall in place. I cannot tell for sure, because I am not a font designer.

Comment 15 gitne 2013-08-05 13:31:36 UTC
Created attachment 782839 [details]
Google Croscore Arimo Regular 1.23

> How about Croscore does it gives expected results At small sizes?  though i
> will check this..

As one can see Google Croscore is no alternative either. Anti-aliasing is on by default for font sizes < 14pt. Horizontal glyph positioning is not correct either.

Comment 16 gitne 2013-08-05 13:32:37 UTC
Created attachment 782840 [details]
Google Croscore Cousine Regular 1.20

> How about Croscore does it gives expected results At small sizes?  though i
> will check this..

As one can see Google Croscore is no alternative either. Anti-aliasing is on by default for font sizes < 14pt. Horizontal glyph positioning is not correct either.

Comment 17 gitne 2013-08-05 13:35:29 UTC
Created attachment 782841 [details]
Google Croscore Tinos Regular 1.23


> How about Croscore does it gives expected results At small sizes?  though i
> will check this..

As one can see Google Croscore is no alternative either. Anti-aliasing is on by default for font sizes < 14pt. Horizontal glyph positioning is not correct either.

Comment 18 Fedora End Of Life 2013-12-21 15:35:29 UTC
This message is a reminder that Fedora 18 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 18. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '18'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 18's end of life.

Thank you for reporting this issue and we are sorry that we may not be 
able to fix it before Fedora 18 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior to Fedora 18's end of life.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 19 gitne 2013-12-23 13:50:41 UTC
(In reply to Fedora End Of Life from comment #18)
> Package Maintainer: If you wish for this bug to remain open because you
> plan to fix it in a currently maintained version, simply change the
> 'version' to a later Fedora version prior to Fedora 18's end of life.

Thank you for not letting this bug slide.

Anyway, are the any news to report on what kind of action and when it is going to be taken to fix this problem?

Comment 20 Pravin Satpute 2013-12-24 09:35:54 UTC
Due to hinting incompatibility we shifted back to liberation 1.07 in Fedora. 

In long term we need to improve hinting instructions of Liberation 2 and as said earlier that is big task.

Presently not sure when this will happen.

Comment 21 Fedora End Of Life 2015-05-29 09:10:44 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 22 Fedora End Of Life 2015-06-30 00:39:51 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.