freetype-devel
[Top][All Lists]
Advanced

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

Re: [Devel] Rendering (by FreeType) and hinting of Latin small 'a'


From: David Turner
Subject: Re: [Devel] Rendering (by FreeType) and hinting of Latin small 'a'
Date: Thu, 12 Sep 2002 03:56:40 +0200
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.1) Gecko/20020826

Hi Vadim,

Vadim Plessky wrote:
Hello David!

On Tuesday 10 September 2002 12:43 am, David Turner wrote:
|  Hello Vadim,
|
|  I have introduced some changes in the automatic and Postscript hinters
|  lately to deal with disappearing curved diagonals (like in "S" or "2").
|  There are chances that these might also enhance the hinting of
|  your "a"s. Could you test the rendering of the current CVS code
|  to see if something changed ??

I upgraded to FT 2.13-RC1 (Aug.28 snapshot), and indeed that problem was fixed.
But new ones appeared. :-(

|  This is not very surprising, since the second glyph doesn't have any
|  hint on the lower stem. The Postscript hinter relies on what is provided
|  by the font file and won't try to detect stems on its own.

That was intentional. And FT 2.13, BTW, renders all 3 glyphs identically!
So it seems it auto-aligns bottom part of the 'a'.

Only the auto-hinter does that. Also, it depends on the character size too
(since sometimes, simply scaling an outline produces a relatively well
grid-aligned vector shape :-)

|  > Here are my questions:
|  > a) can this *topology* (visually broken  curve) issue be fixed?
|  > I demonstrated problem on example of 'a', but many other glyphs are
|  > affected (in AA or RGN-AA modes), too.
|
|  Maybe, please test and report your opinion on that..

ok, I created new page dedicated to this problem, together with new test font (experimental-a, atatched, there is a link to it from the page as well)
Please check it out:
http://freetype.newmail.ru/misc/experimental-a.html

I know that from some countries (Australia? Ireland?) that location can be slow to access, so if you have timeout on server - please e-mail me, I can send files as mail attachment.

BTW: handling of Topology is much better in FT 2.1.3 than in FT 2.0.9
But still FT can generate, on occasion, broken contours...

Comments from my page (FT 2.1.3-RC1 rendering, AA enabled):
"All glyphs are rendered blurred. Compare this to rendering on screenshot below, which uses auto-hinter (where text is crisp). My understanding is that PS gray renderer uses different path/code when it renders glyphs with hints generated by auto-hinter (in contrast with PS glyphs which have pre-defined PS hints). This is very strange and undesirable. I consider this is a bug in FreeType 2.1.3-RC1 "


I do not consider this to be a bug Vadim !. As described in a previous e-mail,
the new default hinting mode in the current CVS code does find a compromise
between "crispness" and "shape correctness".

"crispness" comes from the fact that stems are exactly aligned on pixel grid
boundaries, however this requires (relatively) important changes to the outline
that can be surprising. The most annoying effect of "strong" hinting is the
fact that diagonals tend to "stand out" within words when text is displayed,
and this is _very_ annoying for many people (including me)

"shape correctness" corresponds to performing no hinting at all ! The current
hinting mode performs "smooth" hinting that is a compromise between these two
extremes. One of its consequences is that your "a"'s are slightly blurred.

However, you'll notice that displaying long pieces of text with it will give
results that are more pleasant to read since the "color" of the font is much
more consistent..

Ironically, your "best" rendering for the 'a' shows two vertical stems that
are respectively two and one pixel wide, and this is a problem for me that
disappeared with the new hinting (since these stems in the new 'a's do look
like they have the same width !!)


|  Try to make the stem slightly larger when it connects to the vertical
|  stem in the "a". This should help make it stronger/visible. Otherwise,
|  I don't see what could really done..

Ok, please look at URL above.
I did it slightly larger, but this doesn't help.

variant of 'a' at f, g,h positions in font demonstrate *what* can be done, and confirm my statement that FT *can* handle such cases.
Hope my experimental font will help to make rendering better.

Don't know, I'm packing the bits of RC2 right now :-) I'll see later..


|
|  > c) Is it possible, in some way, to increase *tension* for FT rasterizer
|  > when it follows some part of the contour/curve?
|  > It's like of driving a car with high speed, and follow smooth turn to,
|  > say, left at 80km/hour.
|  > It can be done, if you increase your speed instantly /with acceleration/
|  > :-) So, I think we should find a way to do the same with such curves. Is
|  > it possible to do?  What are your opinions?
|
|  I fail to understand precisely what you mean here. Do you have anything
|  more visual as an explanation (maybe a small graphics could help ??)

variuant under 'b' position demonstrates that this (for some reason) doesn't help. I moved control points by 100 units far away from position they were before, it's like increasing acceleration when driving. I will try to experiment more and will let you know wether I achieved something. My next standpoint is 'a' from Garamond and Caslon - they always had much more problems (in rendering) than *trivial Times* :-)


That's true, but it's difficult to optimize the hinters for them until we have
something sufficiently satisfying for less complex cases. Hinting is such a
delicate process that breaking its quality is extremely easy, trust me !!

Best Regards,

- David Turner
- The FreeType Project  (www.freetype.org)




reply via email to

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