Commit Graph

174 Commits

Author SHA1 Message Date
David Turner 95bbba6b7d - updating the header inclusion scheme to use <ft2build.h> by
default..

- created "builds/devel" to hold developer builds options
  for both Win32 and Unix

- fixed a bug in the winfonts driver, where the glyph image format
  wasn't set correctly..
2000-12-04 22:53:55 +00:00
David Turner 50fc8dc598 changes to allow compilation under Unix and Cygwin 2000-12-02 00:35:11 +00:00
Werner Lemberg ced382a86c * INSTALL: Revised.
* builds/compiler/bcc-dev.mk, builds/compiler/visualage.mk,
builds/compiler/bcc.mk, builds/win32/w32-bcc.mk,
builds/win32/w32-bccd.mk: Revised.
* include/freetype/config/ftbuild.h,
include/freetype/internal/internal.h: Revised.
* include/freetype/ftimage.h: Updated to new header inclusion scheme.


* builds/toplevel.mk (.PHONY): Adding `distclean'.
* builds/unix/detect.mk (.PHONY): Adding `devel', `unix', `lcc',
`setup'.


* INSTALL: Slightly updated the quick starter documentation to
include IDE compilation, prevent against BSD Make, and specify "make
setup" instead of a single "make" for build configuration.
* include/config/ftbuild.h, include/internal/internal.h: Added new
configuration files used to determine the location of all public,
configuration, and internal header files for FreeType 2.  Modified
all headers under "include/freetype" to reflect this change.  Note
that we still need to change the library source files themselves
though.
builds/win32/detect.mk: Added new files to support compilation with
the free Borland C++ command-line compiler.  Modified the detection
rules to recognize the new "bcc32" target in "make setup bcc32".
src/truetype/ttobjs.c, src/truetype/ttgload.c,
src/truetype/ttinterp.c: Fixed a few comparisons that Borland C++
didn't really like.  Basically, this compiler complains when FT_UInt
is compared to FT_UShort (apparently, it promotes `UShort' to `Int'
in these cases).
2000-12-01 17:25:58 +00:00
David Turner 5ca75c3f9d introduced the new <freetype/config/ftbuild.h> file to determine
where is the top-level include directory for all public, configuration
and internal header files..
2000-11-30 23:12:33 +00:00
Werner Lemberg 0973e98e21 * src/base/ftcalc.c (FT_SqrtFixed), src/base/ftobjs.c
(FT_Set_Renderer): Use FT_EXPORT_DEF.
* src/cache/ftcimage.c (FTC_Image_Cache_Lookup),
src/cache/ftcmanag.c (FTC_Manager_Done, FTC_Manager_Reset,
FTC_Manager_Lookup_Face, FTC_Manager_Lookup_Size,
FTC_Manager_Register_Cache), src/cache/ftcsbits.c
(FTC_SBit_Cache_Lookup): Ditto.

* src/include/freetype/cache/ftcglyph.h (FTC_GlyphNode_Init),
src/include/freetype/ftmac.h (FT_New_Face_From_FOND): Use FT_EXPORT.
2000-11-29 17:48:57 +00:00
Werner Lemberg e9835a1926 * src/sfnt/sfdriver.c: Include ttsbit.h and ttpost.h only
conditionally.

* src/truetype/ttdriver.c (Set_Char_Sizes, Set_Pixel_Sizes): Set
`size->strike_index' only conditionally.

* src/type1/t1driver.c, src/type1/t1objs.c: Include t1afm.h only
conditionally.

* src/winfonts/winfnt.h: Move all type definitions to...
* src/include/freetype/internal/fnttypes.h: New file.
* src/winfonts/winfnt.c: Use it.


* include/freetype/internal/ftdebug.h: Replaced FT_CAT and FT_XCAT
with a direct solution (which also satifies picky compilers).
2000-11-29 15:18:54 +00:00
Werner Lemberg dcbfffaf0c new file 2000-11-29 15:17:44 +00:00
Werner Lemberg 645a153c0d Small fixes and formatting. 2000-11-10 22:43:37 +00:00
David Turner fa09119bf0 changed comments in the cache sub-system sources
to indicate that it is now BETA code, instead of ALPHA
2000-11-08 00:24:58 +00:00
David Turner 8c1b2d2c82 removed the file <freetype/internal/ftlist.h> and corrected
files that depended on it.

the ftlist.c function definitions are now FT_EXPORT_DEF
instead of FT_BASE_DEF
2000-11-08 00:20:25 +00:00
Werner Lemberg 4966a22cda Moving doc comments for BASE functions from source to header files. 2000-11-07 23:56:02 +00:00
Werner Lemberg 9e0aabf443 All function comments are now removed from source files (and moved to the
header files if necessary).

Some minor fixes to have `make multi' run successfully (with gcc and g++).

Fixing compiler warnings.
2000-11-07 17:21:11 +00:00
Werner Lemberg ee166f01cc Complementing David's changes with formatting, adding documentation, etc.
More `*'-convention formatting, adding the `a' resp. `an' prefix to
variables.
2000-11-07 06:30:29 +00:00
David Turner e8b57cf82f removed deprecated reference to "SemTex" 2000-11-07 02:59:11 +00:00
David Turner b67dd2d4be removed incorrect comment 2000-11-07 02:44:04 +00:00
David Turner be574d8119 integrated Yamano-Uchi changes to the base source code. However,
I've made a few modifications:

  - there is no new field named "driver" in "FT_SizeRec"

  - the new fields in "TT_SizeRec" are:

       strike_index   :: value 0xFFFF means "no sbit strike selected"
       strike_metrics :: the FT_Size_Metrics structure corresponding to
                         the currently selected strike

  - the code in "ttload.c" has been somewhat cleaned up too

thanks a lot, Y-U !!

- David
2000-11-06 23:07:51 +00:00
David Turner f1409686d5 some updates to the cache sub-system. some methods were moved from
the concrete "FTC_Image_Cache" and "FTC_SBit_Cache" to the abstract
"FTC_Glyph_Cache" and "FTC_Chunk_Cache", respectively..

note: this is not the end of changes to the cache sub-system
2000-11-06 19:29:06 +00:00
Werner Lemberg 591088c021 Added/restored the `*' convention for output parameters.
Some documentation fixes.
2000-11-06 04:33:56 +00:00
Werner Lemberg 3d4d50ff31 minor fixes.
Add more gcc warnings for development on UNIX.
2000-11-05 23:41:08 +00:00
Werner Lemberg 46f92ef2d9 Finishing David's latest changes (there were some errors in it). 2000-11-04 08:33:38 +00:00
David Turner a3d302571a 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 d2d1701333 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 6d437b09d5 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 dcff1129fe Removing trailing whitespace. 2000-10-31 20:42:18 +00:00
Werner Lemberg b571ce70f0 Formatting.
Adding a .cvsignore file.
2000-10-31 19:42:53 +00:00
Werner Lemberg 110d236f6d Formatting.
Removed double src/cache/ftcimage.h.

Replaced FTC_Image_Type with #defines since this contains bit flags and not
enumerated values.
2000-10-31 17:49:07 +00:00
David Turner 7d0f1137db completed the sbit cache, though it's still buggy :-(
major reformatting of the cache subsystem (again)
added substantial documentation too in header files
2000-10-28 23:34:45 +00:00
Werner Lemberg 241cc2cc4f Renamed z1* files back to t1*; the same transition for Z1_* structures
Removed obsolete raster1/* files.
2000-10-28 17:10:06 +00:00
David Turner 6b4a4610eb - completed the abstract chunk cache class
- started implementin a "small-bitmaps" cache derived from it
- (soon a "metrics" cache will be written too)
2000-10-28 13:17:11 +00:00
David Turner 843997b2ca small updates:
- reworked slightly the cache manager to better
   differentiate between the abstract class in "ftcglyph.h"
   and the FT_Glyph sub-class in "ftcimage.h", and
   slightly reduced the size of FTC_GlyphNodeRec, saving
   8 bytes on a 32-bit system. Yes, I'm crazy ;-)

 - added build files to compile with LCC on Unix too
   (compile speeds _are_ insane with it). There is unfortunately
   a bug in the version I'm using (LCC 4.1) that prevents it
   to compile FT_MulTo64 correctly (in src/base/ftcalc.c)

   the generated assembly is incorrect, I don't know what
   to do ?? the build files are ok, though..

   you should invoke "make setup lcc" to select them..
2000-10-28 07:26:59 +00:00
Werner Lemberg e4c39bf2f6 Some formatting.
Fixed some data types/added header files to remove compiler warnings.

Added trivial input data check to FT_Outline_Get_BBox().

Fixed type1z -> type1 file inclusions.
2000-10-26 10:04:16 +00:00
David Turner aaef89dcff - reviving the "ftbbox" component, used to compute exact bounding
box computations

- minor update to docmaker.py, more is coming
2000-10-26 00:06:35 +00:00
Werner Lemberg 7b028719d8 fixes for fixes :-)
formatting; compiles now without warnings on my Linux box
2000-10-24 05:44:59 +00:00
David Turner 2fab8b7fc7 - minor reformatting of "ftmodule.h"
- added missing "const" statements in the source code in order
  to really get rid of writable static variables
2000-10-23 22:46:56 +00:00
David Turner 7fd0ce4ef8 - reformatting and tiny doc update 2000-10-23 18:33:30 +00:00
Werner Lemberg 7fc393b699 added development header files to CONFIG_H in the makefiles
increased T1_MAX_CHARSTRINGS_OPERANDS (again) to 256 -- one glyph of the
Chinese MingTiEG-Medium needs it that large
2000-10-19 15:56:22 +00:00
Werner Lemberg a444ee94cd 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 795ec46f9a Make ftsynth.c work again.
Renamed FT_*_Outline to FT_Outline_*
2000-10-15 21:59:58 +00:00
Werner Lemberg d1008823d8 Enabled TT interpreter in development version of ftoption.h 2000-10-14 05:18:59 +00:00
Werner Lemberg 07e32f6b04 More fixes to the tutorial.
Added artificial Type 1 pid/eid paors to ttnameid.h.
2000-10-13 21:00:36 +00:00
Werner Lemberg 1d4dec05e9 formatting
small fixes
2000-10-12 05:05:40 +00:00
David Turner b45b08fa39 formatting 2000-10-12 01:29:14 +00:00
David Turner 621573d1c3 formatting 2000-10-12 01:22:29 +00:00
Werner Lemberg 47dcfcce39 Added new `ft_glyph_bbox_unscaled' enum; fixing documentation of
FT_Glyph_Get_CBox().

ftnames.c has been omitted from the Makefile.
2000-10-11 23:31:12 +00:00
Werner Lemberg 01bd7d5825 provide `export "C"' guard only for default fterror handling. 2000-10-10 03:58:32 +00:00
Werner Lemberg efd108b60b fix documentation 2000-10-07 15:51:50 +00:00
Werner Lemberg c817a7ee73 minor formatting issues 2000-10-05 04:53:31 +00:00
David Turner 3ee4450879 changing the linkage type of
FT_New_GlyphSlot and FT_Done_GlyphSlot to
BASE_DEF instead of FT_EXPORT_DEF
2000-10-03 18:02:02 +00:00
Werner Lemberg 59266f23c9 Fixing comment in unixddef.mk which caused a trailing blank.
Adding a new error, FT_Err_Invalid_Pixel_Size (used in winfnt.c)

Fixing FT_Read_Fields() which failed for ft_frame_{bytes,skip}.  This bug
disabled the Winfont driver.

Minor formatting issues.
2000-09-29 06:41:56 +00:00
David Turner 36afdb3a8b fixed a bug in the Type 1 and CID font drivers:
the value of the descent returned was positive,
  instead of being negative..
2000-09-27 01:01:10 +00:00