Commit Graph

272 Commits

Author SHA1 Message Date
David Turner
0f991b4312 new version of the CFF driver, this one works :-) 2000-06-07 20:04:34 +00:00
Werner Lemberg
e1d5dd78f4 Moved all *errors.h header files to include/freetype/internal for
consistency.

Removed unused error message.
2000-06-07 04:48:12 +00:00
Werner Lemberg
61bd4b9dd1 Added FT_FRAME_SKIP_xxx to skip fields.
More use of READ_Fields() in ttsbit.c

Other minor fixes.
2000-06-07 00:00:08 +00:00
Werner Lemberg
1c0d4acb25 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
2000-06-06 20:41:48 +00:00
Werner Lemberg
920d41e038 Removing trailing whitespace. 2000-06-05 14:32:32 +00:00
Werner Lemberg
4e6dd8587e 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.
2000-06-05 05:26:15 +00:00
Werner Lemberg
5617726108 ftview now has two new options: -d activates debugging, and -l sets the
trace level.

Since FT2 is still beta, I've activated the FT_DEBUG_xxx macros by default.

To make reasonable output, I've changed some TRACEx macros to other levels.
2000-06-03 21:59:44 +00:00
Werner Lemberg
eb81e37825 More preparation for tracing. Formatting. 2000-06-03 06:03:11 +00:00
Werner Lemberg
9a754ce32b Formatting; adding some tracing code. 2000-06-02 21:31:32 +00:00
Werner Lemberg
91e52d416a Finishing first formatting/documenting etc. of the `base' dir. Some modules
are still badly documented, though...
2000-06-02 14:30:38 +00:00
Werner Lemberg
08edde5805 Correct wrong fix. 2000-06-02 00:11:57 +00:00
Werner Lemberg
2fbf7e439f Added a lot of error checking code to the exported functions in the `base'
subdir (not complete yet).
2000-06-02 00:01:14 +00:00
Werner Lemberg
d66ea312f6 FT_Outline_Decompose() now returns FT_Error.
Minor bug fixes.

More formatting, adding/fixing documentation.
2000-06-01 15:49:28 +00:00
David Turner
6b0bf34665 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"
2000-06-01 05:01:01 +00:00
David Turner
b3936a1600 small bug fix from Robert :-) 2000-06-01 04:44:36 +00:00
David Turner
04aa800ce9 added a CID-keyed font driver in "src/cid"
fixed two bugs in the smooth renderer
2000-06-01 03:27:48 +00:00
David Turner
3581d06464 changed the SFNT format check to make it less strict.
A certain number of TrueType fonts have invalid values
in the SFNT header..
2000-06-01 03:26:58 +00:00
Werner Lemberg
a3b6c6c290 Formatting, fixing and adding documentation. 2000-05-31 06:55:12 +00:00
Werner Lemberg
0c8cde2e05 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.
2000-05-30 20:10:06 +00:00
Werner Lemberg
f13e6333f9 Formatting; minor improvements. 2000-05-30 16:49:14 +00:00
Werner Lemberg
026bd17b41 ftmulti.c: Will now accept any filename. It will no longer append `.ttf'
or `.ttc'.  Reformatted.

ftcalc.c, ftdebug.c: Minor formatting stuff.
2000-05-30 05:13:30 +00:00
David Turner
5b401bb918 additional changes to the CFF/Type2 driver 2000-05-29 23:03:15 +00:00
Werner Lemberg
c3c344c76e Fixing the fixes :-) More formatting. 2000-05-29 22:40:57 +00:00
David Turner
4f99c3c423 fixed divide by zero bug
added CFF/OpenType driver source (not working for now)
2000-05-29 20:55:13 +00:00
Werner Lemberg
a519b3b7a3 Formatting, fixing descriptions. 2000-05-29 20:46:12 +00:00
David Turner
b1677a87ca 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)..
2000-05-29 20:37:41 +00:00
David Turner
241e151eb2 oops, forgot to commit these files 2000-05-28 17:15:37 +00:00
David Turner
2e421319fc 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..
2000-05-26 22:13:17 +00:00
David Turner
2c5f482b48 removed obsolete files 2000-05-26 22:10:08 +00:00
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
David Turner
5ae1259c03 removed the "t1encode" files which are now
obsolete with the "psnames" module
2000-02-10 19:17:24 +00:00
David Turner
7433655cbd Some changes. The SFNT driver is able to return
Postscript glyph names even when the "psnames"
module is not used..
2000-02-10 19:14:48 +00:00
David Turner
c3122c98ce added some comments 2000-02-10 19:11:30 +00:00
David Turner
1ab77fdfff some updates to make everything compile clean 2000-02-10 18:08:17 +00:00
David Turner
5dc8aba72b some modifications used to introduce the Type 1 AFM parser
and psnames module
2000-02-10 17:01:24 +00:00
David Turner
1a26888da3 some changes to ensure that the code compiles
cleanly when TT_CONFIG_OPTION_POSTSCRIPT_NAMES
is undefined..
2000-02-10 16:17:23 +00:00
David Turner
a8635cc626 Very simple AFM Parser 2000-02-10 16:15:11 +00:00
David Turner
cda32b71ba added the FT_Attach_File function to enable AFM
parsing.

Also, changed the API for FT_Open_Face to allow
broader stream descriptions..
2000-02-10 16:14:35 +00:00
David Turner
71ec10efe5 support for the IGNORE_GLOBAL_ADVANCE_WIDTH
loading flag
2000-02-10 16:09:35 +00:00
David Turner
dba4b3243a small update to the kerning code 2000-02-10 16:08:59 +00:00
David Turner
afdc4c4c2b Updates to the Type 1 driver
Now with a simple AFM parser in order
to read the kerning table..
2000-02-10 16:08:36 +00:00
David Turner
51d4e28daf New version of the Type 1 driver.
Generates a Unicode charmap on the fly
through the "psnames" module..

Now, we only need to support afm/pfm
files (and maybe multiple masters) to call
this driver finished !!
2000-02-10 13:11:43 +00:00
David Turner
5c9a571a5a new psnames module 2000-02-10 13:10:32 +00:00
David Turner
0dd3434801 The Type 1 experimental driver was updated
- small reduction of the code size of "t1encode.c"
- removed the hinter (not useful with the upcoming
  auto-hinter..)
- updated "t1load.c" to reduce warnings with Visual C++
- considerably changed the glyph loader (it is simpler)

Beware, this code is still experimental, and is _not_
debugged. I don't even guarantee that it works for
now

- David
2000-02-02 12:20:53 +00:00
David Turner
8f43c714a5 A major refresh of the TrueType driver :
- some #ifdefs were included in order to _not_
  compile support for the bytecode interpreter
  when FT_CONFIG_OPTION_BYTECODE_INTERPRETER
  is not defined in "ttconfig.h"

- the glyph loader has been seriously re-designed. It is now
  smaller, simpler and should load composites a bit faster

- works with the TrueType debugger
2000-02-02 12:16:19 +00:00
David Turner
2dfb5aca28 added a new experimental Type 1 driver. This version sports several
improvements compared to "src/type1". Briefly :

  - the postscript-like interpreter is now gone. We now perform
    pattern-matching to load our font content. The resultant code
    is much faster, smaller, and easier to maintain.

    For a more detailed description, see the comments at the start
    of "src/type1z/t1objs.c"

  - the glyph loader will be greatly simplified really soon, and the
    clumsy hinter will be ditched in favor of a more general auto-hinting
    module (when we get one).

    The goal is to strip down the Type1 driver to about 15-20 Kb.

This is still an experimental version. It is added to the repository
for archiving. You should not try to use it for now (it won't work
because some crucial parts are _knowingly_ ignored for now !).

Note that the "old" type1 driver will probably move to the "demos/src"
directory, in order to show how one can replace one given font driver
at runtime (and to provide the functionality of the "t1dump" program).
2000-01-27 14:02:04 +00:00
David Turner
d42c68e855 many new small, but important, changes there:
- modified the interface of the "sfnt" module. There is now a function
    called "load_format_tag", and another called "load_directory".

    The first one is in charge of returning the 4-byte tag located at
    the beginning of a given font file. It understand TrueType collections
    and parses them automatically

    The second loads the table directory that is located just after
    the format tag.

    This is useful, because the "SFNT" storage scheme can be used by
    several distinct formats, each with its own format tag.

    The TrueType driver now checks the format tag in "src/truetype/ttobjs.c"

  - made some changes to "src/shared/t1types.h" to clearly separate the
    Type 1 font content from the rest of the T1_Face structure. This
    will be useful when adding the CFF/Type2 driver that will be able
    to reuse the "T1_Font" structure within a "TT_Font" one (which
    really describes a SFNT-based font file).

    Some changes in "src/type1" were thus performed to reflect this.
    Note that the current type1 driver will be discontinued in a
    distant future. More on this later..
2000-01-27 13:56:02 +00:00
David Turner
76bbd5793f the T1_Face definition changed slightly to clearly separate the
Type 1 font content from the rest. This implied some changes to
the following files.
2000-01-27 13:35:16 +00:00
David Turner
3ba47068a6 some updates to the "rules.mk" files. Basically, we now
use "$(FT_COMPILE)" instead of "$(FT_CC)" in order to
compile the library.

$(FT_COMPILE) uses the $(ANSI_FLAGS) variable used to
define ANSI-compliance flags for the current compiler. It is used
to compile the library exclusively (some demo programs will _not_
compile properly with these flags set).
2000-01-17 11:25:57 +00:00
David Turner
3b925ef744 fixed a minor bug in the computation of the vertical
metrics top-side bearing
2000-01-17 11:22:59 +00:00
David Turner
fdc225b153 fixed another small bug in the FT_Read_xxxx functions
(they didn't updated the stream position in the case of
disk-based streams. This went un-noticed under Linux
which uses memory-mapped files by default)
2000-01-17 11:21:49 +00:00