Wanted: Font renderer implementor
Submitted by epr on Sat, 11/13/2004 - 11:54.
How is willing and able to implement a proper font renderer that converts a Shape of a character into a rendered bitmap?
Thnings like anti-aliasing would be nice, but just plain rendering would also be nice.
Please contact me.
Ewout
- Login to post comments
In progress
This topic is in progress.
Specification
http://developer.apple.com/fonts/TTRefMan/
(a link to be added to references)
Classpath implementation
IMHO, the best basis for a robust implementation is this one :
http://www.brawer.ch/software/fonts/
Unfortunately, this code has never been committed to classpath and the project is now discontinued despite an attempt to open a Savannah project for it.
No renderer
This brawer sw is good for reading fonts, but does not contain a renderer to bitmaps.
Ewout
Let's keep abstraction as much as possible...
... before rendering bitmaps :
http://www.brawer.ch/software/fonts/doc/gnu/java/awt/font/GNUGlyphVector.html#getOutline(float,%20float)
which is a pure java wrapper for :
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/font/GlyphVector.html#getOutline(float,%20float)
Returns a java.awt.Shape.
IMHO, this is where Bitmap conversion should occur, shouldn't it ?
Correct
The outline Shape should be converted into a bitmap.
I suggest to convert it to a single color bitmap with 1 byte per pixel. This byte is an alpha value for the actual color produced.
E.g. a value of 0 means the background color (transparent, a value of 0xFF means 100% foreground color and all values in between means a percentage of transparency. This should make anti aliasing quite easy.
Ewout
pre rendered font ?
Do you think about pre rendering (or better lazy rendering) of fonts ?
Or why do you think about an intermediate format (the 1-byte-per-pixel-bitmap) ?
Fabien
on demand
I'm thinking of on demand rendering of glyph's. The 1-byte format is probably smart, because is allows acertain glyph to be rendered to screen fast is all colors.
Any better idea is welcome. I'm not a font, nor graphics expert.