src


Log

Author Commit Date CI Message
dtremenak 4388dc7a 2008-06-11T23:23:05 provide for us poor sobs who don't have a native strndup implementation
sammy c5bcad81 2008-06-09T12:57:41 * Add my copyright information to files I modified significantly. * Add the Unicode, Inc. to the list of authors because of FTUnicode.h.
sammy 4a3dd0f5 2008-06-09T11:47:42 * Code simplifications in FTContour.
sammy 291c70ed 2008-06-09T11:47:14 * Add "const" qualifier to FTPoint's scalar multiplication operator.
sammy a132a5e4 2008-06-09T11:45:52 * Document and reorganise FTBuffer. It is now clean enough.
sammy d7c9fc14 2008-06-09T10:13:09 * Document missing function parameters.
sammy 0b40c371 2008-06-09T10:12:21 * Better FTContour::ComputeOutsetPoint() documentation.
sammy 14e3e435 2008-06-09T10:11:58 * Create FTFont::GlyphLoadFlags() to vary FT_Load_Glyph() calls according to the font type. Now we no longer load vector information when not needed.
sammy 6c2a187c 2008-06-08T15:56:35 * Revert the FTFont::Advance() and FTGlyph::Advance() improvements. After discussion, I was convinced they were not worth the backwards compatibility breakage. They now return float again, instead of FTPoint.
sammy 632c866d 2008-06-08T15:55:19 * Add a comment to FTBufferFont to not forget about bugs in it.
sammy b173cbee 2008-06-03T12:24:37 * Fix a crash in FTExtrudeGlyph caused by uninitialised members.
sammy 7e2d6252 2008-06-03T12:23:25 * FTBufferFont: use strndup() and, when available, wcsdup().
sammy cdc9b560 2008-06-03T12:23:07 * Coding style: remove tabs and trailing spaces, wrap long lines.
dtremenak dd224b27 2008-05-24T19:04:02 from BZFlag r17264: rewrite StringCopy. wcscpy is not a standard function; we have logic for doing it ourselves already (minus the len = 0 case), so handle len = 0 and do it all ourselves.
dtremenak 6e4ad4cf 2008-05-23T16:45:20 Copyright notices as requested by sam
dtremenak e1e19b26 2008-05-23T00:56:25 include wctype.h to make gcc happy
dtremenak 484a90e1 2008-05-23T00:53:23 no need to shadow variables
dtremenak 84869ec7 2008-05-23T00:46:08 * Provide a helper class for walking potentially-multibyte unicode strings. * Provide support for multibyte encodings (UTF-8, UTF-16) in FTFont and derived classes, and in FTSimpleLayout. * Put a few UTF-8 strings in non-latin codeplanes in FTGLDemo (toggle at compile-time) for testing. * FTSimpleLayout should be tested extensively before release. I would be surprised if I didn't break at least one unusual use case.
sammy 95183df2 2008-05-23T00:16:54 * Start protecting FTBuffer members using getters and setters.
sammy 5de43fe6 2008-05-22T15:31:32 * Empty the FTBufferFont cache when changing the face size.
sammy d1bea035 2008-05-22T15:31:07 * Fix a visual bug in FTBufferFont caused by overlapping glyphs.
sammy b73f2e81 2008-05-22T12:39:48 * Implement caching in FTBufferFont. To avoid unnecessary texture uploads, each font object keeps the last 16 strings in the graphic card.
sammy 865b9043 2008-05-22T12:39:12 * Fix an off-by-one error in FTBufferGlyph::Render.
sammy 3d018d80 2008-05-21T16:37:54 * Fix the quad vertex order in FTBufferFont.
sammy 0bc4a552 2008-05-21T16:36:34 * Fix a bug in the FTFont::BBox calculation: the first glyph bbox was not relative to the position argument.
sammy 901ee76c 2008-05-21T15:45:11 * Fix a texture coordinate bug caused by our next-power-of-two ceiling.
sammy fa5631df 2008-05-21T15:43:52 * Add proper glPushAttrib() and glPushClientAttrib() calls to the rendering methods that need them.
sammy 68a99036 2008-05-21T11:39:31 * Enable GL_TEXTURE_2D in FTFont::Render variations that need it.
dtremenak f2011b55 2008-05-21T00:39:04 quell warning
sammy ca7c7a81 2008-05-20T23:49:25 * First try at the FTBufferFont/FTBufferGlyph implementation.
sammy 8932eba0 2008-05-20T23:48:56 * Rename FTTextureGlyphImpl::pos to FTTextureGlyphImpl::corner because pos was misleading.
sammy f7d00178 2008-05-19T15:45:47 * Starting the buffer font class revival. For now, it just consists in empty FTBuffer, FTBufferGlyph and FTBufferFont classes.
sammy 7abb7502 2008-05-19T10:06:49 * Do not crash if the face has no charmaps. Bug found using zzuf: xvfb-run zzuf -q -F5 -r0.0000001:0.1 -s0:10000 -c CTest EunjinNakseo.ttf
sammy 9b33da91 2008-05-19T10:06:25 * Simplified contour parity check routine, formula courtesy of Guillaume Bittoun.
sammy 13adc2c1 2008-05-19T10:06:07 * Add parentheses around && within || to please gcc.
sammy 612c3756 2008-05-11T21:43:57 * Simplify the C bindings. 70 lines gained.
sammy b70df3d7 2008-05-11T21:43:35 * Get rid of FTSimpleLayout::RenderSpace(). It's still useful in FTSimpleLayoutImpl, but as a public method FTFont::Render() is just as powerful.
sammy 55dc91e0 2008-05-11T21:43:10 * Added optional position and string length to the Layout methods.
sammy a90225b5 2008-05-11T11:29:39 * Get rid of all methods in FTLayoutImpl that were accessing FTFontImpl internals, since FTFont now has all the proper public methods for that.
sammy 32ef6d1e 2008-05-11T11:29:17 * Get rid of FTFontImpl::DoRender(), one of the oldest TODOs.
sammy 47e20607 2008-05-11T11:28:53 * Re-add FTFont::BBox() implementations with the old prototype, in case old projects use them.
sammy 5f23d804 2008-05-11T11:28:38 * Honour the pen's Z coordinate when rendering glyphs (except the raster ones, where the Z coordinate makes no sense).
sammy 20ac99b1 2008-05-11T11:28:08 * FTFont::Advance(), FTFont::Render() and FTFont::BBox() are now far more powerful, allowing for substring display and extra spacing between characters.
sammy d39c7838 2008-05-11T11:26:12 * Kill 180 lines of code by removing duplicate *::Render() functions and giving a default value to the renderMode parameter.
sammy 68738f93 2008-05-09T10:02:46 * Put a few wrapper functions into extern "C++" braces because they return references to C++ objects.
sammy 17f84259 2008-05-09T10:01:49 * Minor cosmetic fix (remove tab).
dtremenak 65ba4d60 2008-05-08T23:12:47 and more fun with float/double consistency
dtremenak d33c1e50 2008-05-08T23:12:29 more fun with size_t consistency
sammy e9260bbf 2008-05-08T22:35:57 * Implement C bindings for FTGlyph and FTFont subclassing. * Add subclassing to the simple C demo to show how to do similar stuff as in the C++ demo.
sammy d5adb85b 2008-05-08T17:07:07 * When a glyph is created, check that all its contours have the proper clockwise/counterclockwise orientation. This fixes a nasty display bug with some badly encoded fonts.
sammy dccd536a 2008-05-08T17:06:24 * During contour creation, compute whether the contour is clockwise or anti-clockwise. This will be needed later to correct fonts that do not abide to the even-odd and non-zero winding number conventions, thus breaking our nice outset glyphs.
sammy 2ecbe452 2008-05-08T17:05:26 * Add scalar product to the FTPoint operators.
sammy f2348fe5 2008-05-08T17:04:07 * Cosmetic fixes in the FTLayout C bindings.
sammy 55bf1ff0 2008-05-08T17:03:07 * Small optimisation in FTContour::ComputeOutsetPoint().
sammy 92b95cde 2008-05-08T17:01:45 * Made most FTFont, FTGlyph and FTLayout function virtual. It's true that most of them use private members of the pImpl class and thus are not easily replaced, but intercepting the information may be useful in subclassing, too.
sammy 45c2269f 2008-05-07T16:10:28 * Some code cleanup here and there, mostly in FTGlyphContainer.
sammy 1deacbc3 2008-05-07T15:07:38 * Documentation updates.
sammy 48b68f55 2008-05-07T15:06:19 * Replace FTBBox::Move() with the += operator, to make it clearer that the object is modified in the process.
sammy 8863eeeb 2008-05-07T15:03:48 * Change the += operator for bounding boxes to |=, which better represents what is happening, and avoids future confusion with "FTBBox + FTPoint" constructs.
sammy 4f44ec81 2008-05-07T15:01:47 * Make all BBox functions return an FTBBox object instead of doing countless conversions to floats or arrays of floats.
sammy f58ddca2 2008-05-07T14:59:03 * Fix FTBBox::SetDepth() behaviour with negative depth values (as done in the FTExtrudeGlyph class).
sammy 28cc198b 2008-05-07T14:58:09 * Reimplement all FTFont::BBox() variants using the same FTFontImpl::BBox() common method.
sammy 3823a30a 2008-05-07T14:56:57 * Add an overload of FTFont::BBox that returns an FTBBox object. It will save us a lot of code later.
sammy 10cdd9a4 2008-05-07T14:55:41 * Allow to create an FTBBox using two FTPoint objects. * Allow the operands to FTPoint's "+" and "-" operators to be const.
sammy a065f004 2008-05-06T21:19:42 * Refactor FTContour::ComputeOutsetPoint so that it's twice as short, even with the additional comments.
sammy 134711d7 2008-05-06T21:19:29 * Make FTContour:FTContour comply with the FreeType specification and remove duplicate points in the Bézier curves. Fixes weird rendering errors with some fonts.
sammy 4ed52c55 2008-05-06T10:00:48 * Fix an unsigned int / size_t mismatch in FTVectoriser.
sammy 15012d0f 2008-05-06T07:08:55 * Fix indentation by replacing a few tabs with spaces.
dtremenak 948e3629 2008-05-06T06:54:51 l != 1, depending on your font of course
dtremenak eb45c699 2008-05-06T06:38:37 VC build fixes from bzflag revs 17848-17852. * size_t consistency * avoid coercing from int to bool * make casts from double to float explicit rather than implicit, mostly by way of a few new getter functions in FTPoint, or avoid if possible.
sammy f7b79437 2008-05-05T14:55:11 * Refactor FTGlyph, FTFont and FTLayout so that client applications can hopefully subclass them.
sammy 68bcaf26 2008-05-05T14:52:48 * Rename FTTextureFontImpl::MakeGlyph to FTTextureFontImpl::MakeGlyphImpl to avoid confusion.
sammy 7d3852f9 2008-05-05T14:52:17 * Rename FTFontImpl::base to FTFontImpl::intf.
brlcad 4a459132 2008-05-05T13:22:30 quell warnings, reorder initializations
sammy 0a28e5d3 2008-05-04T19:39:34 * Put MakeGlyph back into FT*Font classes instead of FT*FontImpl, and make it use as few FT*FontImpl members as possible so that external application may actually have a chance to properly subclass us.
sammy 316a7285 2008-05-04T19:38:55 * The FTFont<->FTFontImpl bridge is now complete.
sammy 89585b8a 2008-05-04T19:38:41 * Put my name and Sean's in the public headers so that people know who to contact.
sammy 54c815bb 2008-05-04T19:38:07 * Cast strings to unsigned char * before handling them to our internal methods, because the chars may be cast directly to int, causing crashes with 8-bit strings.
brlcad 02817b9c 2008-05-04T06:23:04 quell compilation warnings about the last enum having a comma
brlcad b7c7e131 2008-05-04T02:58:40 refer to local/private headers with local path inclusion, otherwise the search include paths are wrong
brlcad 1b658504 2008-05-04T02:57:13 list the libs as libs instead of flags so they get passed through as dependencies in the libtool archive
sammy 552366af 2008-05-02T14:52:54 * Add a virtual destructor to FTLayoutImpl to make sure derived classes have their destructors called. * Make all FTLayoutImpl members protected. Only its derived classes and FTLayout need to access them.
sammy e0e8e479 2008-05-02T13:27:11 * Add an implicit cast to FTGL::TextAlignment in the FTLayout::SetAlignment C wrapper.
sammy 9b3a3a8a 2008-05-02T13:18:09 * Started documenting the FTLayout C bindings.
sammy c33efa0d 2008-05-02T12:45:21 * Use a smaller logo on the User Guide's front page.
sammy 7f2bb3f1 2008-05-02T12:43:57 * Document the C bindings for FTGlyph.
sammy d30f9095 2008-05-02T12:43:22 * Fix a potential memory leak in the FTGlyph C bindings error handler.
sammy 92238082 2008-05-02T09:15:38 * Change a few function names in the FTFont C bindings to avoid confusion with other classes. * Document the C bindings. Since it's almost copypasta from the C++ documentation, I put the constructors back in their original files.
sammy d9cdef45 2008-05-02T09:13:14 * Add RENDER_ALL to the enum used in Font::Render() so that client applications need not worry about future extensions.
sammy 66e53f95 2008-05-02T07:21:57 * Fix a memory leak in ~FTExtrudeGlyph: only one of the three display lists was being freed.
sammy 80e809f1 2008-05-02T07:21:09 * Fix brown-paper-bag bug in the vector product computation: the indices were completely messed up. Thanks to valgrind for spotting it for me.
sammy dfa07fc3 2008-05-02T07:20:51 * Fix a small memory leak in the C bindings destructors.
sammy e8c876bc 2008-05-01T19:31:06 * Make our base classes' destructors public. We want to prevent accidental instantiation, but direct destruction is perfectly legal.
sammy 54e3e0a6 2008-05-01T18:46:22 * Proper FTFace member initialisation to prevent destructor-time crashes.
sammy fbcf2a88 2008-05-01T18:33:44 * Optimise FTFace::KernAdvance() so that kerning for font indices < 128 is precomputed during FTFace() instantiation to avoid calling FT_Get_Kerning() too often. Patch by Sean Morrison, taken from bzflag commit r14652, reworked for safety and performance by me.
sammy b9df86a4 2008-05-01T18:31:35 * Optimize FTCharmap::FontIndex() so that font indices < 128 are precomputed during FTCharmap() instantiation to avoid repeated tt_cmap4_char_index() calls. Performance patch by Sean Morrison, taken from bzflag commit r14644.
sammy 822d0f8f 2008-05-01T18:30:29 * Avoid crashing when the texture size is so small that its integer size becomes zero. At the same time, round many floats instead of simply flooring them to int. First part by Sean Morrison from bzflag commit r14590.
sammy 40644e3b 2008-05-01T14:19:34 * Patches by Sean Morrison, from BzFlag commits r15755 and r14843: + Only delete textures if there is at least one of them. + Ensure that the FTTextureFont data members get set for all cases. * Added Sean to the AUTHORS file.
sammy 129a4733 2008-05-01T13:42:49 * Store FTPoints in the BBox object instead of floats. This was a todo from Henry.
sammy f0705dc2 2008-05-01T10:54:28 * Inline most FTPoint methods and operators. This will probably make the code smaller instead of bigger, because most of what they do will be optimised out by the compiler. * Get rid of the weird GetNormal() method and reimplement it using the ^ operator (vector product) and Normalise() method instead.