Commit Graph

193 Commits

Author SHA1 Message Date
David Turner
5413644b5e added a new demonstration program called "ftmulti" to
demonstrate the multiple masters support

fixed a few bugs
2000-05-26 17:52:06 +00:00
David Turner
1118720679 finalised the multiple masters support
fixed some nasty little bugs too
2000-05-26 17:13:23 +00:00
David Turner
fea68c6800 fixed two minor bugs:
- the glyph index was not checked in FT_Load_Glyph
  - the "type1" driver didn't read the FontBBox and FontMatrix
    correctly..
2000-05-26 06:40:49 +00:00
David Turner
936d2e072b a small change to allow the "type1" driver to detect
multiple master fonts and return an error code that allows
the "type1z" driver to load them after..
2000-05-26 02:16:06 +00:00
David Turner
7c388ba491 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..
2000-05-26 02:07:40 +00:00
David Turner
1c9a1cab3f important modifications to the Type1z driver
these are used to prepare for multiple master fonts
2000-05-24 21:12:02 +00:00
David Turner
1fb6eea7d1 EXPORT_DEF renamed to FT_EXPORT_DEF +
reformating/spacing
2000-05-24 00:31:14 +00:00
David Turner
f5dcdd5cfb minor fix to the Type1 driver(s) to apply the font matrix when
necessary..
2000-05-23 22:16:27 +00:00
David Turner
5e4c2cb3bf fixed some header files inclusions
added C++ stubs to public header files
2000-05-22 16:25:14 +00:00
David Turner
51179f0ae3 some fixes for 64-bit systems. Mainly changed some
FT_TRACE calls to use %p instead of %lx when dumping
a pointer address
2000-05-18 16:18:05 +00:00
David Turner
109fcf6086 fixed the sbit loader (src/base/sfnt/ttsbit.c)
introduced a new load flag (FT_LOAD_CROP_BITMAP) used
to indicate that we want embedded bitmaps to be cropped..

Thanks a lot to Yamano-uchi, Hidetoshi
2000-05-17 23:35:37 +00:00
David Turner
3475e7fba3 removed TT_MAX_SUBGLYPHS macro, there is no static
limit on the number of subglyphs in a TrueType font..

changed the default number of gray levels used by the
smooth renderer to 256 (instead of 128). Of course, the
human eye can't tell a difference ;-)
2000-05-17 20:56:01 +00:00
David Turner
e49ab25c08 formatting - removed trailing spaces 2000-05-16 23:44:38 +00:00
David Turner
ea44d5ec3d formatting 2000-05-16 23:22:41 +00:00
David Turner
701d754665 removed obsolete header file 2000-05-16 23:21:59 +00:00
David Turner
414f38c572 at last, fixed the bug, and re-enabled 5-gray levels support
for backwards compatibility..
2000-05-16 22:37:30 +00:00
David Turner
0a29c6979d implemented FT_Select_Charmap and FT_Set_Charmap
(at last :-)
2000-05-12 17:09:38 +00:00
David Turner
c60c61c684 fixed a potential memory leak when loading embedded bitmaps 2000-05-12 15:26:58 +00:00
David Turner
c30aea9846 another massive changes in order to completely avoid
compiler warnings with GCC + "-ansi -pedantic -Wall -W"
and LCC.

Also fixed the compilation of "type1z" with Win32-LCC
(its pre-processor is broken !!)

Updated the BUILD document too
2000-05-12 15:01:18 +00:00
David Turner
bfe2f98f1f a new massive grunt work. Redefined the EXPORT_DEF,
EXPORT_FUNC, BASE_DEF and BASE_FUNC macros to
let them take an argument..

This is needed to compile the library as a DLL on some platforms
that have different compiler conventions..
2000-05-12 12:17:15 +00:00
David Turner
4f2c5544bb additional changes, this time in order to pass extra parameters
to font drivers when creating a new face object.

The FT_Open_Args structure has been changed to simplify
its use and allow generic parameters too..
2000-05-12 10:19:41 +00:00
David Turner
2561b24537 I knew the first CVS commit wouldn't be good :o)
Here, the build system seems to be cured now..
(I'll need to try it on Unix too though..)
2000-05-11 18:47:39 +00:00
David Turner
efce08d67c major re-organisation of the FreeType 2 directory hierarchy 2000-05-11 18:23:52 +00:00
David Turner
5d6b82d9c9 formatting 2000-05-09 22:08:52 +00:00
David Turner
f382328131 added experimental emboldening/outlining code. This
is incomplete and will not compile so turned off
2000-05-05 13:11:36 +00:00
David Turner
4d3e56392f closed most of the memory leaks in the Type 1 driver(s)
this is required before any serious work to implement
multiple masters
2000-05-05 12:33:23 +00:00
David Turner
c1205799f5 changes the type of the "mode" parameter in FT_Set_Raster_Mode
to unsigned long (easier than string to compare)
2000-05-05 01:38:46 +00:00
David Turner
81d02dbc04 finally a auto-hinter module interface I'm satisfied with,
it's now time to change other font drivers to take advantage
of it :-)
2000-05-05 01:37:32 +00:00
David Turner
d50941dc8c fixed a compilation problem that occurred with the
LCC C pre-processor. really minor
2000-05-05 01:36:56 +00:00
David Turner
c136b409eb an update to FT_Outline_Funcs used to improve
the accuracy of outline decomposition
2000-05-04 17:24:54 +00:00
David Turner
d186a361a1 various updates to reduce the compilation warnings 2000-05-02 17:41:41 +00:00
David Turner
1119baee54 added support for version 2 of the OS/2 table
five additional fields (see OT Spec 1.2)
2000-05-02 11:01:49 +00:00
David Turner
b7ef2b0968 in order to ensure that the bytecode interpretation is exactly
equivalent to the one in FT 1.4, moved some code from the
old version of FreeType in order to compute vector normalization
a bit differently
2000-05-02 11:01:12 +00:00
David Turner
48641d60ae added a simple line to set "glyph.control_len" when loading
a simple glyph. This is used to compute statistics on font files..
2000-05-02 11:00:06 +00:00
David Turner
9a9315faae changes to reflect the new files
include/tttables.h
  include/t1tables.h
2000-05-02 10:59:01 +00:00
David Turner
488cd71e4b a few updates to the OpenType Layout code
still far to go, but I'll dedicate most of my time on
it next week
2000-05-02 10:54:12 +00:00
David Turner
e608a3e0d2 moved the smooth renderer to the base layer directory
it is compiled as a separate object, and its interface is
available in "include/ftgrays.h"
2000-05-02 10:53:11 +00:00
David Turner
271106133a added FT_Sqrt64 to ensure that all bytecode operations are
strictly equivalent to the ones in FT 1.4 when compiling with
the configuration macro FT_CONFIG_OPTION_OLD_CALCS
defined..
2000-05-02 10:52:28 +00:00
David Turner
a8bcdf8ef6 added FT_Done_Stream 2000-05-02 10:51:41 +00:00
David Turner
68ebd1bee4 typo 2000-05-02 10:51:22 +00:00
David Turner
33ec7d473b removed an over-zealous assertation that halted the engine
with a few weird fonts.
2000-05-02 10:51:04 +00:00
David Turner
61492029a5 added macros to read little endian words from a byte stream
(e.g. NEXT_ShortLE(buffer))
2000-05-02 10:50:18 +00:00
David Turner
f8a116fb93 implemented extra interface for "FT_Get_Sfnt_Table" 2000-04-25 16:11:12 +00:00
David Turner
99a4d93b2d added FT_Get_Sfnt_Table from "include/tttables.h" 2000-04-25 16:10:50 +00:00
David Turner
2dbc54dd13 typo 2000-04-25 16:10:14 +00:00
David Turner
8ce47b1da6 added new auto-hinter driver interface !
modified tttypes.h to use the new "include/tttables.h"
2000-04-25 16:09:55 +00:00
David Turner
d8723b4fb2 fixed another small bug. The metrics were not computed
correctly..
2000-04-14 11:29:14 +00:00
David Turner
1216e434cc fixed a small bug that prevented the loading of certain
fonts that use the DOS linefeed convention.., including
the newest XFree86 4.0 B&H Type 1 fonts !!
2000-04-14 11:22:17 +00:00
David Turner
90a36c5522 a small improvement to the Type 1 hinter, that
comes from research with the auto-hinter. Nothing
fancy but gets rid of the un-normalized widths :-)
2000-04-04 18:21:45 +00:00
David Turner
82942cc279 simple fix required by the auto-hinting module
(sets the ft_outline_reverse_fill bit_flag)
2000-03-30 08:43:03 +00:00
Just van Rossum
3562d014e6 minor improvements, mainly to the PFB testing code... 2000-03-28 19:41:56 +00:00
David Turner
37379e2170 major changes to the library:
- there is now a "convenience" API to manage glyphs in
   "include/ftglyph.h". See the demo program "ftstring" for
   an example..

  - the raster interface has been changed in order to allow
    direct composition through user-provided callbacks. This
    has been tested but isn't demonstrated for now in "demos"

 - the FT_LOAD_NO_RECURSE flag is supported, as this is
   required by some new code in the auto-hinting engine

 - some bug fixed in FT_MulFix which made FT_xxx_Transform
   return incorrect results..
2000-03-28 11:22:31 +00:00
David Turner
ed7f62aca5 support for FT_LOAD_NO_RECURSE needed by the auto-hinter 2000-03-28 11:19:28 +00:00
David Turner
7024ca1a37 ftoutln.c is now mandatory. The optional parts of this
component can be disabled with the config macro
FT_CONFIG_OPTION_NO_CONVENIENCE_FUNCS
2000-03-28 11:18:39 +00:00
David Turner
e01a41d5eb fixed a stupid bug in FT_MulFix 2000-03-28 11:17:58 +00:00
David Turner
14d340ce2e fixed a _really_ stupid bugs in the TrueType Collection
loading !!
2000-03-17 23:33:07 +00:00
Just van Rossum
5a34a7bac2 use stream->memory instead of malloc/free. 2000-03-17 13:07:21 +00:00
Just van Rossum
65a60dc12e Here's the Mac FOND driver! It seems to work well, but it turns out the Type 1 drivers (old as well as new) reject about half the fonts I have. 2000-03-17 11:53:17 +00:00
Just van Rossum
5ae477c4f2 Added prototype for T1_Done_Parser() 2000-03-17 11:51:33 +00:00
David Turner
a6415244f1 updated documentation for Beta 4 2000-03-13 14:25:00 +00:00
David Turner
c3c7e7fb0c updated CHANGES
added BUILD & INSTALL
2000-03-13 14:19:31 +00:00
David Turner
757429fdc9 fix to get rid of compile warning 2000-03-13 13:02:57 +00:00
David Turner
7f7aadf4f7 finished moving all configuration macros to
"config/ftoption.h"
2000-03-13 12:57:27 +00:00
David Turner
3246efedcd first step towards moving all configuration options
to the single "config/ftoption.h"
2000-03-13 12:12:46 +00:00
David Turner
06d508c1de removed the unused/obsolete "ftbbox.c" 2000-03-13 11:52:44 +00:00
David Turner
4258c4fe9f removed src/shared/ttnameid.h (redundant) 2000-03-13 11:50:38 +00:00
David Turner
7f615aef5e renamed all outlines functions to the
FT_Outline_<action> syntax..
2000-03-13 11:49:20 +00:00
David Turner
41dbcbf628 reformatting, changing the FT_Outline structure:
- "flags" have been renamed to "tags"
  - "outline_flags" have been renamed to "flags"

Look for more re-formatting today..
2000-03-09 11:46:25 +00:00
David Turner
e98e4af73c fixed a nasty bug that occured with CMAP format 4.. 2000-03-06 17:01:07 +00:00
David Turner
0f99ddda5f changed the structure of FT_Outline in order to pack
all outline flags in a single integer..

Changed the rest of the library and demo programs
accordingly..
2000-03-06 13:23:32 +00:00
David Turner
9d76a8d67a a few fixes to get rid of unwanted compile-time warnings 2000-03-06 09:51:19 +00:00
Just van Rossum
80f4b060e3 fixed typo in comment 2000-03-05 16:10:10 +00:00
Just van Rossum
7eef5364b8 - ft_new_input_stream: don't make a new copy of the pathname
- ft_done_stream: remove the FREE(pathname) call, which wasn't
  kosher
- FT_Open_Face: after calling open_face, don't assume driver is
  the same as face->driver, use face->driver instead
2000-03-05 16:07:58 +00:00
Just van Rossum
59d8ac4615 formatting: some tabs replaced by spaces 2000-03-05 15:59:09 +00:00
Werner Lemberg
febe3fbeba A first check of FT2's Make system. Many smaller and larger bugs have been
fixed:

. Removing unused variables.

. detect.mk files now must provide $(CONFIG_FILE) and not $(CONFIG_RULE).

. ansi.mk will now be really used as a fallback if the detect mechanism
  fails.

. ANSIFLAGS will now be really used (fixing a typo).

. `make clean' now works (again two typos).

. Detection of gcc on Unix has been fixed (using the `-v' option instead of
  `--version').

. `make devel' now works (on Unix).

. Fixing *again* a bug in demos/graph/x11/rules.mk to allow multiple use
  of `-L' compiler options.

. $(BASE_H) now contains a few more header files.

As usual, a lot of formatting (not finished yet).
2000-03-05 01:14:19 +00:00
Just van Rossum
8c5c932e46 fixed typo in comment 2000-03-02 10:53:32 +00:00
Just van Rossum
1e5754f2d6 added missing "else": without it FT_Open_Face() would still scan the list of drivers when specifying an explicit driver 2000-03-02 10:52:57 +00:00
Just van Rossum
d35aea7090 ft_new_input_stream(): set the pathname field of the stream to args->pathname. Needed for the Mac fond driver.
ft_done_stream(): free the pathname field, if not null
2000-03-02 01:07:50 +00:00
David Turner
ca13392d83 a few changes to really compile font drivers in
independent single objects..
2000-03-01 13:24:38 +00:00
David Turner
e595014a64 simple minor fix in t1afm.h/t1afm.c 2000-02-29 17:14:02 +00:00
David Turner
e755002ddc moved the ANSI "ftsystem.c" to src/base 2000-02-29 17:11:53 +00:00
David Turner
9c84887db3 remaining fixes from Just 2000-02-28 11:32:54 +00:00
David Turner
7b63d2ea1b fixed a bug that prevented the reading of AFM
files..
2000-02-28 11:25:01 +00:00
David Turner
7bb7fedef1 fixed a bug which appeared when loading
unscaled composite glyphs
2000-02-28 11:23:36 +00:00
David Turner
63cb46dd1a simple fixes 2000-02-22 13:34:26 +00:00
David Turner
08fdac980a fixed a bug in the glyph loader that caused a memory
block to be freed twice. Also performed changes to use
the new glyph zone object that has appeared in ftobjs.h
2000-02-21 16:01:33 +00:00
David Turner
cbfaedcefa added glyph zone objects 2000-02-21 16:00:36 +00:00
Werner Lemberg
547a252af1 Formatting. Adding/Fixing documentation. 2000-02-16 08:23:58 +00:00
David Turner
d16a4b8111 removed obsolete hinter source code 2000-02-15 12:56:44 +00:00
David Turner
95bec28220 updated version of the experimental Type 1 driver
(this thing now works even better than the "regular"
driver, but is much smaller).

Provides no hinter !!
2000-02-15 12:55:57 +00:00
David Turner
861ba624db small fix (reduce compiler warnings) 2000-02-15 12:54:51 +00:00
David Turner
24ea09fcbd small fix 2000-02-15 12:54:06 +00:00
David Turner
18789bfe9f Added prototype OpenType Layout support
sources. This is not a port of the OTL extension
of FT 1.x, as it uses a very different design.

These sources are placed here for comments
and peer-review
2000-02-15 12:53:31 +00:00
David Turner
dbe4872bf0 removed obsolete source file 2000-02-14 16:45:40 +00:00
David Turner
a56489e01f The code has been updated to use the finite-state
table loader in "ftstream" (when the macro READ_FIELDS)
is defined.

This is experimental..
2000-02-13 13:41:56 +00:00
David Turner
33263421f8 formatting 2000-02-13 13:38:45 +00:00
David Turner
851688057d small bug fix used to compile when the SFNT
module doesn't support embedded bitmaps and
postscript names..
2000-02-13 13:38:27 +00:00
David Turner
7663f22288 Added support for the "attach_file" format-specific driver
interface, used to implement FT_Attach_File.

Note, this is currently very lightly tested..
2000-02-13 13:37:38 +00:00
David Turner
818336fdf4 Added the function FT_Read_Fields, it acts as a
finite-state automata to load large TrueType tables
in object structures.

This is experimental, don't mess too much with it,
thanks :-)
2000-02-13 13:36:53 +00:00
David Turner
3188a3a112 Sorry, forgot some changes needed to get rid of
t1encode.[hc]. Here they come..
2000-02-13 13:34:18 +00:00