2005-03-03 18:09:08 +01:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* autofit.c */
|
|
|
|
/* */
|
|
|
|
/* Auto-fitter module (body). */
|
|
|
|
/* */
|
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. */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
|
|
|
|
2004-02-03 22:34:29 +01:00
|
|
|
#define FT_MAKE_OPTION_SINGLE_OBJECT
|
|
|
|
#include <ft2build.h>
|
2009-04-05 17:23:38 +02:00
|
|
|
#include "afpic.c"
|
2004-02-03 22:34:29 +01:00
|
|
|
#include "afangles.c"
|
2013-08-25 08:23:22 +02:00
|
|
|
#include "afblue.c"
|
2004-02-03 22:34:29 +01:00
|
|
|
#include "afglobal.c"
|
|
|
|
#include "afhints.c"
|
2007-06-26 06:44:35 +02:00
|
|
|
|
2013-12-19 15:45:24 +01:00
|
|
|
#include "afranges.c"
|
|
|
|
|
2004-02-23 22:08:37 +01:00
|
|
|
#include "afdummy.c"
|
2004-02-03 22:34:29 +01:00
|
|
|
#include "aflatin.c"
|
2007-06-11 07:37:35 +02:00
|
|
|
#ifdef FT_OPTION_AUTOFIT2
|
|
|
|
#include "aflatin2.c"
|
|
|
|
#endif
|
2006-02-09 15:17:04 +01:00
|
|
|
#include "afcjk.c"
|
2007-06-26 06:44:35 +02:00
|
|
|
#include "afindic.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
|
|
|
#include "afshaper.c"
|
2013-12-21 21:31:38 +01:00
|
|
|
|
2004-02-03 22:34:29 +01:00
|
|
|
#include "afloader.c"
|
|
|
|
#include "afmodule.c"
|
2005-03-03 18:09:08 +01:00
|
|
|
|
2011-03-02 03:52:36 +01:00
|
|
|
#ifdef AF_CONFIG_OPTION_USE_WARPER
|
2006-01-21 15:31:45 +01:00
|
|
|
#include "afwarp.c"
|
|
|
|
#endif
|
2005-03-03 18:09:08 +01:00
|
|
|
|
|
|
|
/* END */
|