Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Mar 1998 22:24:23 -0500
From:      John Robert LoVerso <john@loverso.southborough.ma.us>
To:        Michael Imamura <Zoogie@mnsinc.com>
Cc:        freebsd-java@FreeBSD.ORG
Subject:   Re: Anti-aliasing Fonts 
Message-ID:  <199803120324.WAA01787@loverso.southborough.ma.us>
In-Reply-To: Message from Michael Imamura <Zoogie@mnsinc.com>  <350746BA.6724A715@mnsinc.com> .

next in thread | previous in thread | raw e-mail | index | archive | help
[sorry... this diverges widely off the Java topic of this list]

You can download the "free upgrade" to Win95 to allow it to dynamically switch
on and off anti-aliasing of screen fonts.  Go MS and look for the "Windows
95 Font Smoother".

As for "doing this in FreeBSD", this whole issue is an XFree86 (and X
Window System) issue, and has nothing to do (directly) with Java or FreeBSD.

Anti-aliasing is primarily done on scalable fonts.  There are two significant
problems with this and the X Window System:

1. Most people using X use bitmap fonts because most of the apps use these
   for purely historical reasons ("was there first" and "faster").

2. Scalable font support is available, but not widely used.  Many systems
   have included this as a "value-added", and thus, incompatible feature.
   HP-UX falls in this camp.  The base X11 distributions have included some
   vender-contributed rasterizers for scalable fonts; i.e., those for
   Adobe Type 1 (PostScript) and Speedo fonts.  But, the actual selection
   of available scalable fonts has been weak.  This is because only a few
   fonts are part of the base distribution.  Some system venders ship a
   good selection of scalable typefaces (i.e., Digital, SGI), typically
   taking those from DPS.  However, XFree86 is stuck with just the fonts
   from the base X distribution.

3. Once you've got a better selection of scalable fonts, then you need to
   fix the rasterizers to include anti-alias support.  This is much harder
   than you think, because much of the internal font model to X does layout
   using bitmaps, i.e., 1 bit deep images.  Anti-aliasing requires pixmaps
   in order to provide grey scales for shading/smoothing.  Too much of this
   is exported thru X APIs to make it easy to fix without rewriting clients.

   "BUT", you'll say, "I've seen anti-aliased fonts used in Ghostscript (using
   the x11alpha device) or GIMP.  This is done outside the X server, as those
   applications aren't drawing characters but instead implementing their own
   rasterizers that do layout with pixmaps.

So, it is possible to do at the application level, but hardered to do overall
to X.  This could be done within a particular graphic toolkit to benefit
applications using that toolkit, but it wouldn't help other apps.  And, there'd
be a considerable performance penalty for rendering all text using pixmaps.

I'll note that even the new TrueType X11 font server (using the FreeType
library) does not implement anti-aliasing of glyphs for exactly reason #3.

John
(speaking on his own, not as an employee of The Open Group; besides,
I'm not affiliated with the Desktop (X) Project)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-java" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199803120324.WAA01787>