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
FTGL 1.4
October 23 2002
TODO:
- 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
- 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.
- FTVectoriser seems to position some points incorrectly. Confusing
line point with control point at start or end????