freetype/src
Werner Lemberg 24aa9c665e [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
..
autofit [autofit] Rewrite HarfBuzz interface to support character clusters. 2015-12-06 18:52:41 +01:00
base Change default LCD filter to be normalized and color-balanced. 2015-11-28 12:04:28 +01:00
bdf * src/bdf/bdflib.c (bdf_load_font): Fix small memory leak (#46480). 2015-11-25 07:53:49 +01:00
bzip2 [bzip2, gzip] Avoid access of unitialized memory (#46109). 2015-10-04 07:39:22 +02:00
cache Formatting. 2015-10-31 19:08:27 +01:00
cff [cff, autofit] Switch off stem darkening by default. 2015-11-11 09:55:16 +01:00
cid * src/cid/cidload.c (cid_face_open): Fix GDBytes guard (#46408). 2015-11-09 21:37:40 +01:00
gxvalid Comments. 2015-10-30 08:07:56 +01:00
gzip * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Use real stream size. 2015-10-09 09:38:32 +02:00
lzw [bzip2, gzip, lzw] Harmonize function signatures with prototype. 2015-09-26 15:19:54 +02:00
otvalid Comments. 2015-10-30 08:07:56 +01:00
pcf Comments. 2015-10-30 08:07:56 +01:00
pfr Comments. 2015-10-30 08:07:56 +01:00
psaux [psaux] Fix tracing of negative numbers. 2015-10-19 23:00:28 +02:00
pshinter [pshinter] Avoid harmless overflow (#45984). 2015-09-29 11:22:15 +02:00
psnames Comments. 2015-10-30 08:07:56 +01:00
raster [raster] Minor style fix. 2015-09-29 12:38:11 +02:00
sfnt [sfnt] Accept version 3 of EBLC' and CBLC' tables also. 2015-11-08 10:00:34 +01:00
smooth [smooth] Faster alternative line renderer. 2015-10-06 22:39:54 -04:00
tools * src/tools/afblue.pl (convert_ascii_chars): Don't ignore spaces. 2015-12-05 13:20:30 +01:00
truetype Fix C++ compilation. 2015-11-28 19:05:36 +01:00
type1 [type1] Avoid dangling pointer (#46572). 2015-12-01 12:09:02 +01:00
type42 Comments. 2015-10-30 08:07:56 +01:00
winfonts Comments. 2015-10-30 08:07:56 +01:00
Jamfile Make Jam support work again. 2015-06-21 19:12:12 +02:00