|
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.
|
|
865b9043
|
2008-05-22T12:39:12
|
|
* Fix an off-by-one error in FTBufferGlyph::Render.
|
|
3d018d80
|
2008-05-21T16:37:54
|
|
* Fix the quad vertex order in FTBufferFont.
|
|
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.
|
|
901ee76c
|
2008-05-21T15:45:11
|
|
* Fix a texture coordinate bug caused by our next-power-of-two ceiling.
|
|
fa5631df
|
2008-05-21T15:43:52
|
|
* Add proper glPushAttrib() and glPushClientAttrib() calls to the
rendering methods that need them.
|
|
68a99036
|
2008-05-21T11:39:31
|
|
* Enable GL_TEXTURE_2D in FTFont::Render variations that need it.
|
|
f2011b55
|
2008-05-21T00:39:04
|
|
quell warning
|
|
ca7c7a81
|
2008-05-20T23:49:25
|
|
* First try at the FTBufferFont/FTBufferGlyph implementation.
|
|
8932eba0
|
2008-05-20T23:48:56
|
|
* Rename FTTextureGlyphImpl::pos to FTTextureGlyphImpl::corner because pos
was misleading.
|
|
f7d00178
|
2008-05-19T15:45:47
|
|
* Starting the buffer font class revival. For now, it just consists in empty
FTBuffer, FTBufferGlyph and FTBufferFont classes.
|
|
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
|
|
9b33da91
|
2008-05-19T10:06:25
|
|
* Simplified contour parity check routine, formula courtesy of Guillaume
Bittoun.
|
|
13adc2c1
|
2008-05-19T10:06:07
|
|
* Add parentheses around && within || to please gcc.
|
|
612c3756
|
2008-05-11T21:43:57
|
|
* Simplify the C bindings. 70 lines gained.
|
|
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.
|
|
55dc91e0
|
2008-05-11T21:43:10
|
|
* Added optional position and string length to the Layout methods.
|
|
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.
|
|
32ef6d1e
|
2008-05-11T11:29:17
|
|
* Get rid of FTFontImpl::DoRender(), one of the oldest TODOs.
|
|
47e20607
|
2008-05-11T11:28:53
|
|
* Re-add FTFont::BBox() implementations with the old prototype, in case
old projects use them.
|
|
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).
|
|
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.
|
|
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.
|
|
68738f93
|
2008-05-09T10:02:46
|
|
* Put a few wrapper functions into extern "C++" braces because they return
references to C++ objects.
|
|
17f84259
|
2008-05-09T10:01:49
|
|
* Minor cosmetic fix (remove tab).
|
|
65ba4d60
|
2008-05-08T23:12:47
|
|
and more fun with float/double consistency
|
|
d33c1e50
|
2008-05-08T23:12:29
|
|
more fun with size_t consistency
|
|
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.
|
|
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.
|
|
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.
|
|
2ecbe452
|
2008-05-08T17:05:26
|
|
* Add scalar product to the FTPoint operators.
|
|
f2348fe5
|
2008-05-08T17:04:07
|
|
* Cosmetic fixes in the FTLayout C bindings.
|
|
55bf1ff0
|
2008-05-08T17:03:07
|
|
* Small optimisation in FTContour::ComputeOutsetPoint().
|
|
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.
|
|
45c2269f
|
2008-05-07T16:10:28
|
|
* Some code cleanup here and there, mostly in FTGlyphContainer.
|
|
1deacbc3
|
2008-05-07T15:07:38
|
|
* Documentation updates.
|
|
48b68f55
|
2008-05-07T15:06:19
|
|
* Replace FTBBox::Move() with the += operator, to make it clearer that the
object is modified in the process.
|
|
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.
|
|
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.
|
|
f58ddca2
|
2008-05-07T14:59:03
|
|
* Fix FTBBox::SetDepth() behaviour with negative depth values (as done in
the FTExtrudeGlyph class).
|
|
28cc198b
|
2008-05-07T14:58:09
|
|
* Reimplement all FTFont::BBox() variants using the same FTFontImpl::BBox()
common method.
|
|
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.
|
|
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.
|
|
a065f004
|
2008-05-06T21:19:42
|
|
* Refactor FTContour::ComputeOutsetPoint so that it's twice as short, even
with the additional comments.
|
|
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.
|
|
4ed52c55
|
2008-05-06T10:00:48
|
|
* Fix an unsigned int / size_t mismatch in FTVectoriser.
|
|
15012d0f
|
2008-05-06T07:08:55
|
|
* Fix indentation by replacing a few tabs with spaces.
|
|
948e3629
|
2008-05-06T06:54:51
|
|
l != 1, depending on your font of course
|
|
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.
|
|
f7b79437
|
2008-05-05T14:55:11
|
|
* Refactor FTGlyph, FTFont and FTLayout so that client applications can
hopefully subclass them.
|
|
68bcaf26
|
2008-05-05T14:52:48
|
|
* Rename FTTextureFontImpl::MakeGlyph to FTTextureFontImpl::MakeGlyphImpl to
avoid confusion.
|
|
7d3852f9
|
2008-05-05T14:52:17
|
|
* Rename FTFontImpl::base to FTFontImpl::intf.
|
|
4a459132
|
2008-05-05T13:22:30
|
|
quell warnings, reorder initializations
|
|
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.
|
|
316a7285
|
2008-05-04T19:38:55
|
|
* The FTFont<->FTFontImpl bridge is now complete.
|
|
89585b8a
|
2008-05-04T19:38:41
|
|
* Put my name and Sean's in the public headers so that people know who to
contact.
|
|
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.
|
|
02817b9c
|
2008-05-04T06:23:04
|
|
quell compilation warnings about the last enum having a comma
|
|
b7c7e131
|
2008-05-04T02:58:40
|
|
refer to local/private headers with local path inclusion, otherwise the search include paths are wrong
|
|
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
|
|
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.
|
|
e0e8e479
|
2008-05-02T13:27:11
|
|
* Add an implicit cast to FTGL::TextAlignment in the FTLayout::SetAlignment
C wrapper.
|
|
9b3a3a8a
|
2008-05-02T13:18:09
|
|
* Started documenting the FTLayout C bindings.
|
|
c33efa0d
|
2008-05-02T12:45:21
|
|
* Use a smaller logo on the User Guide's front page.
|
|
7f2bb3f1
|
2008-05-02T12:43:57
|
|
* Document the C bindings for FTGlyph.
|
|
d30f9095
|
2008-05-02T12:43:22
|
|
* Fix a potential memory leak in the FTGlyph C bindings error handler.
|
|
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.
|
|
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.
|
|
66e53f95
|
2008-05-02T07:21:57
|
|
* Fix a memory leak in ~FTExtrudeGlyph: only one of the three display lists
was being freed.
|
|
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.
|
|
dfa07fc3
|
2008-05-02T07:20:51
|
|
* Fix a small memory leak in the C bindings destructors.
|
|
e8c876bc
|
2008-05-01T19:31:06
|
|
* Make our base classes' destructors public. We want to prevent accidental
instantiation, but direct destruction is perfectly legal.
|
|
54e3e0a6
|
2008-05-01T18:46:22
|
|
* Proper FTFace member initialisation to prevent destructor-time crashes.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
129a4733
|
2008-05-01T13:42:49
|
|
* Store FTPoints in the BBox object instead of floats. This was a todo
from Henry.
|
|
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.
|
|
9fa3bb52
|
2008-05-01T10:04:14
|
|
* Moved C constructor bindings to FTFont.h and FTLayout.h so that
they appear in the same file in the generated documentation.
* Various minor documentation updates.
|
|
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.
|
|
8f4cefb2
|
2008-04-30T16:35:23
|
|
* Remove FTGL_EXPORT specification from classes that are not actually
exported.
|
|
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.
|
|
1d9265ad
|
2008-04-30T14:10:08
|
|
* Improve constructor code in the FTFont and FTLayout C bindings. Shorter
(40 lines) and more consistend code.
|
|
24656f3c
|
2008-04-30T14:07:52
|
|
* Fix Makefile to add missing header files in "make dist".
|
|
8c654f07
|
2008-04-30T14:02:25
|
|
* Implement FTLayout::Error(). Nothing uses it yet and it's always zero,
but it may come in handy later and we want a stable API.
|
|
0c84f1f3
|
2008-04-29T22:59:41
|
|
* Wrote C bindings for the FTGlyph class.
|
|
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.
|
|
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.
|
|
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.
|
|
ff3228e6
|
2008-04-29T16:47:26
|
|
* More cleanup following the private pointer refactoring:
+ Removed private type enums from the public ftgl.h header.
+ Protected all private implementation ctors and dtors.
+ Prevent accidental initialisation of the base classes by protecting
their constructors. Derived classes can still be properly instantiated.
|
|
b81733e4
|
2008-04-29T15:44:42
|
|
* Clean up the C bindings by splitting FTGlue.cpp into FTLayoutGlue.cpp,
FTGlyphGlue.cpp (unused yet) and FTFontGlue.cpp. C methods previously
scattered all around are now located in one of these 3 files.
* Hide extern "C" and namespace C constructs in a single FTGL_BEGIN_C_DECLS
macro.
* Use namespace FTGL all around instead of a mix of C and FTGL namespaces.
|
|
8886dced
|
2008-04-29T14:57:06
|
|
* Fix the ftglLayoutRenderSpace C binding's prototype, which wasn't in sync
with its implementation in FTGlue.cpp.
|
|
1f4a94f8
|
2008-04-29T14:39:28
|
|
* Since the MIT license is LGPL-compatible, there is no real point in
shipping FTGL under a dual license. Consequently removing LGPL references
from the code, in agreement with Sean.
|
|
4db4b05d
|
2008-04-29T11:30:15
|
|
* Remove dead code: FTGLBufferFont and FTBufferGlyph are the same as
FTGLPixmapFont and FTPixmapGLyph, except the latter are actually used
and do work.
|
|
001ebbdd
|
2008-04-29T11:18:48
|
|
* Remove useless overriden methods in FTGLBitmapFont that reimplemented
the same thing as in FTFont.
|
|
c96146ed
|
2008-04-29T06:44:51
|
|
* Moved header files that are not required by library clients into src/
so that they do not get installed.
* Created an ftgl.h header that allows clients to #include <FTGL/ftgl.h> and
be done with it.
|
|
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.
|
|
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.
|
|
3674c4d1
|
2008-04-28T17:31:42
|
|
specify minimum versions, make ac be 2.58 and am be 1.6 (needed in order to support os x 10.4 out-of-the-box). PKG_CHECK_MODULES doesn't seem to wrap the args properly so you can't embed AC_MSG_RESULT, make a zip and bzip2 when we make a dist, and provide NULL to make am happy
|