src/FTFont.cpp


Log

Author Commit Date CI Message
sammy 9caaa891 2008-04-28T21:48:44 * Split Font and Layout headers into Foo.h and FooImpl.h, and taking the latter out of the include/ directory.
sammy 573770b5 2008-04-28T21:12:36 * Beginning of a new refactoring task. Classes inheriting FTFont or FTLayout now hide their private members behind a pImpl pointer. This will make the public headers smaller, and we will not break the ABI by changing private members of our public classes. This first step just splits classes but does not reorganise files.
sammy da303bb8 2008-04-28T15:24:05 * Remove all method implementations from the main FTFont.h, FTLayout.h and FTGlyph.h headers. Since they use private members, they belong to their respective .cpp files.
sammy 09fbf8ac 2008-04-28T11:17:05 * Cosmetic: remove trailing spaces, fix unbalanced parenthesis/space constructs, remove tab/space mixes, wrap a lot of long source lines.
sammy 46ae3db6 2008-04-28T09:10:37 * Crash fix: do not try to delete FTFont::glyphList if the constructor failed.
sammy ef85a014 2008-04-22T16:21:04 * Allow to selectively display parts of the glyph/font/layout. This is currently only used in FTExtrdGlyph: it lets the user render the front surface in a different color than the extruded side surface. Code written by Eric Beets.
sammy f300fc49 2008-04-21T16:09:46 * Fix the FTLayout rendering: line feeds were not properly handled. Patch by Eric Beets.
sammy 9f770d58 2008-04-17T13:38:28 * Use pen += FTPoint(a, 0) constructs instead of pen.X(pen.X() + a), it's more object-oriented.
sammy 6bac248f 2008-04-17T13:36:05 * Fix a bug in FTFont::DoRender() introduced by my FTSimpleLayout merge that was causing excessive spacing between characters.
sammy 2cf6ff94 2008-04-16T15:57:01 * Remove a lot of code duplication caused by the char/wchar_t overloading thanks to templates. No API change here.
sammy d6a2d851 2008-04-13T21:14:44 * Merged trunk commits [664], [665], [666], [667], [669], [670], [671], [672] and [684], by patrick and henry: + Added FTLayout.h, FTSimpleLayout.h and FTSimpleLayout.cpp to implement a framework for layout managers and an implementation of a simple layout manager. + Updated FTGLDemo to use the new FTSimpleLayout. Changes include: - Added a font origin to specify the location to render the font. - The default text is now blatantly plagarized from the back cover of the OGL red book. - The font size is much smaller. - Font metrics are rendered differently depending on the current layout manager. - The FTSimpleLayout alignment mode is now output with other font information. - The space bar no longer cycles through the fonts. The cursor up/down keys do. - The cursor left/right keys increment/decrement the size of the current font. - The page up/page down keys cycle through the layout managers. - The home/end keys increment and decrement the line length of a simple layout - The tab key cycles through the alignment modes of a simple layout. + Fixed a bug where the trackball rotation was applied after translation. + Minor reformatting and enabled texture fonts to be selected + Un-inlined private methods...because they are called by other private inlined methods + Minor formatting changes + Adding FTLayout
sammy a6f07b94 2008-04-13T19:37:25 * Merged trunk commits [662] and [663], by patrick: + Added the FTBBox::Invalidate and FTBBox::IsValid methods. + Changed the FTFont::BBox to accept a range of indicies. Only characters with the range are checked. The previous funcitonality is preserved via inline methods that call the new implementation. + Kluged a fix for a bug where FTFont::BBox was returning bounding volumes where min > max. I don't know where the problem is originating, I just force the bounds to be correct. + Changed the FTFont::DoRender methods to accept an external FTPoint for the pen position. This enables FTLayout classes to use their own pen for rendering. + Added the FTLayout class as a friend of FTFont to allow layout managers to call private rendering functions and access private font information.
sammy 141112c4 2008-04-12T22:44:48 * Add licensing information to all files in the library.
sammy 7c358859 2008-04-04T12:43:38 * Generate a config.h file instead of passing all defines in the compiler command line. * "make install" now properly installs the includes, the documentation and the .pc file. * Generate a shared library.
sammy ee107630 2008-03-03T16:41:35 * Remove svn:executable property from source files.
sammy f0f550ea 2008-03-03T16:36:07 * Remove svn:executable property from source files.
henry 231a1d7e 2004-10-12T01:06:11 Got rid of the DoRender function.
henry 6fa0cf8b 2004-10-11T01:56:29 Removed a redundant var
henry 4c6baa27 2004-10-10T22:50:01 Refactoring FTPoint
henry 3d3a4852 2004-10-08T11:37:28 Changed a couple of variable names.
henry 24d213a7 2004-10-03T22:34:10 Only set the err in CheckGlyph if it hasn't been set by some other part of the process.
henry 4c9a4594 2004-10-03T21:59:38 Doh
henry 80fc3da9 2004-10-03T21:11:09 CheckGlyph sets error flag
henry 6be07103 2004-09-30T00:08:05 Change to BBox to stop it exiting completely on a NULL glyph.
henry f3ae2a91 2004-09-29T23:55:24 Fixed infinite loop.
henry 92b93758 2004-09-28T11:49:23 Changed CheckGlyph function to indicate failure to create a glyph.
henry 0dce598f 2004-08-23T08:05:04 Added LineHeight function.
henry 2a980faa 2004-08-22T05:50:33 Removed unnecessary translates in the glyph rendering code.
henry d3199cbc 2004-08-19T05:43:24 FaceSize now sets the error value.
henry d5f912b3 2004-05-09T07:13:48 Updated for changes in FTCharmap
henry 05a71812 2003-10-20T02:48:57 Moved charmap list from FTCharmap to FTFont
henry b81d85bc 2003-09-21T01:42:00 Small change for VC.net
henry 56289ce6 2003-06-08T01:09:17 Refactored FTGlyphContainer & FTCharmap. They now store FTGlyphs sequentially rather than by glyph index.
patrick 90e3be9c 2003-04-06T19:16:39 - Changed the FTFont::BBox to accept a range of indicies. Only characters with the range are checked. The previous funcitonality is preserved via inline methods that call the new implementation. - Kluged a fix for a bug where FTFont::BBox was returning bounding volumes where min > max. I don't know where the problem is originating, I just force the bounds to be correct. - Changed the FTFong::DoRener methods to accept an external FTPoint for the pen position. This enables FTLayout classes to use their own pen for rendering. - Added the FTLayout class as a friend of FTFont to allow layout managers to call private rendering functions and access private font information.
henry 84ab33fd 2003-02-27T22:28:18 Fixed null string bug in BBox
henry 70869a5d 2003-01-08T04:24:36 Added attach from memory function
henry c1e6edfa 2003-01-06T04:10:18 Minor change to BBox
henry 68f91fa8 2002-12-21T05:08:12 Removed DoAdvance function
henry e09409dd 2002-12-21T03:24:09 Refactored BBox()
henry 7033612a 2002-12-20T22:17:06 Removed maekGlyphList function and changes for FTFace
henry a1fe61f2 2002-12-19T10:27:50 Refactored function names
henry 92bc1caf 2002-12-17T04:42:33 Renamed render to Render
henry 59259511 2002-12-16T08:27:39 Refactored FTFont to get rid of Open function
henry 8e8eb8da 2002-12-12T21:47:14 Added CheckGlyph function
henry 13b74f08 2002-12-12T20:46:33 Pushed down numGlyph field
henry c33e0bff 2002-12-11T09:29:47 Minor change to bbox functions
henry 618c11ff 2002-12-10T08:38:55 Changed size calculations to use floats
henry 544a174e 2002-12-04T06:19:57 Error handling in Attach
henry 09dc868f 2002-12-02T06:27:02 Fixed BBox null string bug. Better error handling. Got rid of pre cache flag.
henry 26512166 2002-11-29T08:13:55 Got rid of Close() and improved som error handling
henry c060dacd 2002-11-27T07:39:45 Changes for FTPoint & FTBBox
henry ba82a01b 2002-11-27T06:20:15 Tidied up some float declarations
henry 634f2397 2002-06-22T23:33:44 Added accessors for point size
henry 9013e3ec 2002-06-20T08:22:06 Changes for VTK Removed tabs Removed mmgr Optimisations for loading pixel based fonts Minor changes
henry 3413b9a1 2002-06-12T08:56:42 Merged FTGL_1_3_2
henry 3476699a 2002-02-16T00:04:18 Put glyphcontainer back in
henry 5b379896 2002-02-06T02:40:51 inlined the ascender and descender functions
henry ac5532fe 2002-01-09T20:35:52 FTBbox now uses floats rather then ints
henry 6829d29a 2001-12-11T03:56:17 rejigged the advance and render functions to make them sleaner...not really
henry 79fcf371 2001-11-12T22:26:00 fix me
henry b9c932f6 2001-11-12T02:34:21 Added bounding box functions
henry 29f37277 2001-11-04T04:55:43 Unix line endings
henry 789b1cf3 2001-11-04T04:33:30 Changes to allow glyphs to be loaded on the fly... MakeGlyphList is no longer pure virtual. New function MakeGlyph is pure virtual Open now has a flag for pre-cache GlyphContainer builds a list of null pointers advance and render functions check if glyph has been loaded and loads it if it has'nt
henry 7ffb9dc6 2001-09-20T00:22:39 Removed redundant code. Added comments for Advancs()
henry d74f95ce 2001-09-19T04:54:59 Added functions to calc the advance width of a string
henry d70420a4 2001-09-16T21:28:46 Updated comments and added a unicode render function
henry b161bd20 2001-09-14T00:39:36 No longer call face.close(). FTFace is responsible for closing the face.
henry e62d68b3 2001-08-20T22:51:21 Started being more strict with types eg integer indices and sizes are now unsigned.
henry 6acb6ea5 2001-08-19T22:32:57 Updated to reflect changes in FTFace & FTGlyphContainer
henry de2532f4 2001-08-08T01:33:03 Changes to the way charmaps are handled
henry 06d66c75 2001-08-07T21:28:07 Minor tidy ups. Tidied up the error stuff
henry e901ce49 2001-08-06T20:57:54 Changed char* to unsigend char* to fix bug when displaying chars >127
henry 53040dd2 2001-08-05T21:39:02 Minor tidy ups and fixed a couple of compiler warnings
henry 4cd99a38 2001-07-30T02:24:24 Rewrote the way the raster positon is set. The position is now kept in an FT_Vector called pen and pas into the glyphs, rather than the glyph calculating it's on raster position.
henry 019af0d2 2001-07-26T05:11:34 This commit was generated by cvs2svn to compensate for changes in r2, which included commits to RCS files with non-trunk default branches.