From 5bc063da2ebb22627c78a9d088b1735718026e23 Mon Sep 17 00:00:00 2001 From: David Turner Date: Tue, 1 Mar 2005 22:49:32 +0000 Subject: [PATCH] * src/autofit/{rules.mk,module.mk,afangles.h}: adding missing files * src/autofit/afloader.c: fixing small bug that could crash the engine with certain fonts. --- ChangeLog | 5 ++++ src/autofit/afangles.h | 3 ++ src/autofit/afloader.c | 2 +- src/autofit/module.mk | 12 ++++++++ src/autofit/rules.mk | 64 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 1 deletion(-) create mode 100644 src/autofit/afangles.h create mode 100644 src/autofit/module.mk create mode 100644 src/autofit/rules.mk diff --git a/ChangeLog b/ChangeLog index 82d7a8b2e..c19879540 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2005-03-01 David Turner + * src/autofit/{rules.mk,module.mk,afangles.h}: adding missing files + + * src/autofit/afloader.c: fixing small bug that could crash the engine + with certain fonts. + * src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}: various bug-fixes and drastic heap usage reduction improvements. diff --git a/src/autofit/afangles.h b/src/autofit/afangles.h new file mode 100644 index 000000000..593b40cc3 --- /dev/null +++ b/src/autofit/afangles.h @@ -0,0 +1,3 @@ +/* this is a dummy file. used to please the build system. It is never + * included by the auto-fitter sources + */ diff --git a/src/autofit/afloader.c b/src/autofit/afloader.c index c03a9f36e..b88d29dc1 100644 --- a/src/autofit/afloader.c +++ b/src/autofit/afloader.c @@ -167,7 +167,7 @@ axis->num_edges - 1; /* rightmost edge */ - if ( edge2 > edge1 ) + if ( axis->num_edges > 1 ) { old_advance = loader->pp2.x; old_rsb = old_advance - edge2->opos; diff --git a/src/autofit/module.mk b/src/autofit/module.mk new file mode 100644 index 000000000..fca165ff8 --- /dev/null +++ b/src/autofit/module.mk @@ -0,0 +1,12 @@ +# +# FreeType 2 auto-fitter module definition +# + + +make_module_list: add_autofit_module + +add_autofit_module: + $(OPEN_DRIVER)autofit_module_class$(CLOSE_DRIVER) + $(ECHO_DRIVER)autofit $(ECHO_DRIVER_DESC)automatic hinting module$(ECHO_DRIVER_DONE) + +# EOF diff --git a/src/autofit/rules.mk b/src/autofit/rules.mk new file mode 100644 index 000000000..1d65e6f0f --- /dev/null +++ b/src/autofit/rules.mk @@ -0,0 +1,64 @@ +# +# FreeType 2 auto-fitter module configuration rules +# + + +# AUTO driver directory +# +AUTOF_DIR := $(SRC_DIR)/autofit + + +# compilation flags for the driver +# +AUTOF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(AUTOF_DIR)) + + +# AUTO driver sources (i.e., C files) +# +AUTOF_DRV_SRC := $(AUTOF_DIR)/afangles.c \ + $(AUTOF_DIR)/afdummy.c \ + $(AUTOF_DIR)/afglobal.c \ + $(AUTOF_DIR)/afhints.c \ + $(AUTOF_DIR)/afhints.c \ + $(AUTOF_DIR)/afloader.c \ + $(AUTOF_DIR)/afmodule.c + +# AUTO driver headers +# +AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h) \ + $(AUTOF_DIR)/aftypes.h + + +# AUTO driver object(s) +# +# AUTOF_DRV_OBJ_M is used during `multi' builds. +# AUTOF_DRV_OBJ_S is used during `single' builds. +# +AUTOF_DRV_OBJ_M := $(AUTOF_DRV_SRC:$(AUTOF_DIR)/%.c=$(OBJ_DIR)/%.$O) +AUTOF_DRV_OBJ_S := $(OBJ_DIR)/autofit.$O + +# AUTO driver source file for single build +# +AUTOF_DRV_SRC_S := $(AUTOF_DIR)/autofit.c + + +# AUTO driver - single object +# +$(AUTOF_DRV_OBJ_S): $(AUTOF_DRV_SRC_S) $(AUTOF_DRV_SRC) \ + $(FREETYPE_H) $(AUTOF_DRV_H) + $(AUTOF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(AUTOF_DRV_SRC_S)) + + +# AUTO driver - multiple objects +# +$(OBJ_DIR)/%.$O: $(AUTOF_DIR)/%.c $(FREETYPE_H) $(AUTOF_DRV_H) + $(AUTOF_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<) + + +# update main driver object lists +# +DRV_OBJS_S += $(AUTOF_DRV_OBJ_S) +DRV_OBJS_M += $(AUTOF_DRV_OBJ_M) + + +# EOF