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
6dd303db0d
* builds/ansi/ansi.mk: Fix inclusion order of files.
...
* src/type1/t1objs.c (T1_Init_Face): Compute style flags.
2000-11-26 21:25:53 +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
5c4f5ebd0d
formatting
2000-11-18 04:42:41 +00:00
David Turner
e006675e67
added support to synthetic Type 1 fonts. Why didn't
...
this thing get committed ??
2000-11-16 19:06:28 +00:00
Werner Lemberg
34e52707f0
Formatting; removing tabs.
2000-11-13 16:58:01 +00:00
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