freetype-devel
[Top][All Lists]
Advanced

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

[Devel] Postscript hinter and non-square pixels


From: Detlef Würkner
Subject: [Devel] Postscript hinter and non-square pixels
Date: Fri, 21 Dec 2001 10:08:51 +0100

Hello!

I wrote:

> While playing around with display resolution aspect ratio adaptive code,
> I found that the Postscript hinter produces really big errors when
> setting the horizontal resolution to the double value of the vertical
> resolution with FT_Set_Char_Size() to be displayed correct on an Amiga
> NTSC screen.
> 
> The horizontal line of an "A" is e.g. not displayed...
> With autohinter and without hinter the problem does not appear.

After the various fixes and enhancements to the PostScript hinter it
looks better, but the main problem seems to stay: The PostScript hinter
assumes square pixels. Is this an inherent problem of PostScript hints,
of the used font or of the hinter?

To reproduce: I tested with the GhostScript fonts and with Adobe Sans MM
(from Acrobat Reader IMHO). When specifying non-square pixels with e.g.
FT_Set_Char_Size(face, 16*64, 0, 72, 36), we tell FreeType that the pixels
are non-square, 72 dpi horizontal and 36 dpi vertical, e.g. a TV screen
in non-interlace mode. If displayed on a computer monitor with square
pixels, an "o" should be about twice as wide than high, on a TV in highres
non-interlace mode, it should be nearly round.

When specifying FT_LOAD_NO_HINTING or FT_LOAD_FORCE_AUTOHINT this works
as expected, but without specifying one of these flags the PostScript
hinter is used and it always produces a nearly round "o". The TrueType
hinter works fine. Whether generating monochrome or gray bitmaps makes no
difference. Oh, and I didn't test without glyphcache, so not
FT_Set_Char_Size() was used but pix_width and pix_height of
FTC_Image_Desc had different values.

Ciao, Detlef
-- 
_ // address@hidden
\X/  Detlef Wuerkner, Langgoens/Germany



reply via email to

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