bugThe FreeType Project - Bugs: bug #23537, When hintstyle=hintslight,...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #23537: When hintstyle=hintslight, character is rendered incorrectly (tilde as macron)

Submitter:  Simos Xenitellis <simos>
Submitted:  Wed 11 Jun 2008 01:19:26 AM UTC
   
 
Severity:  3 - Normal Item Group:  Incorrect behaviour
Status:  Confirmed Privacy:  Public
Assigned to:  None Open/Closed:  Open
Planned Release:  None

Jump to the original submission

Wed 22 Jul 2020 03:57:22 AM UTC, comment #13: 

All of this is already known, thanks.  Alas, nobody has yet started to improve FreeType as outlined in this bug issue.  Even some years after opening this request I believe this is the only way to fix that.

Werner LEMBERG <wl>
Group administrator
Wed 22 Jul 2020 02:58:30 AM UTC, comment #12: 

It may be of interest that many recommend just disabling auto-hinting to stop this from happening, e.g. https://lifehacker.com/disable-auto-hinting-to-fix-windows-fonts-in-linux-5693492

Mauricio Maluff Masi <mmaluff>
Wed 22 Jul 2020 02:42:49 AM UTC, comment #11: 

I'm seeing this problem a lot when using Arial on Ubuntu. What especially bothers me is that it's not uniform, so for example at 16px the tilde is rendered correctly over n and i, but over other vowels it's rendered as a macron. At 14px they're all rendered as tilde, and at 12 they're all rendered as macrons, which I guess is fine. ñãỹẽĩõũ

Mauricio Maluff Masi <mmaluff>
Sat 14 Jan 2017 08:57:50 AM UTC, comment #10: 
Werner LEMBERG <wl>
Group administrator
Sat 14 Jan 2017 03:59:37 AM UTC, comment #9: 

I've just looked at DejaVu and Liberation fonts. I do not see the problem any more. Can somebody please show how to reproduce it with FreeType 2.7.1?

Alexei Podtelezhnikov <podtelez>
Group Member
Fri 13 Jan 2017 08:58:53 PM UTC, comment #8: 

We don't hint AF_DIR_NONE.

If you have a sinus-like curve, let the vertical maximum correspond to value x, and the minimum to value y.  Normal fonts have horizontal segments (in the auto-hinter sense) at the extremum values, which results in two `edges'.  If |x-y| is less than a certain value, the auto-hinter makes x=y – and this is what should be avoided for tilde-like characters, but what you would expect for larger structures (cf. the Type 1`flex' feature).

Werner LEMBERG <wl>
Group administrator
Fri 13 Jan 2017 03:17:42 PM UTC, comment #7: 

I would argue otherwise. This tilde segments are not horizontal, AF_DIR_NONE should never be hinted, because it removes features. What is so special here?

Alexei Podtelezhnikov <podtelez>
Group Member
Fri 13 Jan 2017 07:42:25 AM UTC, comment #6: 

Yes.  However, in most situations you want the current behaviour of the auto-hinter to flatten such wiggles.  As mentioned earlier, you need `character knowledge' to improve that.  Right now I'm brooding on a possible implementation, but please don't expect quick results :-)

Werner LEMBERG <wl>
Group administrator
Fri 13 Jan 2017 04:33:57 AM UTC, comment #5: 

This situation is reminiscent of bug 41334 but in the vertical direction, of course. The hinter is overzealous. If the tilde remained blurry, no one would complain.

Alexei Podtelezhnikov <podtelez>
Group Member
Wed 02 Nov 2016 06:17:43 AM UTC, comment #4: 

I would have to add `character knowledge' to FreeType's auto-hinter  For the specific case, FreeType would have to know that the character is a tilde, then it could apply more vertical scaling at small sizes before hinting so that the glyph's wiggle stayed visible.

In 2008, there was no HarfBuzz support for FreeType, which meant that getting such information was impossible.  This has changed meanwhile, so a fix could be done as outlined above.

However, I currently don't have plans to implement that, but maybe there are volunteers...

Or maybe there are better suggestions?

Werner LEMBERG <wl>
Group administrator
Tue 01 Nov 2016 10:40:49 PM UTC, comment #3: 

bug 49312 was duped to this.

Jungshik Shin <jungshik>
Mon 03 Aug 2015 08:57:37 AM UTC, comment #2: 

This bug also manifests in letters like ã/õ (a/o tilde) and occasionally even with the ~ character alone.  DejaVu, Liberation, Droid (Sans and Mono) seem to show this around size 10.

Anonymous
Wed 11 Jun 2008 08:17:50 AM UTC, comment #1: 
Simos Xenitellis <simos>
Wed 11 Jun 2008 01:19:26 AM UTC, original submission:  

When the following precise conditions apply, a character is rendered incorrectly. A tilde (perispomeni) is shown as macron (flat line).

a. The font is DejaVu Sans Mono (tested with dejavu 2.23 from Ubuntu 8.04, any font version should apply). I also tried FreeSans Mono, and it exhibits the same issue at more font sizes.
b. The font size must be 12pt (96DPI). Other sizes are ok.
c. Hinting should be set to hintstyle=hintslight. Other hinting styles are ok.
d. The character that manifests the problem is U+1FB7, ᾷ

WHAT ACTUALLY HAPPENS: The perispomeni over this character (ᾷ) is shown as if it was a macron (flat horizontal line).

WHAT SHOULD HAPPEN: The perispomeni should appear properly (as it does in other sizes, similar to the tilde).

Simos Xenitellis <simos>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by mmaluff (Posted a comment)
  • -email is unavailable- added by podtelez (Posted a comment)
  • -email is unavailable- added by jungshik (Posted a comment)
  • -email is unavailable- added by wl (Updated the item)
  • -email is unavailable- added by simos (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 25 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-11-02 wl Carbon-CopyRemoved perhaps also a release. -email is unavailable- -
    2016-11-02 wl Carbon-CopyRemoved be a freetype bug rather than a dejavu bug. this is with freetype from cvs as of june 05. i believe there were some more changes since then -
    2016-11-02 wl Carbon-CopyRemoved then -
    2016-11-02 wl Carbon-CopyRemoved 15 and 16 pt/em. this may -
    2016-11-02 wl Carbon-CopyRemoved 11 -
    2016-11-02 wl Carbon-CopyRemoved it is hard to read at any size below 15 or 16. but the autofitter still ends up with more of a macron at 10 -
    2016-11-02 wl Carbon-CopyRemoved given the instructions -
    2016-11-02 wl Carbon-CopyRemoved and as expected -
    2016-11-02 wl Carbon-CopyRemoved 11 and 10 pt/em. without anitaliasing -
    2016-11-02 wl Carbon-CopyRemoved 15 -
    2016-11-02 wl Carbon-CopyRemoved 16 -
    2016-11-02 wl Carbon-CopyRemoved 19 -
    2016-11-02 wl Carbon-CopyRemoved 20 -
    2016-11-02 wl Carbon-CopyRemoved 21 -
    2016-11-02 wl Carbon-CopyRemoved the tilde looked like a macron at 22 -
    2016-11-02 wl Carbon-CopyRemoved i saw a clear tilde at all readable pt sizes. with forced autofitting -
    2016-11-02 wl Carbon-CopyRemoved pt size ≡ pt/em.) with the bytecode interpreter and grayscale -
    2016-11-02 wl Carbon-CopyRemoved at ftview's default dpi -
    2016-11-02 wl Carbon-CopyRemoved is shown incorrectly. it is shown as with a simos> macron (horizontal line) instead of something like a tilde. i just tried it in ftview. (aiui -
    2016-11-02 wl Carbon-CopyRemoved at size 12 and rendered with simos> dejavu sans mono -
    2016-11-02 wl Carbon-CopyRemoved ᾷ -
    2016-11-02 wl Carbon-CopyRemoved at size 12 (greek small alpha with perispomeni+ypogegrammeni) from: james cloos <cloos@jh...> - 2008-06-10 20:36 >>>>> "simos" == simos xenitellis <simos.lists@go...> writes: simos> i just noticed that u+1fb7 -
    2016-11-02 wl Carbon-CopyRemoved re: [dejavu-fonts] u+1fb7 in dejavu sans mono -
    2009-08-18 pmw Carbon-Copy- Added the tilde looked like a macron at 22
        Carbon-Copy- Added 21

    Back to the top

    Powered by Savane 3.13-4448.
    Corresponding source code