Commit Graph

70 Commits

Author SHA1 Message Date
Werner Lemberg
90d9964ec9 * */*.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
2000-12-09 00:45:38 +00:00
Werner Lemberg
cc069beb2d cleanups 2000-12-08 16:17:16 +00:00
David Turner
19ed8afe60 - 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
2000-12-08 02:42:29 +00:00
Tom Kacvinsky
21da848451 Added calculation of `face->height' for pure CFF fonts. 2000-11-30 21:53:39 +00:00
Werner Lemberg
053e24eace formatting 2000-11-27 19:23:05 +00:00
Tom Kacvinsky
6dc51e9cbd T2_Parse_CharStrings: Added more logic to glyph width setting code to
take into account even/odd argument counts.
2000-11-27 08:22:23 +00:00
Tom Kacvinsky
834b53ed0e Simplied glyph width processing code and the comments pertaining to it. 2000-11-27 03:23:50 +00:00
Tom Kacvinsky
6037f08474 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.
2000-11-27 00:57:13 +00:00
Werner Lemberg
27695e5dbf * 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.
2000-11-23 08:21:13 +00:00
Tom Kacvinsky
3da9d565ee In function T2_Get_String, we called T2_Get_Name with an string id
that was off by one.
2000-11-23 03:43:14 +00:00
Tom Kacvinsky
a51b45c607 Make sure that parse_t2_real correctly parses a CFF real number. Added more comments
to the function.
2000-11-22 23:34:56 +00:00
Tom Kacvinsky
c3dfbde074 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.
2000-11-22 14:34:22 +00:00
Werner Lemberg
8c883fb542 minor fixes.
Add more gcc warnings for development on UNIX.
2000-11-05 23:41:08 +00:00
Werner Lemberg
dc72aff43d Finishing David's latest changes (there were some errors in it). 2000-11-04 08:33:38 +00:00
David Turner
54e7574946 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
2000-11-04 02:52:02 +00:00
David Turner
76a5f62323 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
2000-11-04 01:55:49 +00:00
Werner Lemberg
ab8552321c 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.
2000-10-31 22:13:54 +00:00
Werner Lemberg
e4b32a5dc5 Removing trailing whitespace. 2000-10-31 20:42:18 +00:00
Werner Lemberg
47a5f41de6 Added copyright messages to all Makefiles.
Added documentation to FT_Get_Sfnt_* stuff (in ftnames.[ch])

minor other doc fixes
2000-10-17 03:38:43 +00:00
Werner Lemberg
eadc8df24d A fix from Tom to fix the last=first point problem if it is a control point. 2000-10-11 05:52:42 +00:00
David Turner
b8817177a0 small bug-fix, the linearHoriBearing value was not
loaded not computed correctly
2000-09-15 17:17:17 +00:00
Werner Lemberg
29a90e2610 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.
2000-08-03 00:03:08 +00:00
Werner Lemberg
3a89c2a4ac 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!
2000-08-01 17:05:20 +00:00
Werner Lemberg
c713d924d8 Added #ifdef's for C++ to all header files. 2000-08-01 13:17:04 +00:00
Just van Rossum
80a330afe8 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. 2000-08-01 07:12:31 +00:00
Werner Lemberg
b1dd3535d5 Added autoconf tests FT_MUNMAP_DECL and FT_MUNMAP_PARAM to fix some devils.
Updating unix/ftsystem.c accordingly.

More warning fixes.
2000-07-31 22:51:00 +00:00
Werner Lemberg
e72c9fec17 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.
2000-07-31 18:59:02 +00:00
Werner Lemberg
35ca3426eb Fixing gcc warnings on Solaris. 2000-07-31 12:14:27 +00:00
Werner Lemberg
5aa646c565 Formatting.
Fixing a bug in FT_Get_Kerning().

Moving FT_Get_Module_Interface() to ftoutln.c.
2000-07-14 06:16:47 +00:00
David Turner
8cfcf6e057 more patches from Tom (to fix its former patches :-) 2000-07-13 00:21:51 +00:00
David Turner
49bd4f054a removed some warnings with Visual C++
that prevented compilation
2000-07-12 16:57:37 +00:00
Werner Lemberg
b48a6094b2 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.
2000-07-09 19:15:30 +00:00
Werner Lemberg
681e8eea5f formatting
fixing minor `make multi' problem
2000-07-09 00:48:37 +00:00
Werner Lemberg
7fa51b5535 Formatting.
Adding some trivial error checking.

Adding/Fixing tracing levels.
2000-07-08 19:51:42 +00:00
David Turner
e1075ceabb 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 :-)
2000-07-08 02:07:27 +00:00
David Turner
9eeea990cc 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..
2000-07-08 01:49:28 +00:00
David Turner
52b430abea fixed a rather stupid bug in the last patch (one of those with
dire consequences..)
2000-07-08 01:18:38 +00:00
David Turner
a90663f591 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"
2000-07-08 00:41:13 +00:00
David Turner
62952153fe removed a compiler warning.. 2000-07-07 20:14:22 +00:00
David Turner
9b3d1c75ad - fixed a leak in the Type 1 driver
- updated the CFF driver to support flex opcodes
2000-07-07 19:47:34 +00:00
Werner Lemberg
bd5ae40006 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++.
2000-07-05 04:32:02 +00:00
David Turner
c6a92202c2 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..
2000-07-04 18:12:13 +00:00
Werner Lemberg
fbeb41d93d Formatting.
Adding copyright notices.

Removing an unnecessary file (smooth.h).
2000-07-02 00:27:53 +00:00
David Turner
f9ca2bb58a 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..
2000-06-30 23:12:55 +00:00
Werner Lemberg
ac39ecdca8 Formatting...
Fixing incorrect scaling of vertical advance width.
2000-06-30 22:24:36 +00:00
Werner Lemberg
cc9fc49c90 Formatting...
Applying some fixes from Tom.
2000-06-30 06:21:26 +00:00
David Turner
32b85e67cb various bug fixes in the postscript font drivers (mainly they
added one un-necessary point to each contour..)
2000-06-29 21:48:58 +00:00
Werner Lemberg
deb4e98396 Formatting...
Preprocessor lines now always start the line.

Improved error handling in `base' module.

Fixed a out-of-bounds error in ttgload.
2000-06-29 03:14:25 +00:00
David Turner
98258619df debugged the CFF driver. The "advance width" problem
was strictly unrelated to our previous worries, it was a
really simple bug in t2gload.c !!
2000-06-28 20:43:07 +00:00
David Turner
075cdf1288 fixed a _nasty_ bug in the CFF driver. Note that there are still escapement problems though.. 2000-06-28 05:35:58 +00:00