formatting
This commit is contained in:
parent
09d55ceabf
commit
a64c55b17f
56
ChangeLog
56
ChangeLog
@ -1,38 +1,50 @@
|
||||
2001-05-11 David Turner <david@freetype.org>
|
||||
|
||||
* src/cff/cffparse.c, src/cid/cidload.c, src/type1/t1load.c: fixed
|
||||
the incorrect EM size computation
|
||||
* src/cff/cffparse.c (cff_parse_font_matrix), src/cid/cidload.c
|
||||
(parse_font_matrix), src/type1/t1load.c (parse_font_matrix): Fixed
|
||||
the incorrect EM size computation.
|
||||
|
||||
* include/freetype/fttrigon.h, src/base/fttrigon.c, src/base/ftbase.c,
|
||||
src/base/Jamfile, src/base/rules.mk: adding trigonometric functions
|
||||
to the core API (using Cordic algorithms).
|
||||
* include/freetype/fttrigon.h, src/base/fttrigon.c: New files,
|
||||
adding trigonometric functions to the core API (using Cordic
|
||||
algorithms).
|
||||
* src/base/ftbase.c, src/base/Jamfile, src/base/rules.mk: Use them.
|
||||
|
||||
* builds/top_level.mk, builds/newline, builds/detect.mk: fixed problems
|
||||
with Make on Windows 2000, as well as problems when "make distclean" is
|
||||
invoked on a non-Unix platform when there is no "config.mk" in the
|
||||
current directory..
|
||||
* builds/newline: New file.
|
||||
* builds/top_level.mk, builds/detect.mk: Use it. This fixes
|
||||
problems with Make on Windows 2000, as well as problems when "make
|
||||
distclean" is invoked on a non-Unix platform when there is no
|
||||
"config.mk" in the current directory.
|
||||
|
||||
* builds/freetype.mk: fixed a problem with object deletions under
|
||||
Dos/Windows/OS/2 systems
|
||||
* builds/freetype.mk: Fixed a problem with object deletions under
|
||||
Dos/Windows/OS/2 systems.
|
||||
|
||||
* src/tools: added new directory to hold tools and test programs
|
||||
moved docmaker.py, glnames.py to it..
|
||||
Added new directory to hold tools and test programs.
|
||||
|
||||
* src/tools/docmaker.py: improved the script to add the current date
|
||||
at the footer of each web page (useful to distinguish between versions)
|
||||
* docs/docmaker.py, docs/glnames.py: Moved to...
|
||||
* src/tools/docmaker.py, src/tools/glnames.py: This place.
|
||||
* src/tools/cordic.py: New file used to compute arctangent table
|
||||
needed by fttrigon.c.
|
||||
* src/tools/test_bbox.c, src/tools/test_trig.c: New test files.
|
||||
|
||||
* Jamfile: fixed incorrect HDRMACRO argument.
|
||||
* src/tools/docmaker.py: Improved the script to add the current date
|
||||
at the footer of each web page (useful to distinguish between
|
||||
versions).
|
||||
|
||||
* TODO: removed the cubic arc bbox computation note, since it has been
|
||||
fixed recently..
|
||||
* Jamfile: Fixed incorrect HDRMACRO argument.
|
||||
|
||||
* include/freetype/t1tables.h, include/freetype/config/ftoption.h:
|
||||
formatting
|
||||
* TODO: Removed the cubic arc bbox computation note, since it has been
|
||||
fixed recently.
|
||||
* src/base/ftbbox.c (test_cubic_zero): Renamed to...
|
||||
(test_cubic_extrema): This function. Use `UL' for unsigned long
|
||||
constants.
|
||||
|
||||
* include/freetype/t1tables.h, include/freetype/config/ftoption.h:
|
||||
Formatting.
|
||||
|
||||
2001-05-10 David Turner <david@freetype.org>
|
||||
|
||||
* src/base/ftobjs.c (FT_Open_Face): fixed a small memory leaked
|
||||
which happened when trying to open 0-size font files !!
|
||||
* src/base/ftobjs.c (FT_Open_Face): Fixed a small memory leak
|
||||
which happened when trying to open 0-size font files!
|
||||
|
||||
2001-05-09 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
|
@ -132,7 +132,7 @@ std_setup:
|
||||
@$(COPY) $(CONFIG_RULES) $(CONFIG_MK)
|
||||
|
||||
|
||||
# special case for Dos, Windows, OS/2, where echo "" doesn't work correctly !!
|
||||
# Special case for Dos, Windows, OS/2, where echo "" doesn't work correctly!
|
||||
#
|
||||
dos_setup:
|
||||
@type builds\newline
|
||||
|
@ -273,8 +273,8 @@ distclean_project_std: clean_project_std
|
||||
# The Dos command shell does not support very long list of arguments, so
|
||||
# we are stuck with wildcards.
|
||||
#
|
||||
# don't break the command lines with, this prevents the "del" command from
|
||||
# working correctly on Win9x
|
||||
# Don't break the command lines with; this prevents the "del" command from
|
||||
# working correctly on Win9x.
|
||||
#
|
||||
clean_project_dos:
|
||||
-$(DELETE) $(subst $(SEP),$(HOSTSEP),$(OBJ_))*.$O $(CLEAN) $(NO_OUTPUT)
|
||||
|
@ -97,11 +97,11 @@ ifdef check_platform
|
||||
# GNU make. Similarly, `nul' is created if e.g. `make setup win32' has
|
||||
# been erroneously used.
|
||||
#
|
||||
# note: this test is duplicated in "builds/toplevel.mk"
|
||||
# note: This test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
|
||||
distclean:
|
||||
$(RM) builds/unix/config.cache
|
||||
$(RM) builds/unix/config.log
|
||||
|
@ -16,7 +16,8 @@
|
||||
|
||||
ifeq ($(PLATFORM),ansi)
|
||||
|
||||
# note: this test is duplicated in "builds/toplevel.mk"
|
||||
# Note: this test is duplicated in "builds/toplevel.mk".
|
||||
#
|
||||
is_unix := $(strip $(wildcard /sbin/init) $(wildcard /hurd/auth))
|
||||
ifneq ($(is_unix),)
|
||||
|
||||
|
@ -357,7 +357,7 @@
|
||||
FT_Fixed t;
|
||||
|
||||
|
||||
/* we need to solve "ax^2+2bx+c" here, without floating points! */
|
||||
/* We need to solve "ax^2+2bx+c" here, without floating points! */
|
||||
/* The trick is to normalize to a different representation in order */
|
||||
/* to use our 16.16 fixed point routines. */
|
||||
/* */
|
||||
@ -373,25 +373,25 @@
|
||||
int shift = 0;
|
||||
|
||||
|
||||
/* technical explanation of what's happening there */
|
||||
/* Technical explanation of what's happening there. */
|
||||
/* */
|
||||
/* the following computation is based on the fact that for */
|
||||
/* The following computation is based on the fact that for */
|
||||
/* any value "y", if "n" is the position of the most */
|
||||
/* significant bit of "abs(y)" (starting from 0 for the */
|
||||
/* least significant bit), then y is in the range */
|
||||
/* */
|
||||
/* "-2^n..2^n-1" */
|
||||
/* */
|
||||
/* we want to shift "a", "b" and "c" concurrently in order */
|
||||
/* We want to shift "a", "b" and "c" concurrently in order */
|
||||
/* to ensure that they all fit in 8.16 values, which maps */
|
||||
/* to the integer range "-2^23..2^23-1" */
|
||||
/* to the integer range "-2^23..2^23-1". */
|
||||
/* */
|
||||
/* necessarily, we need to shift "a", "b" and "c" so that */
|
||||
/* Necessarily, we need to shift "a", "b" and "c" so that */
|
||||
/* the most significant bit of their absolute values is at */
|
||||
/* _most_ at position 23 */
|
||||
/* _most_ at position 23. */
|
||||
/* */
|
||||
/* we begin by computing "t1" as the bitwise "or" of the */
|
||||
/* absolute values of "a", "b", "c" */
|
||||
/* We begin by computing "t1" as the bitwise "or" of the */
|
||||
/* absolute values of "a", "b", "c". */
|
||||
/* */
|
||||
t1 = (FT_ULong)((a >= 0) ? a : -a );
|
||||
t2 = (FT_ULong)((b >= 0) ? b : -b );
|
||||
@ -399,31 +399,30 @@
|
||||
t2 = (FT_ULong)((c >= 0) ? c : -c );
|
||||
t1 |= t2;
|
||||
|
||||
/* now, the most significant bit of "t1" is sure to be the */
|
||||
/* Now, the most significant bit of "t1" is sure to be the */
|
||||
/* msb of one of "a", "b", "c", depending on which one is */
|
||||
/* expressed in the greatest integer range.. */
|
||||
/* expressed in the greatest integer range. */
|
||||
/* */
|
||||
/* we will now compute the "shift", by shifting "t1" as many */
|
||||
/* We now compute the "shift", by shifting "t1" as many */
|
||||
/* times as necessary to move its msb to position 23. */
|
||||
/* */
|
||||
/* this corresponds to a value of t1 that is in the range */
|
||||
/* 0x40_0000..0x7F_FFFF */
|
||||
/* This corresponds to a value of t1 that is in the range */
|
||||
/* 0x40_0000..0x7F_FFFF. */
|
||||
/* */
|
||||
/* finally, we shift "a", "b" and "c" by the same amount. */
|
||||
/* this ensure that all values are now in the range */
|
||||
/* -2^23..2^23, i.e. that they're now expressed as 8.16 */
|
||||
/* fixed float numbers.. */
|
||||
/* Finally, we shift "a", "b" and "c" by the same amount. */
|
||||
/* This ensures that all values are now in the range */
|
||||
/* -2^23..2^23, i.e. that they are now expressed as 8.16 */
|
||||
/* fixed float numbers. */
|
||||
/* */
|
||||
/* this also means that we're using 24 bits of precision */
|
||||
/* This also means that we are using 24 bits of precision */
|
||||
/* to compute the zeros, independently of the range of */
|
||||
/* the original polynom coefficients. */
|
||||
/* */
|
||||
/* this should ensure reasonably accurate values for the */
|
||||
/* zeros. Note that the latter are only expressed with */
|
||||
/* This should ensure reasonably accurate values for the */
|
||||
/* zeros. Note that the latter are only expressed with */
|
||||
/* 16 bits when computing the extrema (the zeros need to */
|
||||
/* be in 0..1 exclusive to be considered part of the arc) */
|
||||
/* be in 0..1 exclusive to be considered part of the arc). */
|
||||
/* */
|
||||
|
||||
if ( t1 == 0 ) /* all coefficients are 0! */
|
||||
return;
|
||||
|
||||
@ -435,8 +434,8 @@
|
||||
t1 >>= 1;
|
||||
} while ( t1 > 0x7FFFFFUL );
|
||||
|
||||
/* losing some bits of precision, but we'll use 24 of them */
|
||||
/* for the computation anyway.. */
|
||||
/* losing some bits of precision, but we use 24 of them */
|
||||
/* for the computation anyway. */
|
||||
a >>= shift;
|
||||
b >>= shift;
|
||||
c >>= shift;
|
||||
|
Loading…
Reference in New Issue
Block a user