úÎE!@^      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^)Render a string of text within a layout.  =Get the different character mappings available in this font.  Set the font's character map 6Attach some external data (often kerning) to the font Destroy a font Set the layout alignment &Get the embedded font from the Layout :Set the line length, I believe in OpenGL units, although I' m not sure. Set the layout's font. Create a simple layout  !"#$%&'()*+,-./012345+An opaque type encapsulating a layout in C 6*An opaque type encapsulating a font in C. 7hAn opaque type encapsulating a glyph in C. Currently the glyph functions are unimplemented in Haskell. 89In a Layout directed render, the layout mode of the text 9:;<=)Get any errors associated with a layout. [Whether or not in polygonal or extrusion mode, the font will render equally front and back >?@ABLCreate a bitmapped version of a TrueType font. Bitmapped versions will not O | respond to matrix transformations, but rather must be transformed using the * | raster positioning functions in OpenGL CJCreate 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. DHCreate an outline version of a TrueType font. This uses actual geometry O | and will scale independently without loss of quality. Faster than polygons , | but slower than texture or buffer fonts. ELCreate 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. FHCreate polygonal display list fonts. These scale independently without J | losing quality, unlike texture or buffer fonts, but can be impractical L | for large amounts of text because of the high number of polygons needed. J | Additionally, they do not, unlike the textured fonts, create artifacts ; | within the square formed at the edge of each character. GECreate textured display list fonts. These can scale somewhat well, J | but lose quality quickly. They are much faster than polygonal fonts, L | 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. HGCreate a 3D extruded font. This is the only way of creating 3D fonts H | within FTGL. Could be fun to use a geometry shader to get different K | effects by warping the otherwise square nature of the font. Polygonal. @ | Scales without losing quality. Slower than all other fonts. I>Get the line length in points (1:72in) of lines in the layout J*Get the alignment of text in this layout. K)Set layout line spacing in OpenGL units. L"Attach a metadata file to a font. MNKGet the number of characters loaded into the current charmap for the font. OP*Get the current font face size in points. QRSHGet the text extents of a string as a list of (llx,lly,lly,urx,ury,urz) T.Get the global ascender height for the face. U0Gets the global descender height for the face. V,Gets the global line spacing for the face. WYGet the horizontal span of a string of text using the current font. Input as the xcoord  | in any translate operation X-Render a string of text in the current font. YZGet any errors associated with loading a font. FIXME return should be a type, not an Int. Z[\]d  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH^I_JKLMN`OPQRSTUVWXYabZ[\]c^"B!C DEFGHIJKLMN O P Q R STUVWXY=A@?>8<;:9Z[\765432#10/.-,+*)('&%$]^  !"#10/.-,+*)('&%$$%&'()*+,-./012345678<;:99:;<=A@?>>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]d      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefFTGL-1.1Graphics.Rendering.FTGLfgetLayoutError frenderLayout destroyLayout fgetFontError frenderFontfgetFontAdvancefgetFontLineHeightfgetFontDescenderfgetFontAscender fgetFontBBoxfsetFontOutset fsetFontDepthfgetFontFaceSizefsetFontFaceSizefgetFontCharMapListfgetFontCharMapCountfsetFontCharMap attachData fattachFile destroyFontfsetLayoutLineSpacingfgetLayoutAlignmentfsetLayoutAlignmentfgetLayoutLineLengthsetLayoutLineLengthfgetLayoutFont setLayoutFontcreateSimpleLayoutfcreateExtrudeFontfcreateTextureFontfcreatePolygonFontfcreatePixmapFontfcreateOutlineFontfcreateBufferFontfcreateBitmapFontCharMapEncodingAppleRomanEncodingOldLatin2EncodingAdobeLatin1EncodingAdobeCustomEncodingAdobeExpertEncodingAdobeStandard EncodingJohabEncodingWanSung EncodingBig5EncodingGB2312 EncodingSJISEncodingUnicodeEncodingMSSymbol EncodingNoneLayoutFontGlyph Layout_Opaque Font_Opaque Glyph_Opaque TextAlignmentJustify AlignRight AlignCenter AlignLeft RenderModeAllSideBackFrontcreateBitmapFontcreateBufferFontcreateOutlineFontcreatePixmapFontcreatePolygonFontcreateTextureFontcreateExtrudeFontgetLayoutLineLengthgetLayoutAlignmentsetLayoutLineSpacing attachFile setCharMapgetFontCharMapCountsetFontFaceSizegetFontFaceSize setFontDepth setFontOutset getFontBBoxgetFontAscendergetFontDescendergetFontLineHeightgetFontAdvance renderFont getFontErrormarshalRenderModemarshalTextAlignmentreadTextAlignment encodeTag getLayoutFontsetLayoutAlignmentgetFontCharMapList renderLayoutgetLayoutErrormarshalCharMap