• Show log

    Commit

  • Hash : 19241347
    Author : Werner Lemberg
    Date : 2013-12-21T21:31:38

    Introduce `coverages'.
    
    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.