freetype2/include/freetype
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
..
config Synchronize with gnulib (#49448). 2016-11-06 06:06:30 +01:00
internal [cff] Implement CFF2 support (1/2). 2016-12-15 20:27:47 +01:00
freetype.h Improve documentation of `lsb_delta' and `rsb_delta' (#19044). 2016-11-17 08:04:52 +01:00
ftadvanc.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftautoh.h Handle properties in `FREETYPE_PROPERTIES' environment variable. 2016-07-11 15:11:38 +02:00
ftbbox.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftbdf.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftbitmap.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftbzip2.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftcache.h Duplicates. 2016-05-07 22:28:43 -04:00
ftcffdrv.h Handle properties in `FREETYPE_PROPERTIES' environment variable. 2016-07-11 15:11:38 +02:00
ftchapters.h Describe error values and strings in the documentation. 2015-07-23 13:35:07 +02:00
ftcid.h Typos. 2016-04-13 00:11:52 -04:00
fterrdef.h Update copyright year. 2016-01-13 11:54:10 +01:00
fterrors.h Still handle `__FTERRORS_H__'. 2016-01-20 21:10:41 +01:00
ftfntfmt.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftgasp.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftglyph.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftgxval.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftgzip.h Typos. 2016-04-08 23:21:34 -04:00
ftimage.h s/0/NULL/ for function pointers; comments, formatting. 2016-09-17 17:12:50 +02:00
ftincrem.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftlcdfil.h Typo. 2016-01-22 23:36:47 -05:00
ftlist.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftlzw.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftmac.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftmm.h [truetype] Add `HVAR' table parsing. 2016-12-15 12:58:26 +01:00
ftmodapi.h Remove unpatented hinter (3/3). 2016-01-28 14:11:14 +01:00
ftmoderr.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftotval.h Parentheses. 2016-05-20 22:04:01 -04:00
ftoutln.h Minor documentation improvements. 2016-09-06 12:29:18 +02:00
ftpfr.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftrender.h s/0/NULL/ for function pointers; comments, formatting. 2016-09-17 17:12:50 +02:00
ftsizes.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftsnames.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftstroke.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftsynth.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftsystem.h Duplicates. 2016-05-07 22:28:43 -04:00
fttrigon.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftttdrv.h Handle properties in `FREETYPE_PROPERTIES' environment variable. 2016-07-11 15:11:38 +02:00
fttypes.h Update copyright year. 2016-01-13 11:54:10 +01:00
ftwinfnt.h Update copyright year. 2016-01-13 11:54:10 +01:00
t1tables.h Update copyright year. 2016-01-13 11:54:10 +01:00
ttnameid.h Update copyright year. 2016-01-13 11:54:10 +01:00
tttables.h Typos. 2016-04-08 00:38:49 -04:00
tttags.h [sfnt, cff] Minor preparations. 2016-12-14 18:25:44 +01:00
ttunpat.h Remove unpatented hinter (3/3). 2016-01-28 14:11:14 +01:00