freetype/include/freetype
Werner Lemberg 06474c3e5b [cff] Add a new Type 2 interpreter and hinter.
This work, written by Dave Arnold <darnold@adobe.com> and fully
integrated into FreeType by me, is a donation by Adobe in
collaboration with Google.  It is vastly superior to the old CFF
engine, and it will replace it soon.  Right now, it is still off by
default, and you have to explicitly select it using the new
`hinting-engine' property of the cff driver.

For convenience, (most of) the new files are committed separately.

* include/freetype/config/ftheader.h (FT_CFF_DRIVER_H): New macro.
* include/freetype/ftcffdrv.h: New file to access CFF driver
properties.
* include/freetype/fterrdef.h (FT_Err_Glyph_Too_Big): New error
code.
* include/freetype/internal/fttrace.h: Add `cf2blues', `cf2hints',
and `cf2interp'.

* src/cff/cffgload.h (CFF_SubFont): New member `current_subfont'.
* src/cff/cffobjs.h (CFF_DriverRec): New members `hinting_engine'
and `no_stem_darkening'.
* src/cff/cfftypes.h (CFF_FontRec): New member `cf2_instance'.

* src/cff/cff.c: Include new files.
* src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
`hinting-engine' and `no-stem-darkening' properties (only the Adobe
engine listens to them).
* src/cff/cffgload.c: Include `cf2ft.h'.
(cff_decoder_prepare): Initialize `current_subfont'.
(cff_build_add_point): Handle Adobe engine which uses 16.16
coordinates.
(cff_slot_load): Handle FT_LOAD_NO_SCALE and FT_LOAD_NO_HINTING
separately.
Choose rendering engine based on `hinting_engine' property.
* src/cff/cffload.c (cff_font_done): Call finalizer of the Adobe
engine.
* src/cff/cffobjs.c: Include FT_CFF_DRIVER_H.
(cff_driver_init): Set default property values.

* src/cff/rules.mk (CFF_DRV_SRC, CFF_DRV_H): Add new files.

* src/cff/cf2*.*: New files, containing the Adobe engine.
2013-04-13 18:53:28 +02:00
..
config [cff] Add a new Type 2 interpreter and hinter. 2013-04-13 18:53:28 +02:00
internal [cff] Add a new Type 2 interpreter and hinter. 2013-04-13 18:53:28 +02:00
freetype.h New error management macros. 2013-03-14 15:49:49 +01:00
ftadvanc.h load_flags of FT_Get_Advance(), FT_Get_Advances() and backends are declared as FT_Int32 to match the flags of FT_Load_Glyph() 2009-01-09 11:11:53 +00:00
ftautoh.h Remove trailing whitespace. 2013-01-24 13:33:06 +01:00
ftbbox.h Document BBox and CBox computation problems for tricky fonts. 2011-04-13 00:29:41 +02:00
ftbdf.h * include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve documentation. 2009-01-11 11:45:54 +00:00
ftbitmap.h * include/freetype/ftsynth.h, src/basae/ftsynth.c: Move 2008-12-17 10:50:31 +00:00
ftbzip2.h Improve bzip2 support. 2010-12-31 17:47:09 +01:00
ftcache.h [cache] Hide internal macros incompatible with LLP64. 2010-10-25 01:12:09 +09:00
ftcffdrv.h [cff] Add a new Type 2 interpreter and hinter. 2013-04-13 18:53:28 +02:00
ftchapters.h [cff] Add a new Type 2 interpreter and hinter. 2013-04-13 18:53:28 +02:00
ftcid.h Typo. 2009-03-11 21:39:10 +00:00
fterrdef.h [cff] Add a new Type 2 interpreter and hinter. 2013-04-13 18:53:28 +02:00
fterrors.h New error management macros. 2013-03-14 15:49:49 +01:00
ftgasp.h Remove trailing spaces. 2012-01-17 02:00:24 +09:00
ftglyph.h Call it fixed-point. 2013-01-12 19:17:05 -05:00
ftgxval.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftgzip.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftimage.h Call it fixed-point. 2013-01-12 19:17:05 -05:00
ftincrem.h Doc fix. 2010-02-13 07:53:37 +01:00
ftlcdfil.h * include/freetype/ftlcdfil.h: Add description of color filtering. 2013-03-29 19:35:39 +01:00
ftlist.h Fix various memory problems found by linuxtesting.org. 2010-05-22 20:03:41 +02:00
ftlzw.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftmac.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftmm.h Documentation fixes. 2009-01-19 08:35:45 +00:00
ftmodapi.h Implement properties to control FreeType modules. 2012-08-30 23:31:55 +02:00
ftmoderr.h * include/freetype/ftmoderr.h: Fix commit from 2013-03-11. 2013-03-15 08:16:25 +01:00
ftotval.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftoutln.h Check parameters of `FT_Outline_New'. 2012-12-21 16:45:27 +01:00
ftpfr.h Documentation fixes. 2009-01-19 08:47:43 +00:00
ftrender.h Fix parameter handling of `FT_Set_Renderer'. 2010-12-13 20:17:26 +01:00
ftsizes.h Documentation fixes. 2009-01-19 08:35:45 +00:00
ftsnames.h Minor doc fixes. 2010-02-13 07:53:37 +01:00
ftstroke.h Call it fixed-point. 2013-01-12 19:17:05 -05:00
ftsynth.h * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Improve spacing. 2012-06-15 06:33:46 +02:00
ftsystem.h Add some memory checks (mainly for debugging). 2010-06-26 09:24:08 +02:00
fttrigon.h [base] Make `FT_Hypot' really internal. 2013-01-24 09:12:56 +01:00
fttypes.h New error management macros. 2013-03-14 15:49:49 +01:00
ftwinfnt.h Improve navigation in API reference. 2008-06-26 19:56:51 +00:00
ftxf86.h Document that FT_Get_X11_Font_Format() is a general call. 2009-08-28 09:08:00 +02:00
t1tables.h Typo. 2011-11-15 08:17:59 +01:00
ttnameid.h Improve documentation of Unicode IVS handling. 2012-11-04 17:25:29 +01:00
tttables.h Improve documentation of Unicode IVS handling. 2012-11-04 17:25:29 +01:00
tttags.h formatting 2008-10-05 06:08:40 +00:00
ttunpat.h * src/tools/docmaker/sources.py (re_source_keywords): Add word 2006-05-12 08:00:13 +00:00