|
63408a12
|
2000-12-13T23:44:37
|
|
include/freetype/internal/internal.h: Fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now.
* builds/compiler/intelc.mk, builds/compiler/watcom.mk: New files.
* builds/win32/detect.mk: Added support for the Intel C/C++
compiler, as well as _preliminary_ (read: doesn't work!) support for
Watcom. Also added a new setup target. Type "make setup list" for
a list of supported command-line compilers on Win32.
* src/base/ftdebug.c: Added dummy symbol to avoid empty file if
conditionals are off.
|
|
170c0d4c
|
2000-12-13T19:55:11
|
|
* include/freetype/config/ft2build.h,
include/freetype/internal/internal.h: fixed header inclusion macros
to use direct definitions. This is the only way to do these things
in a portable way :-( The rest of the code should follow shortly
though everything compiles now..
* builds/compiler/intelc.mk, builds/compiler/watcom.mk,
builds/win32/detect.mk: added support for the Intel C/C++ compiler,
as well as _preliminary_ (read: doesn't work !!) support for Watcom.
Also added a new setup target. Type "make setup list" for a list
of supported command-line compilers on Win32..
|
|
d5c1b27d
|
2000-12-12T22:28:12
|
|
* include/freetype/config/ft2build.h (FT2_ROOT, FT2_CONFIG_ROOT):
Removed. ANSI C doesn't (explicitly) allow macro expansion in
arguments using `##'.
(FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE): Use directory
names directly. Make them configurable. Use `##' to strip leading
and trailing spaces from arguments.
* builds/unix/ft2unix.h: Adapted.
* src/base/ftsystem.c (ft_alloc, ft_realloc, ft_free, ft_io_stream,
ft_close_stream): Use FT_CALLBACK_DEF.
* builds/unix/ftsystem.c: Use new header scheme.
(FT_Done_Memory): Use free() from FT_Memory structure.
* src/base/ftinit.c, src/base/ftmac.c: Header scheme fixes.
* include/freetype/config/ft2build.h (FT2_CONFIG_ROOT,
FT2_PUBLIC_FILE, FT2_CONFIG_FILE, FT2_INTERNAL_FILE,
FT_SOURCE_FILE): Use `##' operator to be really ANSI C compliant.
|
|
90d9964e
|
2000-12-09T00:45:38
|
|
* */*.h: Changed body inclusion macro names to start and end with
`__' (those which haven't converted yet). Fixed minor conversion
issues.
* src/winfonts/winfnt.c: Updated to new header inclusion scheme.
* */*.[ch]: Changed source files to adhere to the new
* src/cff/cff.c, src/cff/rules.mk: Updated.
* */*.[ch]: Now using <ft2build.h> as the default build and setup
|
|
cc069beb
|
2000-12-08T16:17:16
|
|
cleanups
|
|
19ed8afe
|
2000-12-08T02:42:29
|
|
- updated all source files to adhere to the new inclusion scheme
- the CFF loader now loads the encodings and charset tables
though doesn't use them for now
|
|
21da8484
|
2000-11-30T21:53:39
|
|
Added calculation of `face->height' for pure CFF fonts.
|
|
053e24ea
|
2000-11-27T19:23:05
|
|
formatting
|
|
6dc51e9c
|
2000-11-27T08:22:23
|
|
T2_Parse_CharStrings: Added more logic to glyph width setting code to
take into account even/odd argument counts.
|
|
834b53ed
|
2000-11-27T03:23:50
|
|
Simplied glyph width processing code and the comments pertaining to it.
|
|
6037f084
|
2000-11-27T00:57:13
|
|
In function T2_Parse_CharStrings, modified glyph width assignment code
to be more robust. The code now takes into account glyphs that
1. have the width given as it is, rather than as a difference against
`nominal_width', and
2. have the width operand specified before one of the h/r/vmoveto
commands or the endchar command.
|
|
27695e5d
|
2000-11-23T08:21:13
|
|
* src/type1/t1load.c (parse_subrs, parse_charstrings): Use decrypt
function from PSAux module.
* src/type1/t1parse.c (T1_Done_Parse): Renamed to...
(T1_Finalize_Parser): New function (to avoid name clash with a
function in the PSAux module).
(T1_Decrypt): Removed since it it duplicated in the PSAux module.
(T1_Get_Private_Dict): Added `psaux' as new parameter; use decrypt
function from PSAux module.
* src/type1/t1parse.h: Adapted.
|
|
3da9d565
|
2000-11-23T03:43:14
|
|
In function T2_Get_String, we called T2_Get_Name with an string id
that was off by one.
|
|
a51b45c6
|
2000-11-22T23:34:56
|
|
Make sure that parse_t2_real correctly parses a CFF real number. Added more comments
to the function.
|
|
c3dfbde0
|
2000-11-22T14:34:22
|
|
In function T2_Init_Face, make sure that root->num_faces gets
set when loading a pure CFF font, and change units_per_EM to
1000 for a pure CFF font.
|
|
8c883fb5
|
2000-11-05T23:41:08
|
|
minor fixes.
Add more gcc warnings for development on UNIX.
|
|
dc72aff4
|
2000-11-04T08:33:38
|
|
Finishing David's latest changes (there were some errors in it).
|
|
54e75749
|
2000-11-04T02:52:02
|
|
defining new types to hold "internal" fields of public
objects:
FT_Face_Internal, FT_Size_Internal, FT_Slot_Internal
these contain some fields that may change between releases
of FreeType, without affecting the size of FT_FaceRec,
FT_SizeRec, FT_GlyphSlotRec, etc.., which means that
drivers wouldn't need to be recompiled if we only add new
fields to an internal structure..
I plan to hack a few things related to the auto-hinter and
I need this move to ensure that we will not break binary
compatibility between 2.0 and 2.1 :-)
- David
|
|
76a5f623
|
2000-11-04T01:55:49
|
|
major reformatting of the sources:
FT_EXPORT_DEF => FT_EXPORT
FT_EXPORT_FUNC => FT_EXPORT_DEF
BASE_DEF => FT_BASE
BASE_FUNC => FT_BASE_DEF
LOCAL_DEF => FT_LOCAL
LOCAL_FUNC => FT_LOCAL_DEF
LOCAL_FUNC_X => FT_CALLBACK_DEF
LOCAL_DEF_X => FT_CALLBACK_TABLE
FT_CPLUSPLUS => FT_CALLBACK_TABLE_DEF
|
|
ab855232
|
2000-10-31T22:13:54
|
|
Fixing include header for a `make multi' build.
Finishing formatting of cache stuff.
Fixed getDriverClass stuff -- added it to winfnt.c also. Note that this
still has to be documented.
|
|
e4b32a5d
|
2000-10-31T20:42:18
|
|
Removing trailing whitespace.
|
|
47a5f41d
|
2000-10-17T03:38:43
|
|
Added copyright messages to all Makefiles.
Added documentation to FT_Get_Sfnt_* stuff (in ftnames.[ch])
minor other doc fixes
|
|
eadc8df2
|
2000-10-11T05:52:42
|
|
A fix from Tom to fix the last=first point problem if it is a control point.
|
|
b8817177
|
2000-09-15T17:17:17
|
|
small bug-fix, the linearHoriBearing value was not
loaded not computed correctly
|
|
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.
|
|
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!
|
|
c713d924
|
2000-08-01T13:17:04
|
|
Added #ifdef's for C++ to all header files.
|
|
80a330af
|
2000-08-01T07:12:31
|
|
fixed two bugs related to T2 real numbers: the "skipping" code didn't behave correctly (leaving a bad stack ptr), and the actual parsing code also parsed the code (30) as two nibbles.
|
|
b1dd3535
|
2000-07-31T22:51:00
|
|
Added autoconf tests FT_MUNMAP_DECL and FT_MUNMAP_PARAM to fix some devils.
Updating unix/ftsystem.c accordingly.
More warning fixes.
|
|
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.
|
|
35ca3426
|
2000-07-31T12:14:27
|
|
Fixing gcc warnings on Solaris.
|
|
5aa646c5
|
2000-07-14T06:16:47
|
|
Formatting.
Fixing a bug in FT_Get_Kerning().
Moving FT_Get_Module_Interface() to ftoutln.c.
|
|
8cfcf6e0
|
2000-07-13T00:21:51
|
|
more patches from Tom (to fix its former patches :-)
|
|
49bd4f05
|
2000-07-12T16:57:37
|
|
removed some warnings with Visual C++
that prevented compilation
|
|
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.
|
|
681e8eea
|
2000-07-09T00:48:37
|
|
formatting
fixing minor `make multi' problem
|
|
7fa51b55
|
2000-07-08T19:51:42
|
|
Formatting.
Adding some trivial error checking.
Adding/Fixing tracing levels.
|
|
e1075cea
|
2000-07-08T02:07:27
|
|
the font driver now supports CEF fonts and needs a few
more work to fully support pure CFF fonts..
yet another patch inspired by Tom !! Aaaaa :-)
|
|
9eeea990
|
2000-07-08T01:49:28
|
|
fixes from Tom related to 64-bitness and strange
compiler behaviour on DEC Unix
also preliminary support for CEF fonts. I can
see the glyphs in "ftview" but need to complete
the Unicode charmap support..
|
|
52b430ab
|
2000-07-08T01:18:38
|
|
fixed a rather stupid bug in the last patch (one of those with
dire consequences..)
|
|
a90663f5
|
2000-07-08T00:41:13
|
|
vast clean-up of the sources in order to allow flat
directory compilation (by defining the FT_FLAT_COMPILE
macro at compile time..)
moved "freetype2/BUILD" to "freetype2/docs/BUILD"
|
|
62952153
|
2000-07-07T20:14:22
|
|
removed a compiler warning..
|
|
9b3d1c75
|
2000-07-07T19:47:34
|
|
- fixed a leak in the Type 1 driver
- updated the CFF driver to support flex opcodes
|
|
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++.
|
|
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..
|
|
fbeb41d9
|
2000-07-02T00:27:53
|
|
Formatting.
Adding copyright notices.
Removing an unnecessary file (smooth.h).
|
|
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..
|
|
ac39ecdc
|
2000-06-30T22:24:36
|
|
Formatting...
Fixing incorrect scaling of vertical advance width.
|
|
cc9fc49c
|
2000-06-30T06:21:26
|
|
Formatting...
Applying some fixes from Tom.
|
|
32b85e67
|
2000-06-29T21:48:58
|
|
various bug fixes in the postscript font drivers (mainly they
added one un-necessary point to each contour..)
|
|
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.
|
|
98258619
|
2000-06-28T20:43:07
|
|
debugged the CFF driver. The "advance width" problem
was strictly unrelated to our previous worries, it was a
really simple bug in t2gload.c !!
|
|
075cdf12
|
2000-06-28T05:35:58
|
|
fixed a _nasty_ bug in the CFF driver. Note that there are still escapement problems though..
|
|
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)
|
|
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..)
|
|
a929ba9b
|
2000-06-25T06:47:11
|
|
applying formatting again
|
|
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 :-)
|
|
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.
|
|
9ca2af38
|
2000-06-21T03:03:28
|
|
A new formatting orgy.
Added some `#if 0' to completely disable the CID AFM stuff. In case this is
not correct please fix.
|
|
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
|
|
e3c11d7f
|
2000-06-16T06:49:56
|
|
A new round of formatting, adding/fixing documentation etc.
|
|
7a4fda88
|
2000-06-13T23:21:00
|
|
The next round of formatting, checking documentation, etc.
|
|
78575dc0
|
2000-06-12T19:36:41
|
|
A lot of formatting.
Added more tracing levels.
More Makefile fixes.
Minor other changes.
|
|
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).
|
|
cb9109fc
|
2000-06-09T05:25:19
|
|
Applied Tom's patches to improve CFF handling.
|
|
24aaddae
|
2000-06-07T20:19:21
|
|
removed invalid #include
|
|
0f991b43
|
2000-06-07T20:04:34
|
|
new version of the CFF driver, this one works :-)
|
|
e1d5dd78
|
2000-06-07T04:48:12
|
|
Moved all *errors.h header files to include/freetype/internal for
consistency.
Removed unused error message.
|
|
1c0d4acb
|
2000-06-06T20:41:48
|
|
Fine-tuned a lot of tracing levels to make them more functional with ftview.
Added a lot of \n to tracing messages.
Fixed a serious bug in loading SBit offsets (missing parentheses around a
xxx ? yyy : zzz construct).
Replaced most GET_xxx() functions with calls to READ_Frame() in ttsbit.c
|
|
2fbf7e43
|
2000-06-02T00:01:14
|
|
Added a lot of error checking code to the exported functions in the `base'
subdir (not complete yet).
|
|
b3936a16
|
2000-06-01T04:44:36
|
|
small bug fix from Robert :-)
|
|
5b401bb9
|
2000-05-29T23:03:15
|
|
additional changes to the CFF/Type2 driver
|
|
4f99c3c4
|
2000-05-29T20:55:13
|
|
fixed divide by zero bug
added CFF/OpenType driver source (not working for now)
|