Commit 5bc063da2ebb22627c78a9d088b1735718026e23

David Turner 2005-03-01T22:49:32

* 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.

diff --git a/ChangeLog b/ChangeLog
index 82d7a8b..c198795 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2005-03-01  David Turner  <david@freetype.org>
 
+    * 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 0000000..593b40c
--- /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 c03a9f3..b88d29d 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 0000000..fca165f
--- /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 0000000..1d65e6f
--- /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