freetype
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Incorrect tilde as diacritic rendering


From: Werner LEMBERG
Subject: Re: Incorrect tilde as diacritic rendering
Date: Wed, 05 Aug 2020 06:21:53 +0200 (CEST)

> As long as I remember, the tilde as diacritic (for example, in ãõñ)
> is rendered incorrectly in some small font sizes, unfortunately
> often used.
> 
> For example, at size 10 the rendering is broken, in these
> characters, for fonts Cousine, DejaVu Sans Mono, Courier New,
> Liberation Mono, FreeMono, TeX Gyre Cursor, and Nimbus Mono.

What does 'size 10' exactly mean for you?  Is it 10ppem, this is, 10pt
at 72dpi?  At this size, except for very few, well-hinted TrueType
fonts, *all* fonts will render the tilde incorrectly as a horizontal
line.  So I guess you mean 10pt at 96dpi, which corresponds to 13ppem,
and which is still extremely small.

> I would like to confirm if other users can reproduce the issue.

Yes, this happens if you rely on FreeType's auto-hinter, which is
currently not sophisticated enough to handle such cases.  And what do
you expect?  A tilde over a letter is an *extremely* small feature
that has a natural height of a single pixel at 13ppem!  It must be
exaggerated vertically by hints to cover two pixels.  And to get
really good output you have to use B/W rendering additionally (if the
hinting supports that) – or at least LCD subpixel rendering.

If you use native hinting (for either TTF or PS flavoured fonts),
results should be better.  However, this only works if the fonts have
good hinting.

Note also that in general PS flavoured fonts (i.e., `.otf` ones) are
not as well displayed at such small sizes as TTFs, for various
reasons.

Corollary: If you want to always work at such small sizes, either get
hand-tuned bitmap fonts or use well-hinted TTFs intended for screen
usage (like the core Microsoft fonts).  And you have to de-activate
FreeType's auto-hinter, this is, you must not use a 'light' mode.


    Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]