1924134710
Coverages are the interface to the HarfBuzz library to access OpenType features for handling glyphs not addressable by the cmap. Right now, compilation of HarfBuzz is only added to the development build. A solution for standard build mode will be delayed until HarfBuzz gets split into two libraries to avoid mutual dependencies between FreeType and HarfBuzz. Note that this is only a first step in handling coverages, basically providing the framework only. Code for handling selected OpenType features (this is, actually using the data in `afcover.h') will follow. * devel/ftoption.h, include/config/ftoption.h (FT_CONFIG_OPTION_USE_HARFBUZZ): New macro. * src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h: New files. * src/autofit/afscript.h: Add HarfBuzz script name tags. * src/autofit/afstyles.h: Add default coverage enumeration values. * src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros. (AF_Coverage): New enumeration (generated by `afcover.h'). (AF_StyleClassRec): New member `coverage'. (AF_DEFINE_STYLE_CLASS): Updated. * include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage data. * src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros. (AF_SCRIPT_FALLBACK): Renamed to ... (AF_STYLE_FALLBACK): ... this. * src/autofit/afglobal.c: Include `hbshim.c'. Update use of `SCRIPT' and `STYLE' macros. (af_face_globals_compute_style_coverage) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'. Update. * src/autofit/afmodule.h (AF_ModuleRec): s/fallback_script/fallback_style/. * src/autofit/afmodule.c (af_property_set): Adapt handling of `fallback-script' property to set a fallback style. (af_property_get, af_autofitter_init): Updated. * src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros. * src/autofit/afranges.h: Update use of `SCRIPT' macro. * src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include `hbshim.c'. * src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'. (AUTOF_DRV_H): Add `afcover.h'. * builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for all libraries needed by FreeType.
87 lines
2.3 KiB
Makefile
87 lines
2.3 KiB
Makefile
#
|
|
# FreeType 2 auto-fitter module configuration rules
|
|
#
|
|
|
|
|
|
# Copyright 2003-2007, 2011, 2013 by
|
|
# 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.
|
|
|
|
|
|
# AUTOF driver directory
|
|
#
|
|
AUTOF_DIR := $(SRC_DIR)/autofit
|
|
|
|
|
|
# compilation flags for the driver
|
|
#
|
|
AUTOF_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(AUTOF_DIR))
|
|
|
|
|
|
# AUTOF driver sources (i.e., C files)
|
|
#
|
|
AUTOF_DRV_SRC := $(AUTOF_DIR)/afangles.c \
|
|
$(AUTOF_DIR)/afblue.c \
|
|
$(AUTOF_DIR)/afcjk.c \
|
|
$(AUTOF_DIR)/afdummy.c \
|
|
$(AUTOF_DIR)/afglobal.c \
|
|
$(AUTOF_DIR)/afhints.c \
|
|
$(AUTOF_DIR)/afindic.c \
|
|
$(AUTOF_DIR)/aflatin.c \
|
|
$(AUTOF_DIR)/afloader.c \
|
|
$(AUTOF_DIR)/afmodule.c \
|
|
$(AUTOF_DIR)/afpic.c \
|
|
$(AUTOF_DIR)/afranges.c \
|
|
$(AUTOF_DIR)/afwarp.c \
|
|
$(AUTOF_DIR)/hbshim.c
|
|
|
|
# AUTOF driver headers
|
|
#
|
|
AUTOF_DRV_H := $(AUTOF_DRV_SRC:%c=%h) \
|
|
$(AUTOF_DIR)/afcover.h \
|
|
$(AUTOF_DIR)/aferrors.h \
|
|
$(AUTOF_DIR)/afscript.h \
|
|
$(AUTOF_DIR)/afstyles.h \
|
|
$(AUTOF_DIR)/aftypes.h \
|
|
$(AUTOF_DIR)/afwrtsys.h
|
|
|
|
|
|
# AUTOF 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
|
|
|
|
# AUTOF driver source file for single build
|
|
#
|
|
AUTOF_DRV_SRC_S := $(AUTOF_DIR)/autofit.c
|
|
|
|
|
|
# AUTOF 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))
|
|
|
|
|
|
# AUTOF 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
|