nanogui@linuxhacker.org
After an _extremely_ lengthy weekend, I have now
got both TrueType and Adobe Type 1 font support
integrated into Microwindows. Release 0.88pre4 is
available at:
ftp://microwindows.org/pub/microwindows/microwindows-0.88pre4.tar.gz
Big thanks go to Vidar and Martin for contributing the
initial work in this area.
Version 0.88pre4 has had the font routines heavily rewritten
to allow multiple renderer support for fonts. We now are
able to run using compiled-in builtin fonts (converted using
supplied bdf or Windows utilities), as well as using the FreeType
and T1 libraries for advanced font rendering. All can be supported
simultaneously, if desired.
Support for ascii, unicode-16, and unicode-32 is completed,
allowing text to be supplied from applications in these formats.
UTF8 support is almost supported, but we need a non-LGPL
version of a utf8 to unicode-16 converter. Flags bits to the
GrText/GdText routines tell Microwindows how to convert
all text before rendering it. Renderers can request text
in any format.
Font scaling to any pixel size, as well as rotations in degrees, and
antialiasing for 8, 16, 24, and 32bpp is also completed.
Two new Nano-X sample programs ftdemo and t1demo are
written to show off the new technologies. The source
in microwin/src/engine/devfont.c can be modifed to
turn on rotations or turn off antialiasing.
There is still some work to do in GdArea, which I will start
rewriting soon, as the alphablending and transparency blitting
are not performed at the driver level yet, so the antialiasing
only works well when you know the final destination color.
The plan is to implement two new low level blitters that the
font renderers can use, one for alphablending and the other
for transparent blitting.
Finally, we've added another touch screen driver for the
ADS SA1100 ARM evaluation unit, which features a
640x480 3"x5" LCD display. We'll be contributing the
kernel driver soon.
Have fun checking this out!
Here's the ChangeLog:
Version 0.88pre4 (truetype/t1 fonts) - 19th March 2000 - greg@censoft.com
* implemented text drawing in ascii, utf8, unicode 16 and unicode 32
* added font id's for Nano-X, added GrCreateFont, GrUnloadFont
* rewrote font subsystem heavily
* added alphablender for antialiased fonts for 8, 16, 24 and 32bpp
* added GrText, GrGetGCTextSize flags, CreateFontIndirect
* added GdText TF_ flags for 8,16,32 bit packing, top/bottom alignment
* added Martin's FreeType TrueType font support
* added Vidar's t1lib adobe type1 font support, t1demo for Nano-X
use HAVE_FREETYPE_SUPPORT config option
use HAVE_T1LIB_SUPPORT config option
* renamed min/max to mwmin/mwmax
* added Fabio's xconfigure patch for VTSWITCH
* fixed WM_CREATE lparam bug
* added mou_ts.c touch screen driver for ADS ARM port
* added GrSetGCFontSize, GdSetFontSize, GdCreateFont, GdUnloadFont
* added GWL_USERDATA to Get/SetWindowLong
* turboc port screen driver fixes
* added nonclient region special paint handling to avoid flicker
* added null kbd driver, set with NOKBD=Y
Regards,
Greg