Added Description. Added TODOs. Comments about charSize problem.
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
diff --git a/README.txt b/README.txt
index edc874c..d5a7dcf 100755
--- a/README.txt
+++ b/README.txt
@@ -1,11 +1,28 @@
FTGL 1.0b1
+DESCRIPTION:
+FTGL is a library a tool to allow OpenGL (www.opengl.org) to render
+characters from arbitary fonts.
+Unlike other OpenGL font libraries FTGL uses standard font file formats
+so doesn't need a preprocessing step to convert the high quality font data
+into a lesser quality, proprietary format.
+FTGL uses the Freetype (www.freetype.org) font library to open and 'decode'
+the fonts. It then takes that output and stores it in a format most efficient
+for OpenGL rendering.
+
+Rendering modes supported are
+- Bit maps
+- Pix maps
+- Texture maps
+- Outlines
+- Polygon meshes
+
USAGE:
FTGLPixmapFont font;
- font.Open( "HenrysHD:System Folder:Fonts:Arial");
+ font.Open( "Fonts:Arial");
font.FaceSize( 72);
font.render( "Hello World!");
@@ -13,31 +30,39 @@ USAGE:
Things to think about...
+The whole char size thing is major headache
+At the moment if you call font.CharSize( x) the glyph list is destroyed and
+rebuilt, which will be really, really, really inefficient if you change sizes
+often. Will the freetype cache stuff help here or should we cache internally?
+Multiple glyphlists. glyphlist manager. FTSize obj???
+Multiple glyphLists will chew up memory. Maybe a <map> will help here, maybe
+a map will let us cache glyphs as required rather than all at startup? This
+wont help texture glyphs.
+
+The FTSize seems redundant. (depends on the out come of the above)
+
If a font is defined uniquely by it's face and size ie
font.Open("Fonts:Arial", 72);
Then we don't need FTFace and FTSize, their functionality could be internal
to FTFont. Alternatively if we allow multiple faces and sizes how should
they be handled.
-At the moment if you call font.CharSize( x) the glyph list is destroyed and
-rebuilt, which will be really inefficient if you change sizes often. Will
-the freetype cache stuff help here or should we cache internally?
-multiple glyphlists. glyphlist manager. FTSize obj???
When is the best time to construct the glyphList? After the call to Size(x)
is the earliest but what happens if the client doesn't set the char size?
-The FTSize seems redundant. (depends on the out come of the above)
-
Need a way to restrict the glyphs to a custom set. eg an app only needs
numbers so we should only create a glyphList of the number characters.
This will enable us to have a restricted set of HIGH quality glyphs.
+Might have to move the init code out of the constructers into an init
+function so that they can return errors.
+
+
TODO:
- Finish!!
- Error handling - fail gracefully - return FT_Error codes.
- - What happens with 2 obj of the same font type
- The position stuff is broken again. Check the pen stuff. Plus lower
- case 'y's seem to be 1 pixel too low?)
+ case 'y's seem to be 1 pixel too low?
- Use glRasterPos() not glBitMap to set raster pos in pixel fonts.
- check and confirm the glPixelStore stuff. Data Alignment. Tightly
packed at the moment.
@@ -52,19 +77,23 @@ TODO:
- gl/glu errors
- tesselation winding rules
- Distributions MACOS 9/X, IRIX, Linux, Windows
+ - Test with non English(?) fonts
+ - select face ie italic, bold etc
FUTURE:
- - pen position eg font.render( 50, 100, "Hello World!");
- Use the Freetype Cache mechanism. See above. FTC_xxx
- Alignment. left right, centre.
- Bounding box, char and string.
- Vertical formats
- For platforms that have antialiased lines but not polys (sgi O2) we
could outline the polyfonts with lines to get better looking glyphs.
+ - Provide an interface to acces the point data for outlines and polygon
+ meshes.
BUGS:
MAC OS:
- Exits with some fonts at large sizes. Freetype or GLUT Memory Bug?
+ also with large numbers of glyphs at any size eg helvetica
August 3 2001