include


Log

Author Commit Date CI Message
Werner Lemberg 4e9dae68 2000-08-29T16:50:01 Introducing new macro LOCA_VAR to solve some problems with structures containing function pointers. FT will now compile again with C++.
David Turner 80b96f35 2000-08-29T16:04:28 fixed some bugs in the caching sub-system and improved its API to enable many kinds of glyph images.. (note that the "ftview" program has been changed to use the caching sub-system, "ftmulti" and "ftstring" should come soon).
Werner Lemberg dc7f9c8d 2000-08-27T07:12:40 Formatting. docmaker.py will now run with older Python versions also. Small fix.
Werner Lemberg 95853c87 2000-08-26T22:16:44 Introducing new error code FT_Err_Invalid_Cache_Handle. Regrouping of error codes.
Werner Lemberg d1b7475b 2000-08-24T16:29:15 Formatting, small fixes. Adding basic input parameter checking for exported functions.
David Turner 98d2701c 2000-08-24T11:53:35 changed the FTC_Manager_New function to accept "max_faces" and "max_sizes" parameters fixed some bugs. the cache manager is now tested and validated (now, it's time for the glyph image cache)
David Turner 34f1c2f5 2000-08-23T22:47:44 finally, the CID and Type1z driver are finished !! Werner, please have a look at the code and start re-formatting it :-)
David Turner 3b2c50eb 2000-08-23T21:11:13 completing the FreeType Cache subsystem files
Werner Lemberg 8728f294 2000-08-23T17:32:42 Formatting, small fixes. Adding copyright notices etc.
David Turner a39acf55 2000-08-23T02:47:57 updated "psaux" and "type1z". The Type 1 driver now completely relies on "psaux". I now need to change the CID driver accordingly, then finally move the Type 2 parsing routines to "psaux" when appropriate..
David Turner d8b4514d 2000-08-22T22:53:03 added preliminary emboldening code.. still _very_ experimental
David Turner 38cb5af0 2000-08-22T22:51:57 changed the "devel" setup targets to use "builds/<system>/devel" as the build directory. This is used to specify a specific "ftoption.h" that toggles all traces and logging on. Hence, the default build doesn't need the traces
David Turner 97488074 2000-08-22T22:36:33 the psaux module is now nearly completed the "type1z" driver uses it to parse Type 1 charstrings (not to parse the Type 1 token stream yet though)..
David Turner f95a6031 2000-08-21T04:58:49 minor updates to the "psaux" module. Werner, please do not start re-formatting my experimental code until I declare it "finished", because I still make big changes to it that create lots of CVS conflicts.. thanks for your work, anyway :-)
Werner Lemberg b1c8bf06 2000-08-17T07:18:04 Minor formatting. Adding copyright/C++ guards to psaux files.
David Turner 24d7024c 2000-08-17T01:09:06 added draft "psaux" code the t1 driver now reads the complete font matrix and applies it (some fonts do not work properly without hinting though...)
Werner Lemberg 29a90e26 2000-08-03T00:03:08 Updating unix/ftconfig.in to recent config/ftconfig.h changes. More C++ fixes: Introducing LOCAL_FUNC_X for local functions used in function pointers (there are no local anonymous functions in C++) and FT_CPLUSPLUS (instead of FT_EXPORT_VAR) to define linkage of structures which contain function pointers.
Werner Lemberg 3a89c2a4 2000-08-01T17:05:20 Removing FT_MAKE_OPTION_SINGLE_LIBRARY_OBJECT. It has never worked. Instead, define BASE_DEF() and BASE_FUNC() similarly to FT_EXPORT_DEF() and FT_EXPORT_FUNC(), respectively, allowing the programmer to define proper types and/or export lists for multiple DLLs if necessary (e.g. ftbase.dll -- standalone, fttype1.dll -- needs ftbase.dll, etc.). The library is finally compiling and linking natively with a C++ compiler!
Werner Lemberg c713d924 2000-08-01T13:17:04 Added #ifdef's for C++ to all header files.
Werner Lemberg b8431ed7 2000-08-01T01:34:18 Use the ANSI offsetof() macro instead of something home-brewn.
Werner Lemberg e72c9fec 2000-07-31T18:59:02 Simplifying the FIELD_* and FRAME_* macros. Before calling these macros, you should #define FT_STRUCTURE to the structure which will be filled. Replaced FT_FIELD_REF with FT_FIELD_SIZE, FT_FIELD_SIZE_DELTA, and FT_FIELD_OFFSET to make the code more readable; additionally, it should be more portable because we no longer cast a pointer to an FT_UShort (which e.g. fails with Sun's C++ compiler) but computes the difference between two pointers which is guaranteed to work. Fixing warnings (and C++ errors) while using Sun's latest cc and CC incarnations. Most of them are related to variable shadowing.
Just van Rossum e973e66a 2000-07-28T01:08:32 Header for one Mac-specific additional API call.
Werner Lemberg 58b17f96 2000-07-27T23:29:08 Formatting.
David Turner c5cdf8bc 2000-07-27T21:40:22 re-adding a "unix-dev.mk". Debugging libtool output is just too much of a pain for me, I prefer a good old static lib without optimizations :-) "make devel" is back on Unix then..
Werner Lemberg 796f9de2 2000-07-26T22:51:03 Updating to libtool 1.3.5.
David Turner bc80b12b 2000-07-26T22:29:22 small compilation fix on 64-bits machines..
David Turner 5fe4c00e 2000-07-26T19:04:08 - fixed the incorrect SO extension for Visual C++ - disabled the TrueType interpreter by default - disabled the "type1" driver, "type1z" is now used by default (the internal driver name is "type1" now !!)
Werner Lemberg 04563546 2000-07-24T06:01:34 `make install' is available now. Formatting.
Just van Rossum 9cb8fb18 2000-07-23T16:24:42 removed duplicate macro (FT_MODULE_IS_DRIVER was defined twice)
Werner Lemberg d060a75b 2000-07-20T06:57:41 Formatting. Rudimentary support for autoconf (still using GNU make) Say `make unix'.
David Turner c49f69cb 2000-07-20T03:44:50 some welcome fixes related to the auto-hinter: - removed a stupid memory leak - fixed the weird metrics hinting (the horizontal edges were used, instead of the vertical one, to compute the metrics adjustments, silly, silly, silly). there is still some bugs that I'm looking at though, but we're very near the release..
David Turner 6930b45f 2000-07-19T17:13:03 - introduced FT_Get_Glyph_Name (see freetype.h) to access individual glyph names. Changed some drivers to support it through a new interface named "glyph_name". - introduced FT_Get_Sfnt_Name (see ftnames.h) to access the SFNT name table in a TrueType/OpenType file..
Werner Lemberg a4367e08 2000-07-19T16:17:55 Formatting. Fixing documentation. Removing unused configuration macros.
Werner Lemberg e1bbc017 2000-07-19T06:25:56 Formatting. Fixing documentation.
Werner Lemberg c8f9cf37 2000-07-19T02:59:31 Formatting.
Werner Lemberg 0959a877 2000-07-18T06:50:03 Formatting.
Werner Lemberg 5aa646c5 2000-07-14T06:16:47 Formatting. Fixing a bug in FT_Get_Kerning(). Moving FT_Get_Module_Interface() to ftoutln.c.
Werner Lemberg 6cca5578 2000-07-12T05:52:59 Formatting.
Werner Lemberg 862bcbb7 2000-07-11T06:50:03 Fixed typo.
Werner Lemberg 2405d14f 2000-07-11T06:12:20 Formatting/Synchronizing. Updating OS/2 bits in ttnameid.h to latest version (as posted on the opentype@ list).
David Turner e161ee44 2000-07-10T22:03:10 fixed a bug that caused invalid clipping of monochrome bitmaps when they were blitted on the left edge of an 8-bit pixmap..
Werner Lemberg 93ac3e39 2000-07-10T21:41:32 Formatting. Synchronizing docs.
Werner Lemberg 670caab8 2000-07-10T14:24:26 Formatting.
David Turner b390a124 2000-07-10T00:13:39 removed some stupid #defines in <freetype/config/ftconfig.h>
Werner Lemberg 97b2de58 2000-07-10T00:06:22 More formatting. Synchronizing docu in include/freetype with src/base.
Werner Lemberg b48a6094 2000-07-09T19:15:30 Formatting. Moving some internal structures and constants from freetype.h to ftobjs.h. Finally removing FT_LOAD_ANTI_ALIAS. Cleaning up all error codes. Only the used ones have survived :-) Removed unused FT_MAX_GLYPH_FORMATS constant. T2 error codes are now in the range 0x500-0x5FF (instead of `TrueDoc'). Some minor improvements of error return values. Finally fixing error code values in ftraster and ftgrays to be compliant with all other FT error codes.
Werner Lemberg 415cc7c9 2000-07-08T22:52:21 Formatting. Adding proper trace level.
Werner Lemberg 7fa51b55 2000-07-08T19:51:42 Formatting. Adding some trivial error checking. Adding/Fixing tracing levels.
David Turner 9b3d1c75 2000-07-07T19:47:34 - fixed a leak in the Type 1 driver - updated the CFF driver to support flex opcodes
Werner Lemberg bd5ae400 2000-07-05T04:32:02 Run g++ on the FreeType library. This should make the use of code in C++ programs easier: Renamed FT_WordXX to FT_UIntXX. Changed a lot of void* to FT_Byte* if related to i/o streams -- FreeType always accesses streams byte-wise, so this makes sense IMHO. Added a lot of #ifdef __cplusplus to header files (and removed a few). Other minor syntax fixes (mostly casts). Replaced the variable `private' with `private_dict' -- `private' is reserved in C++.
David Turner c6157665 2000-07-04T18:15:22 stupid changed due to Visual C++ brain dead behaviour the "vector" parameter of FT_Vector_Transform was changed to "vec"..
David Turner c6a92202 2000-07-04T18:12:13 various clean-ups: - using FT_UNUSED instead of UNUSED - using FT_LONG64 and FT_INT64 instead of LONG64 & INT64 - using FT_SIZEOF_INT & FT_SIZEOF_LONG instead of... - removed the #ifdefs that used SIZEOF_INT, instead we now use FT_Int32 and FT_UInt32 when needed to support 32-bits quantity correctly on 64-bits systems..
Werner Lemberg aa8c7da0 2000-07-04T03:37:18 Don't use -lefence in the demo Makefile. Added C++ guards in ftmodule.h Fix error check in ftglyph.c Formatting; adding copyrights; fixing documentation
David Turner d18388e4 2000-07-03T15:00:49 fixed a few 64-bit related bugs in "sfnt/ttload.c" and "base/ftstream.c" Note that "TT_PCLT" was incorrectly defined in <freetype/tttables.h>
Werner Lemberg 5811c7c3 2000-07-02T13:53:16 Formatting. Fixed some errors which prevented compiling.
David Turner db5285a0 2000-07-02T01:27:32 added missing file
David Turner e0bba322 2000-07-01T19:33:40 fixed the PSNames -> Unicode translation table the Python script "glnames.py" was buggy and lacked quite a few values in the "names_to_unicode" table !!
David Turner c06aba28 2000-06-30T23:38:23 updated the CHANGES file, plus a few fix in "ftstring" to display monochrome glyphs too
David Turner f9ca2bb5 2000-06-30T23:12:55 managed to re-design entirely the API in <freetype/ftglyph.h> It is now really the "glyph factory" that Stefan was probably dreaming about.. fixed some recent formatting errors from Werner ;-) cleaned up the demonstration programs from most of the rust that they had, though I'm sure someone is going to re-format them really soon !! "ftstring" now uses the new ftglyph.h API, and is now faster and smaller.. yep..
David Turner 5ae831c1 2000-06-30T01:31:22 changes used to implement the auto-hinting support
Werner Lemberg deb4e983 2000-06-29T03:14:25 Formatting... Preprocessor lines now always start the line. Improved error handling in `base' module. Fixed a out-of-bounds error in ttgload.
David Turner 81bb4ad9 2000-06-28T04:19:49 latest clean-ups.. The code compiles with NO WARNINGS with GCC and Visual C++ (also with LCC minus debugging options)
David Turner 9d636b6d 2000-06-27T23:32:27 various cleanups to reduce compiler warnings + support for CID-keyed fonts in the CFF driver (still some unexpected bugs though..)
Werner Lemberg b3880dde 2000-06-27T05:58:22 fixing __cplusplus block end.
David Turner 994d7747 2000-06-25T04:49:19 various hacks to the TrueType driver that I cannot explain now, but they'll be very useful in the near future :-)
David Turner 90f68b72 2000-06-23T12:26:14 still more updates to the TrueType driver to make it more "extensible"..
David Turner b51a58fa 2000-06-23T11:36:51 added a few missing commits !!
David Turner 53078ee7 2000-06-22T00:26:54 removed obsolete headers, added new ones
David Turner f0df85ba 2000-06-22T00:17:42 - MAJOR INTERNAL REDESIGN: A lot of internal modifications have been performed lately on the source in order to provide the following enhancements: - more generic module support: The FT_Module type is now defined to represent a handle to a given module. The file <freetype/ftmodule.h> contains the FT_Module_Class definition, as well as the module-loading public API The FT_Driver type is still defined, and still represents a pointer to a font driver. Note that FT_Add_Driver is replaced by FT_Add_Module, FT_Get_Driver by FT_Get_Module, etc.. - support for generic glyph image types: The FT_Renderer type is a pointer to a module used to perform various operations on glyph image. Each renderer is capable of handling images in a single format (e.g. ft_glyph_format_outline). Its functions are used to: - transform an glyph image - render a glyph image into a bitmap - return the control box (dimensions) of a given glyph image The scan converters "ftraster.c" and "ftgrays.c" have been moved to the new directory "src/renderer", and are used to provide two default renderer modules. One corresponds to the "standard" scan-converter, the other to the "smooth" one. The current renderer can be set through the new function FT_Set_Renderer. The old raster-related function FT_Set_Raster, FT_Get_Raster and FT_Set_Raster_Mode have now disappeared, in favor of the new: FT_Get_Renderer FT_Set_Renderer see the file <freetype/ftrender.h> for more details.. These changes were necessary to properly support different scalable formats in the future, like bi-color glyphs, etc.. - glyph loader object: A new internal object, called a 'glyph loader' has been introduced in the base layer. It is used by all scalable format font drivers to load glyphs and composites. This object has been created to reduce the code size of each driver, as each one of them basically re-implemented its functionality. See <freetype/internal/ftobjs.h> and the FT_GlyphLoader type for more information.. - FT_GlyphSlot had new fields: In order to support extended features (see below), the FT_GlyphSlot structure has a few new fields: linearHoriAdvance: this field gives the linearly scaled (i.e. scaled but unhinted) advance width for the glyph, expressed as a 16.16 fixed pixel value. This is useful to perform WYSIWYG text. linearVertAdvance: this field gives the linearly scaled advance height for the glyph (relevant in vertical glyph layouts only). This is useful to perform WYSIWYG text. Note that the two above field replace the removed "metrics2" field in the glyph slot. advance: this field is a vector that gives the transformed advance for the glyph. By default, it corresponds to the advance width, unless FT_LOAD_VERTICAL_LAYOUT was specified when calling FT_Load_Glyph or FT_Load_Char bitmap_left: this field gives the distance in integer pixels from the current pen position to the left-most pixel of a glyph image WHEN IT IS A BITMAP. It is only valid when the "format" field is set to "ft_glyph_format_bitmap", for example, after calling the new function FT_Render_Glyph. bitmap_top: this field gives the distance in integer pixels from the current pen position (located on the baseline) to the top-most pixel of the glyph image WHEN IT IS A BITMAP. Positive values correspond to upwards Y. loader: this is a new private field for the glyph slot. Client applications should not touch it.. - support for transforms and direct rendering in FT_Load_Glyph: Most of the functionality found in <freetype/ftglyph.h> has been moved to the core library. Hence, the following: - a transform can be specified for a face through FT_Set_Transform. this transform is applied by FT_Load_Glyph to scalable glyph images (i.e. NOT TO BITMAPS) before the function returns, unless the bit flag FT_LOAD_IGNORE_TRANSFORM was set in the load flags.. - once a glyph image has been loaded, it can be directly converted to a bitmap by using the new FT_Render_Glyph function. Note that this function takes the glyph image from the glyph slot, and converts it to a bitmap whose properties are returned in "face.glyph.bitmap", "face.glyph.bitmap_left" and "face.glyph.bitmap_top". The original native image might be lost after the conversion. - when using the new bit flag FT_LOAD_RENDER, the FT_Load_Glyph and FT_Load_Char functions will call FT_Render_Glyph automatically when needed.
Werner Lemberg 100d6d47 2000-06-17T20:15:06 Fixing glyph name typos in glnames.py; more formatting.
David Turner f9b8dec4 2000-06-16T19:34:52 major reformatting of the modules source code in order to get rid of most of the basic types redefinitions (i.e. FT_Int instead of "FT_Int", etc..) The format-specific prefixs like "TT_", "T1_", "T2_" & 'CID_" are now only used in relevant structures.. fixed Werner's fix to t2gload.c :-) other small bug fixes
Werner Lemberg e3c11d7f 2000-06-16T06:49:56 A new round of formatting, adding/fixing documentation etc.
Werner Lemberg 78575dc0 2000-06-12T19:36:41 A lot of formatting. Added more tracing levels. More Makefile fixes. Minor other changes.
Werner Lemberg e35cac66 2000-06-11T03:46:57 A complete revision of FreeType 2's GNU makefiles (of the library): Tons of unnecessary stuff have been removed; only the essential rules have been retained. The source files now depend on all header files in include/freetype, include/freetype/config, and include/freetype/internal. This is not optimal, I know, and I'll try to improve this, but it is better than before (namely no dependencies on `internal'). FTDEBUG_SRC has been added (similar to FTSYS_SRC) -- I don't know exactly whether this is really useful, but it doesn't harm. There is now more documentation in the makefiles itself. io-frames.html: Use of <th>, <code>, and <var> for better tagging. Reactivating of FT_DEBUG_LEVEL_xxx macros. Added a lot of #include directives to make `multi' builds possible -- note that currently the modules cid, t1, and t1z have clashing structures and functions which means that you can only use one of these three modules for a multi build. Added some missing function declarations to (local) header files. Renamed some T1_Open_Face() to CID_Open_Face() in the cid module -- a lot of other functions should be renamed also... Replaced many FT_xxx stuff with T1_xxx in t1z driver -- this isn't finished yet... Fixed FT_Free() to allow a NULL pointer without an assertion (this has always been a valid assumption in FreeType, at least in FT 1.x). A lot of other, minor fixes (mostly documentation).
David Turner 2b9be99c 2000-06-07T23:41:17 a simple commit for Beta 7, I have disabled tracing in this commit, and will re-enable it later..
David Turner c2a64e26 2000-06-07T20:22:44 changed the documention of FT_FaceRec, "face.size" and "face.glyph" are not private anymore.. (that was a mistake..)
David Turner 803a3fdf 2000-06-07T20:04:56 added new macro MEM_Alloc_Array
David Turner 0f991b43 2000-06-07T20:04:34 new version of the CFF driver, this one works :-)
Werner Lemberg e1d5dd78 2000-06-07T04:48:12 Moved all *errors.h header files to include/freetype/internal for consistency. Removed unused error message.
Werner Lemberg 61bd4b9d 2000-06-07T00:00:08 Added FT_FRAME_SKIP_xxx to skip fields. More use of READ_Fields() in ttsbit.c Other minor fixes.
Werner Lemberg 4e6dd858 2000-06-05T05:26:15 freetype.h: Adding ft_encoding_xxx values for some CJK encodings. Fixing copyright notice on many files. Changed some tracing levels. A lot of formatting, fixing documentation etc. as usual.
Werner Lemberg eb81e378 2000-06-03T06:03:11 More preparation for tracing. Formatting.
Werner Lemberg 9a754ce3 2000-06-02T21:31:32 Formatting; adding some tracing code.
Werner Lemberg d66ea312 2000-06-01T15:49:28 FT_Outline_Decompose() now returns FT_Error. Minor bug fixes. More formatting, adding/fixing documentation.
David Turner a7b53c47 2000-06-01T06:01:59 changed an important comment note for FT_Size_Metrics describing the ascender, descender and text height..
David Turner 6b0bf346 2000-06-01T05:01:01 slight change to the smooth renderer to make it compile stand alone with the _STANDALONE_ macro defined.. See comments inside it "src/base/ftgrays.c"
David Turner 04aa800c 2000-06-01T03:27:48 added a CID-keyed font driver in "src/cid" fixed two bugs in the smooth renderer
Werner Lemberg 0c8cde2e 2000-05-30T20:10:06 ftgrays.c: Formatting. It seems to me that _STANDALONE_ doesn't work yet... Will it ever work? If not, the unused code should be removed. ftconfig.h, ftobjs.h: Fix my last fix of the UNUSED() macro.
Werner Lemberg f13e6333 2000-05-30T16:49:14 Formatting; minor improvements.
David Turner 5b401bb9 2000-05-29T23:03:15 additional changes to the CFF/Type2 driver
Werner Lemberg a519b3b7 2000-05-29T20:46:12 Formatting, fixing descriptions.
David Turner b1677a87 2000-05-29T20:37:41 changed the SFNT driver slightly to add more robust checking based on the "search_rang", etc.., fields of the sfnt header.. This avoids problems (like certain Type 1 multiple masters incorrectly recognized as trueType files)..
David Turner 2e421319 2000-05-26T22:13:17 moved a lot of things from the TrueType driver to the SFNT module (whose interface has changed, by the way) This allows even more code re-use between TrueType and OpenType formats..
David Turner 11187206 2000-05-26T17:13:23 finalised the multiple masters support fixed some nasty little bugs too
David Turner 7c388ba4 2000-05-26T02:07:40 added support for multiple master fonts in "type1z". It is now working, but there is no way currently to change the default weight vector (tested with custom vectors though). Note that you should remove the "type1" driver from the module list to be able to test it..
David Turner 4e183694 2000-05-24T22:05:35 formatting
David Turner 1c9a1cab 2000-05-24T21:12:02 important modifications to the Type1z driver these are used to prepare for multiple master fonts
David Turner 1fb6eea7 2000-05-24T00:31:14 EXPORT_DEF renamed to FT_EXPORT_DEF + reformating/spacing
David Turner 5e4c2cb3 2000-05-22T16:25:14 fixed some header files inclusions added C++ stubs to public header files
David Turner 51179f0a 2000-05-18T16:18:05 some fixes for 64-bit systems. Mainly changed some FT_TRACE calls to use %p instead of %lx when dumping a pointer address