freetype2/include/freetype/internal
Werner Lemberg bd4b8976a3 [type1, psaux] Handle large values of num_subrs correctly (#46692).
We now use a hash to map from subr indices to array elements holding
the subroutines, if necessary.

* include/freetype/internal/t1types.h: Include FT_INTERNAL_HASH_H.
(T1_FontRec): Add `subrs_hash' field.

* include/freetype/internal/psaux.h: Include FT_INTERNAL_HASH_H.
(T1_DecoderRec): Add `subrs_hash' field.

* src/type1/t1load.h (T1_LoaderRec): Add `subrs_hash' field.

* src/type1/t1driver.c: Include FT_INTERNAL_HASH_H.
(t1_ps_get_font_value) [PS_DICT_SUBR]: Look up hash if necessary.

* src/type1/t1load.c: Include FT_INTERNAL_HASH_H.
(parse_subrs): Use hash for subr indices that exceed the allocated
number of subr slots.
(t1_init_loader): Remove unnecessary code.
(t1_done_loader, T1_Open_Face): Updated.

* src/type1/t1gload.c (T1_Compute_Max_Advance, T1_Get_Advances,
T1_Load_Glyph): Updated.

* src/type1/t1objs.c (T1_Face_Done): Updated.

* src/psaux/t1decode.c: Include FT_INTERNAL_HASH_H.
(t1_decoder_parse_charstrings) [op_callsubr]: Look up hash if
necessary.

* src/cid/cidgload.c (cid_load_glyph): Updated.
2015-12-20 19:36:04 +01:00
..
services [sfnt] Better checks for invalid cmaps (2/2) (#46019). 2015-09-24 13:39:44 +02:00
autohint.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftcalc.h * include/freetype/internal/ftcalc.h: Don't use `register' keyword. 2015-11-21 06:30:43 +01:00
ftdebug.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftdriver.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftgloadr.h Minor clean-ups. 2015-12-20 06:39:38 +01:00
fthash.h [base] Thinko: Remove free function pointer. 2015-12-20 19:00:35 +01:00
ftmemory.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftobjs.h Allow native CFF hinter in FT_RENDER_MODE_LIGHT. 2015-11-10 22:33:45 +01:00
ftpic.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftrfork.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftserv.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
ftstream.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
fttrace.h [autofit] Rewrite HarfBuzz interface to support character clusters. 2015-12-06 18:52:41 +01:00
ftvalid.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
internal.h [bdf, base] Lift hash functions from bdf driver to base module. 2015-12-19 16:59:40 +01:00
psaux.h [type1, psaux] Handle large values of num_subrs correctly (#46692). 2015-12-20 19:36:04 +01:00
pshints.h Another adjustment to header locations. 2015-06-26 06:48:00 +02:00
sfnt.h [truetype] Introduce named instance access to GX fonts. 2015-08-13 15:22:17 +02:00
t1types.h [type1, psaux] Handle large values of num_subrs correctly (#46692). 2015-12-20 19:36:04 +01:00
tttypes.h [truetype] Catch infinite recursion in subglyphs (#46372). 2015-11-04 11:44:47 +01:00