Hash :
2e4a884c
Author :
Date :
2002-02-16T06:14:59
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
FTGL 1.3b5
January 27 2002
TODO:
- namespace ftgl or gltt?
- use float for all font metrics and advance metrics.
FUTURE:
- select face ie italic, bold etc
- Multiple sizes
- Optimise performance and mem usage.
- gl/glu errors
- check and confirm the glPixelStore stuff. Data Alignment. Tightly
packed at the moment.
- Use the Freetype Cache mechanism. FTC_xxx
- Vertical formats
- Multiple Masters
- String Cache or string chunks
- Provide an interface to access the point data for outlines and
polygon meshes. Part way there with new vectoriser.
- Have a look at improving the algorthm for making curves. Maybe a
distance metric might be the way to go so that rather than having
5 polylines (0.2 step) for every curve, adjust the fineness for
the length of the curve. But then you should also test the angle
of the tangents as well.
- Guard classes - vectoriser
- Template methods
- Move the init code out of the glyph constructors into an init
function so that they can return errors.
BUGS:
- FTExtrdGlyph - Some glyph contours are 'wound' in reverse causing
the 'sides' of the extrusions to be culled. First fix only half
worked. When calculating the winding using the summed area I need
to use the outside contour only. How do I know it's an outside
contour? A workaround is to disable face culling.
- FTGLTextureFonts can't be used inside display lists. This because the
glGet call to check the current texture id can't be used in a display
list. It is only a valid call when the list is compiled and is ignore after
that.
- Advance/Kerning is screwed up for really small point sizes eg 2 point.
This is because I'm trying to use FT_Vector which is integer based.
I will probably have to make my own struct with floats.
- The texture co-ords in the Texture Font may be wrong for non
scalable fonts.
- There is an inconsistancy in the way the global bounding box is
stored in Freetype. It is supposed to be in font units but in some
cases it is in 16.16 format. I have implemented a work around but
hopefully the freetype guys will sort this.
- FTVectoriser seems to position some points incorrectly. confusing
line point with control point at start or end????