|
|
|
| Description |
- Author: Jefferson Heard (jefferson.r.heard at gmail.com)
- Copyright 2008 Renaissance Computing Institute http://www.renci.org
- License: GNU LGPL
- Compatibility GHC (I could change the data declarations to not be empty and that would make it more generally compatible, I believe)
- Description:
Use FreeType 2 Fonts in OpenGL. Requires the FTGL library and FreeType libraries.
available at http://ftgl.wiki.sourceforge.net/ . The most important functions for
everyday use are renderFont and the create*Font family of functions. To render a
simple string inside OpenGL, assuming you have OpenGL initialized and a current
pen color, all you need is:
do font <- createTextureFont "Font.ttf"
setFontFaceSize font 24 72
renderFont font "Hello world!"
Fonts are rendered so that a single point is an OpenGL unit, and a point is 1:72 of
an inch.
|
|
| Synopsis |
|
|
|
| Documentation |
|
|
|
|
| Create a bitmapped version of a TrueType font. Bitmapped versions will not
| respond to matrix transformations, but rather must be transformed using the
| raster positioning functions in OpenGL
|
|
|
|
|
| Create a buffered version of a TrueType font. This stores the entirety of
| a string in a texture, buffering it before rendering. Very fast if you
| will be repeatedly rendering the same strings over and over.
|
|
|
|
|
| Create an outline version of a TrueType font. This uses actual geometry
| and will scale independently without loss of quality. Faster than polygons
| but slower than texture or buffer fonts.
|
|
|
|
|
| Create a pixmap version of a TrueType font. Higher quality than the bitmap
| font without losing any performance. Use this if you don't mind using
| set and get RasterPosition.
|
|
|
|
|
| Create polygonal display list fonts. These scale independently without
| losing quality, unlike texture or buffer fonts, but can be impractical
| for large amounts of text because of the high number of polygons needed.
| Additionally, they do not, unlike the textured fonts, create artifacts
| within the square formed at the edge of each character.
|
|
|
|
|
| Create textured display list fonts. These can scale somewhat well,
| but lose quality quickly. They are much faster than polygonal fonts,
| though, so are suitable for large quantities of text. Especially suited
| well to text that changes with most frames, because it doesn't incur the
| (normally helpful) overhead of buffering.
|
|
|
|
|
| Create a 3D extruded font. This is the only way of creating 3D fonts
| within FTGL. Could be fun to use a geometry shader to get different
| effects by warping the otherwise square nature of the font. Polygonal.
| Scales without losing quality. Slower than all other fonts.
|
|
|
| Create a simple layout
|
|
|
| Set the layout's font.
|
|
|
|
|
Get the embedded font from the Layout
Set the line length, I believe in OpenGL units, although I'm not sure.
|
|
|
|
|
| Get the line length in points (1:72in) of lines in the layout
|
|
|
|
|
| Set the layout alignment
|
|
|
| Get the alignment of text in this layout.
|
|
|
| Set layout line spacing in OpenGL units.
|
|
|
| Destroy a font
|
|
|
|
|
| Attach a metadata file to a font.
|
|
|
| Attach some external data (often kerning) to the font
|
|
|
| Set the font's character map
|
|
|
|
|
|
|
| Get the number of characters loaded into the current charmap for the font.
|
|
|
|
|
| Get the different character mappings available in this font.
|
|
|
|
|
|
|
| Get the current font face size in points.
|
|
|
|
|
|
|
|
|
|
|
|
|
| Get the text extents of a string as a list of (llx,lly,lly,urx,ury,urz)
|
|
|
|
|
| Get the global ascender height for the face.
|
|
|
|
|
| Gets the global descender height for the face.
|
|
|
|
|
| Gets the global line spacing for the face.
|
|
|
|
|
| Get the horizontal span of a string of text using the current font. Input as the xcoord
| in any translate operation
|
|
|
|
|
| Render a string of text in the current font.
|
|
|
|
|
| Get any errors associated with loading a font. FIXME return should be a type, not an Int.
|
|
|
|
|
|
|
| Render a string of text within a layout.
|
|
|
Get any errors associated with a layout.
Whether or not in polygonal or extrusion mode, the font will render equally front and back
| | Constructors | |
|
|
|
| In a Layout directed render, the layout mode of the text
| | Constructors | | AlignLeft | | | AlignCenter | | | AlignRight | | | Justify | |
|
|
|
|
|
|
|
|
|
|
| An opaque type encapsulating a glyph in C. Currently the glyph functions are unimplemented in Haskell.
|
|
|
|
| An opaque type encapsulating a font in C.
|
|
|
|
| An opaque type encapsulating a layout in C
|
|
|
|
|
|
|
|
|
|
| Constructors | | EncodingNone | | | EncodingMSSymbol | | | EncodingUnicode | | | EncodingSJIS | | | EncodingGB2312 | | | EncodingBig5 | | | EncodingWanSung | | | EncodingJohab | | | EncodingAdobeStandard | | | EncodingAdobeExpert | | | EncodingAdobeCustom | | | EncodingAdobeLatin1 | | | EncodingOldLatin2 | | | EncodingAppleRoman | |
|
|
|
|
|
| Produced by Haddock version 2.6.0 |