24aa9c665e
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.
54 lines
1.1 KiB
Plaintext
54 lines
1.1 KiB
Plaintext
# FreeType 2 src/autofit Jamfile
|
|
#
|
|
# Copyright 2003-2015 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.
|
|
|
|
SubDir FT2_TOP src autofit ;
|
|
|
|
{
|
|
local _sources ;
|
|
|
|
# define FT2_AUTOFIT2 to enable experimental latin hinter replacement
|
|
if $(FT2_AUTOFIT2)
|
|
{
|
|
CCFLAGS += FT_OPTION_AUTOFIT2 ;
|
|
}
|
|
if $(FT2_MULTI)
|
|
{
|
|
_sources = afangles
|
|
afblue
|
|
afcjk
|
|
afdummy
|
|
afglobal
|
|
afhints
|
|
afindic
|
|
aflatin
|
|
afloader
|
|
afmodule
|
|
afpic
|
|
afranges
|
|
afshaper
|
|
afwarp
|
|
;
|
|
|
|
if $(FT2_AUTOFIT2)
|
|
{
|
|
_sources += aflatin2 ;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
_sources = autofit ;
|
|
}
|
|
|
|
Library $(FT2_LIB) : $(_sources).c ;
|
|
}
|
|
|
|
# end of src/autofit Jamfile
|