[Top][All Lists]

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

[Freetype] de-blurring / sharpening / hardening

From: Brian Stell
Subject: [Freetype] de-blurring / sharpening / hardening
Date: Wed, 12 Feb 2003 11:07:54 -0800

I've see a lot of discussion about glyphs being blurry and I do not
recall much discussion about de-blurring / sharpening / hardening 
so I thought I'd ask people to share their ideas and experiences.

Here is one of my experiences with glyph sharpening:

To improve the page layout for X11 Mozilla I added code to Anti
Alias Scale Bitmaps (AASB). See note (1) below for more detail.
AASB glyphs retain the original visual weighting and are
attractive but they also are blurry.

Noticing that simple scaled bitmap glyphs are very "sharp" but 
unattractive and AASB glyphs are blurry and attractive I tried
modifying the AASB glyphs by "pushing" them toward the simple
scaled scaled bitmaps. I did this by applying a non-linear
weighting of the pixels after the AA scaling. This does not
make the glyphs perfectly sharp but it does visually reduce 
the blurryness.

Brian Stell

(1) X Window systems tend to very limited CJK font sizes and 
    most web pages are developed for windows where there
    lots of sizes. The result was that X11 Mozilla was
    forced to pick sizes different than requested which
    often caused longer lines which gave a *much* less
    attractive layout than win/mac. It can be argued that
    the web designers should design for this but they do
    To make more sizes available I wrote code to scale
    bitmaps. Simple bitmap scaling produces horrible
    results but if the scaling is done with anti-aliasing
    then the results can be surprisingly good in the range
    of 2-3X smaller and 2X bigger. The Truetype spec.
    actually mentions that small sized CJK anti-aliased
    scaled bitmaps (AASB) often produce better results than
    the outline scaling. I got very positive feedback for
    web pages with AASB CJK fonts.

reply via email to

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