freetype2/src/cff
Dave Arnold 9f62d2ca06 [cff] Implement CFF2 support (1/2).
This commit does not contain the blend code for font variation
support, which follows in another commit.

You should ignore whitespace while inspecting this commit.

* include/freetype/internal/tttypes.h (TT_Face): Add `isCFF2'
member.

* src/cff/cf2font.h (CF2_Font): Add `isCFF2' member.

* src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Handle `isCFF2'
flag.
(cf2_getMaxstack): New function.
* src/cff/cf2ft.h: Updated.

* src/cff/cf2intrp.c (cf2_escRESERVED_38): New enum.
(cf2_interpT2CharString): Handle CFF2 differences.
Add tracing message for errors.

* src/cff/cffdrivr.c (cff_get_glyph_name, cff_get_name_index):
Update for CFF2.

* src/cff/cffload.c (FT_FIXED_ONE): New macro.
(cff_index_init, cff_index_load_offsets, cff_index_access_element,
cff_index_get_name, cff_ft_select_get, cff_load_private_dict,
cff_subfont_load, cff_font_load): Handle CFF2.
* src/cff/cffload.h: Updated.

* src/cff/cffobjs.c (cff_face_init): Handle CFF2.

* src/cff/cffparse.c (cff_parse_maxstack): New function.
(CFFCODE_TOPDICT, CFFCODE_PRIVATE): Removed
* src/cff/cffparse.h (CFF2_MAX_STACK, CFF2_DEFAULT_STACK): New
macros.
(CFF2_CODE_TOPDICT, CFF2_CODE_FONTDICT, CFF2_CODE_PRIVATE): New
macros.

* src/cff/cfftoken.h: Add fields for CFF2 dictionaries (but no blend
stuff).

* src/cff/cfftypes.h (CFF_Index): Add `hdr_size' field.
(CFF_FontRecDict): Add `maxstack' field.
(CFF_Private): Add `subfont' field.
(CFF_Font): Add `top_dict_length' and `cff2' fields.

* src/sfnt/sfobjs.c (sfnt_load_face): Handle `CFF2' table.
2016-12-15 20:27:47 +01:00
..
Jamfile Update copyright year. 2016-01-13 11:54:10 +01:00
cf2arrst.c Define FT_LONG_MAX. 2015-07-31 21:49:07 +02:00
cf2arrst.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cf2blues.c Math simplifications. 2014-02-28 09:25:57 +01:00
cf2blues.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cf2error.c [cff] New files for Adobe's Type 2 interpreter and hinting engine. 2013-04-13 15:02:31 +02:00
cf2error.h Typos. 2016-04-08 23:21:34 -04:00
cf2fixed.h [sfnt, cff] Minor preparations. 2016-12-14 18:25:44 +01:00
cf2font.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cf2font.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cf2ft.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cf2ft.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cf2glue.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cf2hints.c [cff] Remove an assert (#46107). 2015-10-21 13:58:43 +02:00
cf2hints.h Typos. 2016-04-08 23:21:34 -04:00
cf2intrp.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cf2intrp.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cf2read.c More compiler warning fixes. 2013-06-12 10:58:06 +02:00
cf2read.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cf2stack.c [cff] Implement dynamic stack size for Adobe engine. 2016-12-15 11:22:15 +01:00
cf2stack.h [cff] Implement dynamic stack size for Adobe engine. 2016-12-15 11:22:15 +01:00
cf2types.h Don't use macro names that contain `__' [1/2]. 2016-01-12 21:37:13 +01:00
cff.c Update copyright year. 2016-01-13 11:54:10 +01:00
cffcmap.c s/0/NULL/ for function pointers; comments, formatting. 2016-09-17 17:12:50 +02:00
cffcmap.h Update copyright year. 2016-01-13 11:54:10 +01:00
cffdrivr.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffdrivr.h Update copyright year. 2016-01-13 11:54:10 +01:00
cfferrs.h Update copyright year. 2016-01-13 11:54:10 +01:00
cffgload.c */*: s/FT_MEM_ZERO/FT_ZERO/ where appropriate. 2016-09-28 19:06:21 +02:00
cffgload.h [cff] Make old CFF engine show MM CFFs (without variations). 2016-02-14 16:03:15 +01:00
cffload.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffload.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffobjs.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffobjs.h Update copyright year. 2016-01-13 11:54:10 +01:00
cffparse.c [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffparse.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cffpic.c Update copyright year. 2016-01-13 11:54:10 +01:00
cffpic.h [cff] Add Multiple Masters service. 2016-12-14 19:31:42 +01:00
cfftoken.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
cfftypes.h [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
module.mk Update copyright year. 2016-01-13 11:54:10 +01:00
rules.mk Update copyright year. 2016-01-13 11:54:10 +01:00