Commit Graph

453 Commits

Author SHA1 Message Date
Tom Kacvinsky
200a1a41e3 In function TT_Load_Generic_Header, change tracing output to indicate
if a `bhed' or `head' table is being read.

In function TT_LookUp_Table, change tracing output to indicate success
or failure of table loading, and place output on one line.
2000-11-13 07:31:21 +00:00
Tom Kacvinsky
e0bd0c01d9 In function SFNT_Load_Face, set has_outline to true only if
the font has a `CFF ' or `glyf' table.
2000-11-13 07:26:31 +00:00
Werner Lemberg
a82cd844fb Small fixes and formatting. 2000-11-10 22:43:37 +00:00
David Turner
c9d7b5e3ed minor warning with VC++ solved 2000-11-09 03:18:32 +00:00
David Turner
cd1afc4ef1 fixed a bug in "docs/glnames.py" which caused he generation of an
invalid Mac names table in the file "src/psnames/pstables.h".

This caused FT_Get_Glyph_Name to return invalid glyph names
for certain TrueType fonts..
2000-11-09 00:47:05 +00:00
David Turner
a6c747d2b5 fixed a small bug: the "linearHoriAdvance" and "vertHoriAdvance" were
not set correctly when the auto-hinter is used to load/hint a glyph..
2000-11-08 19:44:48 +00:00
David Turner
5387d894a9 fixed max advance width for fixed-pitch T1 fonts 2000-11-08 19:40:08 +00:00
David Turner
23a0670b98 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
David Turner
94e3bfafa0 fixed a small bug in the abstract chunk cache class 2000-11-08 00:15:58 +00:00
Werner Lemberg
8ec9dfd991 Moving doc comments for BASE functions from source to header files. 2000-11-07 23:56:02 +00:00
Werner Lemberg
90a0330142 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
4b68007b4f 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
f96594faf0 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
25dee217ab 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
8c883fb542 minor fixes.
Add more gcc warnings for development on UNIX.
2000-11-05 23:41:08 +00:00
Werner Lemberg
77fb4cedff removed redundant checks. 2000-11-04 09:41:45 +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
4091109486 Don't access freed variables... 2000-11-03 07:57:51 +00:00
Werner Lemberg
7b45c28dd5 Remove redundant code; fix computation of `last'. 2000-11-03 07:34:29 +00:00
Werner Lemberg
a13a473dd9 More C++ fixes. 2000-11-02 15:14:38 +00:00
Werner Lemberg
21fb2d9513 Adding header file for labs(). 2000-11-02 08:20:15 +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
3dc4374f43 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
2909475716 at last, the infamous cache bug is fixed !! 2000-10-31 10:58:23 +00:00
Tom Kacvinsky
6043b2404e In function FTC_ChunkSet_Destroy, changed manaher' to manager'. Just
a fix for a silly typo.
2000-10-29 01:47:51 +00:00
David Turner
ece6379859 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
b5084e11f7 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
4e4a43631c - 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
9b8f5c4ce1 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
David Turner
47c14b9db3 fixing a small bug in FT_Glyph_To_Bitmap:
the glyph advance wasn't copied to the bitmap !!
2000-10-27 00:53:16 +00:00
Werner Lemberg
ddbb8e7b6a 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
a4e2894e03 simple renaming of directories:
"type1z"  -> "type1"
  "raster1" -> "raster"

note that I didn't rename all files. We'll have to endure
the "z1..." crazyness unless we perform a _big_ sed on
the sources :-)
2000-10-26 00:30:33 +00:00
David Turner
3a3ffedcb2 adding "ftbbox" to build rules 2000-10-26 00:08:15 +00:00
David Turner
54169b35f8 - 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
6a4253388b fixes for fixes :-)
formatting; compiles now without warnings on my Linux box
2000-10-24 05:44:59 +00:00
David Turner
dc26e7b77f - 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
Werner Lemberg
05f0ad098f Converting tabs to spaces in z1load.
Edited FT1's convntns.txt and added it to FT2.
2000-10-19 05:12:00 +00:00
Tom Kacvinsky
40822003da In function parse_encoding, initialize encoding_table.elements to have
.notdef in each entry.

In function parse_charstrings, place the .notdef glyph in index 0, and
add a .notdef glyph if it is missing.

In function Z1_Open_Face, only change min/max encoded char if it is not
.notdef.
2000-10-17 20:25:30 +00:00
Werner Lemberg
5a96b07c1f Fixed two typos spotted by Ryan Martindale <ryan@qsicorp.com>. 2000-10-17 14:29:48 +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
c1635d44f9 ftnames.c has been erroneously included twice. 2000-10-15 23:32:01 +00:00
Werner Lemberg
0bf381f7ab Make ftsynth.c work again.
Renamed FT_*_Outline to FT_Outline_*
2000-10-15 21:59:58 +00:00
Werner Lemberg
dc268f24ba Fix typo (FT_... -> TT_...) 2000-10-15 17:59:17 +00:00
Tom Kacvinsky
95ac657e18 Minor fix in Z1_Open_Face for building char_index table 2000-10-15 08:53:27 +00:00
Werner Lemberg
e67e349a0b 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
eddd9909e2 formatting
small fixes
2000-10-12 05:05:40 +00:00
David Turner
f88969ab6c the function FTC_Manager_Lookup_Size will return a valid
FT_Face handle, even if no size was found..
2000-10-12 00:28:00 +00:00
David Turner
b89fb71ce6 fixed a subtle 64-bit problem that only appears with
Compaq C compiler (though it's really a bug)
2000-10-11 23:39:03 +00:00
Werner Lemberg
a7096374ee 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
3d568ac772 A fix from Yamano'uchi to get correct font names. 2000-10-11 14:59:46 +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
Werner Lemberg
0634cedb62 patch from Tom to fix a problem with path_begun. 2000-10-09 01:44:40 +00:00
Werner Lemberg
6fbe4db6b7 minor formatting issues 2000-10-05 04:53:31 +00:00
David Turner
f00a4de92b fixed two bugs:
- one bug in the auto-hinter that could cause some program
    crashes with certain fonts

  - fixed the loading of the font matrix "offset" parameters
    in Type 1 and CID-keyed fonts..
2000-10-03 22:03:09 +00:00
David Turner
ec0b2cd974 small fix:
when in direct rendering mode, the target bitmap buffer
  is not checked..
2000-10-03 19:22:52 +00:00
David Turner
78dd7104ef small fix:
when in direct rendering mode, the target bitmap buffer
  is not checked..
2000-10-03 19:13:11 +00:00
David Turner
a0be99f131 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
8bb45ec8fb 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
42022c8c94 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
Werner Lemberg
8925009f79 Adding missing code for flat compiling mode. 2000-09-26 13:25:15 +00:00
Werner Lemberg
f50c2954d4 Fixed typo in ftimage.h
Fixed sbit on/off flag in cache code.
2000-09-22 06:52:20 +00:00
Werner Lemberg
50dd5858a7 Applied a patch from Hidetoshi for embedded bitmap metrics support. 2000-09-22 03:37:45 +00:00
Werner Lemberg
1a2908bbc0 Added support for (3,0) pid/eid. 2000-09-21 14:10:23 +00:00
David Turner
4e38576a97 fixed a bug that happened when rendering spaces
in monochrome mode..

actually, when outline.num_points == 0, it is legal
to have outline.points == 0 too. The code did return
a FT_Err_Invalid_Outline error incorrectly then because
the checks were not performed in the correct order
2000-09-19 19:44:42 +00:00
David Turner
ebdce8344a updated the cache sub-system. Major internal rewrite
please be aware that major bug persist..
2000-09-19 01:11:11 +00:00
David Turner
b71c6af028 fixed minor bug in the smooth renderer which forced
the span callback to be called with y == -1 and count == 0
2000-09-17 17:17:16 +00:00
David Turner
d38a4f6593 removed obsolete files 2000-09-15 22:42:43 +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
David Turner
c9ce9e4e3f small bug-fix 2000-09-15 17:16:49 +00:00
David Turner
f2545e8078 fixed a very stupid bug that prevented FT_Outline_Render from
working correctly..
2000-09-15 03:37:16 +00:00
Werner Lemberg
f9b0375002 small formatting issues. 2000-09-11 22:50:13 +00:00
David Turner
a8194a97db - added a new function called FT_SqrtFixed to compute the
16.16 square root of a 16.16 number (this could come handy
  in a later version of the auto-hinter)

- small fixes to the smooth renderer. It used to use way too
  much line segments when drawing beziers !!
2000-09-02 00:20:42 +00:00
Werner Lemberg
21a27ee3cb Fixed a long outstanding bug with an incorrect offset for reading post
tables.
2000-09-01 14:36:39 +00:00
David Turner
7909673992 - the file "ftlist.h" was moved from <freetype/internal/..> to
<freetype/...>

- bugfix for the cache sub-system..
2000-08-30 21:40:45 +00:00
Werner Lemberg
353dfeafa3 More warnings fixed. 2000-08-29 18:58:41 +00:00
Werner Lemberg
4a5c142a40 Minor fixes. 2000-08-29 18:37:25 +00:00
Werner Lemberg
4e9dae68b7 Introducing new macro LOCA_VAR to solve some problems with structures
containing function pointers.

FT will now compile again with C++.
2000-08-29 16:50:01 +00:00
David Turner
80b96f350c fixed some bugs in the caching sub-system and improved
its API to enable many kinds of glyph images..

(note that the "ftview" program has been changed to
use the caching sub-system, "ftmulti" and "ftstring"
should come soon).
2000-08-29 16:04:28 +00:00
David Turner
e12e313a04 a small optimisation that should speed things a bit.
I'm surprised I didn't do it before..
2000-08-29 16:03:28 +00:00
David Turner
5878a6d2ad a fix to the computation of the font "text height" (i.e. the
baseline-to-baseline distance).

Unfortunately, we cannot rely on the OS/2 fields, like
sTypoAscender or usWinAscent to compute it. Rather,
we only look at the horizontal header's content. In case
the "line gap" is set to 0, we compute the text height as
115% of the ascender+descender value..

(this percentage is based on the values found in many
Windows fonts).
2000-08-29 16:03:01 +00:00
Werner Lemberg
95853c87f5 Introducing new error code FT_Err_Invalid_Cache_Handle.
Regrouping of error codes.
2000-08-26 22:16:44 +00:00
Just van Rossum
9b4bb291d9 #include <freetype/internal/ftdebug.h> /* for FT_ERROR() */ 2000-08-25 20:00:58 +00:00
Werner Lemberg
d1b7475be1 Formatting, small fixes.
Adding basic input parameter checking for exported functions.
2000-08-24 16:29:15 +00:00
David Turner
35db73220c - fixed an horrible FT_LOAD_RENDER bug that returned empty
bitmaps !!

- tested and fixed the image cache object. I'm performing a
  few more checks though, and we'll call the cache sub-system
  completed !!
2000-08-24 12:39:40 +00:00
David Turner
98d2701c58 changed the FTC_Manager_New function to accept "max_faces" and
"max_sizes" parameters

fixed some bugs. the cache manager is now tested and validated
(now, it's time for the glyph image cache)
2000-08-24 11:53:35 +00:00
Just van Rossum
4a47f668a1 fixed typo in FT_FLAT_COMPILE section 2000-08-24 00:43:08 +00:00
David Turner
fcf5e68650 renamed "psmodule.c" to "psauxmod.c" 2000-08-24 00:30:24 +00:00
David Turner
888706a317 removing obsolete files 2000-08-23 22:50:39 +00:00
David Turner
b8a7a0bdea removing obsolete files. These are moved to a new
CVS module called "ftlayout"
2000-08-23 22:48:50 +00:00
David Turner
34f1c2f5f4 finally, the CID and Type1z driver are finished !!
Werner, please have a look at the code and start
re-formatting it :-)
2000-08-23 22:47:44 +00:00
David Turner
3b2c50eb3b completing the FreeType Cache subsystem files 2000-08-23 21:11:13 +00:00
Werner Lemberg
8728f294bc Formatting, small fixes.
Adding copyright notices etc.
2000-08-23 17:32:42 +00:00
David Turner
b466a7650c The FreeType Caching Subsystem - first lines of code
beware, this code is not tested, and probably doesn't compile
correctly.. more information will follow..
2000-08-23 11:22:30 +00:00
David Turner
a39acf55f7 updated "psaux" and "type1z".
The Type 1 driver now completely relies on "psaux". I
now need to change the CID driver accordingly, then
finally move the Type 2 parsing routines to "psaux"
when appropriate..
2000-08-23 02:47:57 +00:00
David Turner
d8b4514d43 added preliminary emboldening code.. still _very_
experimental
2000-08-22 22:53:03 +00:00
David Turner
9748807412 the psaux module is now nearly completed
the "type1z" driver uses it to parse Type 1 charstrings
(not to parse the Type 1 token stream yet though)..
2000-08-22 22:36:33 +00:00
David Turner
f95a603117 minor updates to the "psaux" module.
Werner, please do not start re-formatting my experimental
code until I declare it "finished", because I still make big
changes to it that create lots of CVS conflicts..

thanks for your work, anyway :-)
2000-08-21 04:58:49 +00:00