2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
# FreeType 2 auto-fitter module configuration rules
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2016-01-13 11:54:10 +01:00
|
|
|
# Copyright 2003-2016 by
|
2005-03-03 18:09:08 +01:00
|
|
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
|
|
#
|
|
|
|
# This file is part of the FreeType project, and may only be used, modified,
|
|
|
|
# and distributed under the terms of the FreeType project license,
|
|
|
|
# LICENSE.TXT. By continuing to use, modify, or distribute this file you
|
|
|
|
# indicate that you have read the license and understand and accept it
|
|
|
|
# fully.
|
|
|
|
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver directory
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
AUTOF_DIR := $(SRC_DIR)/autofit
|
|
|
|
|
|
|
|
|
|
|
|
# compilation flags for the driver
|
|
|
|
#
|
2015-01-12 11:26:30 +01:00
|
|
|
AUTOF_COMPILE := $(CC) $(ANSIFLAGS) \
|
|
|
|
$I$(subst /,$(COMPILER_SEP),$(AUTOF_DIR)) \
|
|
|
|
$(INCLUDE_FLAGS) \
|
|
|
|
$(FT_CFLAGS)
|
2005-03-01 23:49:32 +01:00
|
|
|
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver sources (i.e., C files)
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
2005-03-02 12:24:23 +01:00
|
|
|
AUTOF_DRV_SRC := $(AUTOF_DIR)/afangles.c \
|
2013-08-25 08:23:22 +02:00
|
|
|
$(AUTOF_DIR)/afblue.c \
|
2007-06-26 06:44:35 +02:00
|
|
|
$(AUTOF_DIR)/afcjk.c \
|
2005-03-02 12:24:23 +01:00
|
|
|
$(AUTOF_DIR)/afdummy.c \
|
|
|
|
$(AUTOF_DIR)/afglobal.c \
|
|
|
|
$(AUTOF_DIR)/afhints.c \
|
2007-06-26 06:44:35 +02:00
|
|
|
$(AUTOF_DIR)/afindic.c \
|
2005-03-02 12:24:23 +01:00
|
|
|
$(AUTOF_DIR)/aflatin.c \
|
|
|
|
$(AUTOF_DIR)/afloader.c \
|
2006-01-22 07:58:16 +01:00
|
|
|
$(AUTOF_DIR)/afmodule.c \
|
2011-01-03 07:11:54 +01:00
|
|
|
$(AUTOF_DIR)/afpic.c \
|
2013-12-19 15:45:24 +01:00
|
|
|
$(AUTOF_DIR)/afranges.c \
|
[autofit] Rewrite HarfBuzz interface to support character clusters.
Scripts like Khmer have blue zones that can't be directly
represented by Unicode characters. Instead, it is necessary to let
HarfBuzz convert character clusters into proper glyph representation
forms, then deriving the blue zone information from the resulting
glyphs.
* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
files, providing a new API to access HarfBuzz.
The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
and `af_shaper_buf_destroy'. The buffer receives a UTF8 encoded
string with function `af_shaper_get_cluster', and the resulting
glyph data (indices, advance widths, vertical offsets) can be
iteratively accessed with function `af_shaper_get_elem'.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_check_digits):
Updated.
* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
(af_face_globals_compute_style_coverage): Updated.
* src/autofit/afglocal.h: s/hbshim.h/afshaper.h/.
* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
Updated.
2015-12-06 18:52:41 +01:00
|
|
|
$(AUTOF_DIR)/afshaper.c \
|
|
|
|
$(AUTOF_DIR)/afwarp.c
|
2005-03-01 23:49:32 +01:00
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver headers
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
2005-03-23 17:45:24 +01:00
|
|
|
AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h) \
|
2013-12-21 21:31:38 +01:00
|
|
|
$(AUTOF_DIR)/afcover.h \
|
2011-01-03 07:11:54 +01:00
|
|
|
$(AUTOF_DIR)/aferrors.h \
|
2013-08-02 20:25:21 +02:00
|
|
|
$(AUTOF_DIR)/afscript.h \
|
[autofit] Introduce `styles'.
This is the new top-level structure for handling glyph input data;
scripts are now defined separately.
* src/autofit/aftypes.h (SCRIPT): Updated.
(AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
members to ...
(AF_Style_ClassRec): ... this new structure.
(AF_Style): New enumeration.
(AF_StyleMetricsRec): Replace `script' enumeration with
`style_class' pointer.
(AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
(AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
* src/autofit/afstyles.h: New file, using data from `afscript.h'.
* src/autofit/afscript.h: Updated.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
* src/autofit/afglobal.c (SCRIPT): Updated.
(STYLE): Redefine macro to load `afstyles.h'.
(af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
(af_style_names): ... this array.
(af_face_globals_compute_script_coverage): Renamed to...
(af_face_globals_compute_style_coverage): ... this.
Updated.
(af_face_globals_new, af_face_globals_free,
af_face_globals_get_metrics): Updated.
* src/autofit/afglobal.h (SCRIPT): Updated.
(STYLE): Redefine macro to load `afstyles.h'.
(AF_SCRIPT_FALLBACK): Update definition. This will get more
refinements with later on.
(AF_SCRIPT_UNASSIGNED): Replace with...
(AF_STYLE_UNASSIGNED): ... this macro.
(AF_FaceGlobalsRec): Updated.
* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
af_latin_hint_edges): Updated.
* src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
(af_ltn2_uniranges): Removed.
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
Updated.
* src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
* src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
(AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
members.
* src/autofit/afranges.h: Updated.
* src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
2013-12-20 17:26:26 +01:00
|
|
|
$(AUTOF_DIR)/afstyles.h \
|
2013-08-02 20:25:21 +02:00
|
|
|
$(AUTOF_DIR)/aftypes.h \
|
|
|
|
$(AUTOF_DIR)/afwrtsys.h
|
2005-03-01 23:49:32 +01:00
|
|
|
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver object(s)
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver source file for single build
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
AUTOF_DRV_SRC_S := $(AUTOF_DIR)/autofit.c
|
|
|
|
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver - single object
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
$(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))
|
|
|
|
|
|
|
|
|
2005-03-02 12:24:23 +01:00
|
|
|
# AUTOF driver - multiple objects
|
2005-03-01 23:49:32 +01:00
|
|
|
#
|
|
|
|
$(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
|