src/FTFont

Branch


Log

Author Commit Date CI Message
Frank Heckenbach 778b8f21 2019-05-24T23:58:47 src/FTFont/FTBufferFont.cpp, src/FTFont/FTTextureFont.cpp: GL_TEXTURE_ENV_MODE is not valid mask for glPushAttrib. Use GL_TEXTURE_BIT instead to avoid leaking texture env mode. (reported by Eddie-cz, https://github.com/frankheckenbach/ftgl/issues/3)
Frank Heckenbach c261e7bd 2019-02-07T22:03:32 implement LegacyOpenGLState, see README-LegacyOpenGLState
Shlomi Fish 936719bc 2018-05-06T23:42:33 Correct a typo in a comment.
Richard Ulrich d7d4594e 2012-06-13T21:27:56 added polygon extraction
sammy 5c9dbfd7 2011-05-21T09:51:18 FTFont: replace glTexEnvf with glTexEnvi where appropriate. Fix courtesy of Bill Robinson <airbaggins@gmail.com>.
brlcad 9a13e4f8 2010-09-28T19:01:23 implement a quick check for __FUNCTION__ and __func__ based on whether the compiler can actually use one or the other at runtime. cache the checks and provide __FUNC__ for use via FTGL_CPP_FUNC.
sammy 42d104ae 2010-09-16T22:40:57 Fix a few compiler warnings, patch courtesy of packadal@gmail.com.
sammy 488765fb 2010-05-23T17:50:29 Set proper polygon mode in FTPixmapFont, to fix rendering on OS X. Fix courtesy of Duncan Murdoch, from SF patch #2023536.
sammy aaef5c16 2010-05-23T14:20:37 Enforce GL_POLYGON_BIT in FTPolygonFont, so that the caller's context does not interfere with our rendering. Addresses SF bug #2021485.
sammy cc4f28ba 2010-05-23T00:34:49 Set GL_TEXTURE_ENV_MODE to GL_MODULATE whenever necessary, to avoid rendering an empty rectangle. Addresses SF bug #2253040.
sammy d10af39f 2010-05-23T00:24:14 Properly handle Render's position argument in FTTextureFont and FTBufferFont. Addresses SF bug #2883801.
sammy 8157485d 2010-05-22T22:49:21 Fix texture height computation in FTTextureFont. Patch courtesy of Simone Contini. Addresses SF bug #2827618.
sammy 2723c7d3 2010-05-22T22:17:27 Fix a division by zero in FTTextureFont.cpp. Addresses SF bug #2692128.
sammy 309590c0 2010-05-22T17:47:46 Fix padding usage in FTBufferFont, patch courtesy of Benlitz. Addresses sourceforge bug #2023590.
brlcad c04b6ae5 2010-05-12T16:29:08 pull in change from bzflag downstream, partial r20590 by brlcad, try harder to make sure we don't get a <char> template instantiation. getting a negative character code on high ascii values that causes a crash in FTGlyphContainer::Advance().
sammy 29603ae3 2009-07-19T15:28:59 Remove GL_BLEND tampering. It's the caller application's responsibility to enable or disable blending.
sammy cab1fafd 2009-07-19T13:05:50 Update my e-mail address everywhere.
sammy 92d175e8 2009-01-02T15:51:25 Implement ftglCreateBitmapFontFromMem() and siblings so that the font-loading can be done from memory in C (and in languages binding with FTGL through the C interface such as C#).
jwmelto 2766703a 2008-09-08T03:16:59 Eliminate some double->float conversions for performance
dtremenak 03663110 2008-06-13T21:16:09 make windows use the FONT_FILE mechanism for setting default font in demos also, no reason to special-case it. add standard license verbage to msvc config.h. tack a copyright notice on a couple files I made significant changes to.
sammy ebd805d1 2008-06-12T14:13:05 * Prevent issues when strndup is defined as a macro.
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 a132a5e4 2008-06-09T11:45:52 * Document and reorganise FTBuffer. It is now clean enough.
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 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 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 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 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 612c3756 2008-05-11T21:43:57 * Simplify the C bindings. 70 lines gained.
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 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 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 45c2269f 2008-05-07T16:10:28 * Some code cleanup here and there, mostly in FTGlyphContainer.
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 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.
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 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 b7c7e131 2008-05-04T02:58:40 refer to local/private headers with local path inclusion, otherwise the search include paths are wrong
sammy 7f2bb3f1 2008-05-02T12:43:57 * Document the C bindings for FTGlyph.
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 dfa07fc3 2008-05-02T07:20:51 * Fix a small memory leak in the C bindings destructors.
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 fa7d0739 2008-05-01T09:31:27 * Mass consistency renaming: the fonts' "FTGL" prefix is dropped in favour of "FT" because all other types use only the latter. * Rename "Extrd" types to "Extrude" because the former doesn't really make much sense. * Added appropriate #defines so that legacy applications still build.
sammy 2aa2aeb5 2008-04-30T16:27:34 * Move include/* to src/FTGL/* so the files in there can directly be referred to as "FTGL/*.h". This is convenient because they will be installed in a similar location. * Put a warning in each legacy public header to advise users to only include the generic <FTGL/ftgl.h> header instead.
sammy 1d9265ad 2008-04-30T14:10:08 * Improve constructor code in the FTFont and FTLayout C bindings. Shorter (40 lines) and more consistend code.
sammy 7f4fcafa 2008-04-29T21:35:16 * End of the pImpl refactoring task started in [972]. FTGlyph was the last class needing the change. As a consequence, FTGlyph is now also exported in the library API, and so are FTBBox and FTPoint.
sammy fa063816 2008-04-29T20:42:15 * Simplified FTFont's constructor. Since the class is kind of abstract, there is no need to export the constructor interface: only derived classes need to advertise how they are instantiated.
sammy 387dec48 2008-04-29T17:11:57 * Move FTGlyph, FTFont and FTLayout classes and their derivatives into separate subdirectories of src/ to avoid cluttering src/ with too many files. The Visual Studio solution still needs an update.