Adding OpenType validation module. The code is based on the
(unfinished) `otlayout' module but has been heavily modified to make
it much more compact.
* src/otvalid/*: New module.
* include/freetype/ftotval.h, src/base/ftotval.c,
include/freetype/internal/services/svotval.h: New files.
* include/freetype/config/ftmodule.h: Add otv_module_class.
* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
macro.
* include/freetype/internal/ftserv.h
(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
* include/freetype/ftchapters.h: Updated.
* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
src/base/rules.mk (BASE_EXT_SRC): Updated.
* docs/CHANGES: Updated.
2004-09-10 18:39:00 +04:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* This file defines the structure of the FreeType reference. */
|
2013-09-03 13:33:10 +04:00
|
|
|
/* It is used by the python script that generates the HTML files. */
|
Adding OpenType validation module. The code is based on the
(unfinished) `otlayout' module but has been heavily modified to make
it much more compact.
* src/otvalid/*: New module.
* include/freetype/ftotval.h, src/base/ftotval.c,
include/freetype/internal/services/svotval.h: New files.
* include/freetype/config/ftmodule.h: Add otv_module_class.
* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
macro.
* include/freetype/internal/ftserv.h
(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
* include/freetype/ftchapters.h: Updated.
* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
src/base/rules.mk (BASE_EXT_SRC): Updated.
* docs/CHANGES: Updated.
2004-09-10 18:39:00 +04:00
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
|
|
|
|
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
a preliminary section with some explanations about user allocation.
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
Don't abort if there are no data types, functions, etc., in a
section.
Print synopsis only if we have a data type, function, etc.
* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2005-08-30 04:22:46 +04:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
|
|
|
/* general_remarks */
|
|
|
|
/* */
|
|
|
|
/* <Title> */
|
|
|
|
/* General Remarks */
|
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
2013-12-11 10:48:51 +04:00
|
|
|
/* header_inclusion */
|
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
a preliminary section with some explanations about user allocation.
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
Don't abort if there are no data types, functions, etc., in a
section.
Print synopsis only if we have a data type, function, etc.
* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2005-08-30 04:22:46 +04:00
|
|
|
/* user_allocation */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
|
|
|
|
2001-03-05 00:53:08 +03:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
|
|
|
/* core_api */
|
|
|
|
/* */
|
|
|
|
/* <Title> */
|
|
|
|
/* Core API */
|
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
2006-05-12 17:55:04 +04:00
|
|
|
/* version */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* basic_types */
|
|
|
|
/* base_interface */
|
2007-10-20 20:15:07 +04:00
|
|
|
/* glyph_variants */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* glyph_management */
|
|
|
|
/* mac_specific */
|
2002-06-23 14:57:31 +04:00
|
|
|
/* sizes_management */
|
|
|
|
/* header_file_macros */
|
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
a preliminary section with some explanations about user allocation.
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
Don't abort if there are no data types, functions, etc., in a
section.
Print synopsis only if we have a data type, function, etc.
* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2005-08-30 04:22:46 +04:00
|
|
|
|
2002-06-23 14:57:31 +04:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
|
|
|
/* format_specific */
|
|
|
|
/* */
|
|
|
|
/* <Title> */
|
|
|
|
/* Format-Specific API */
|
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* multiple_masters */
|
|
|
|
/* truetype_tables */
|
|
|
|
/* type1_tables */
|
|
|
|
/* sfnt_names */
|
2002-06-23 14:57:31 +04:00
|
|
|
/* bdf_fonts */
|
2007-07-17 00:46:05 +04:00
|
|
|
/* cid_fonts */
|
2002-11-14 02:28:08 +03:00
|
|
|
/* pfr_fonts */
|
Adding OpenType validation module. The code is based on the
(unfinished) `otlayout' module but has been heavily modified to make
it much more compact.
* src/otvalid/*: New module.
* include/freetype/ftotval.h, src/base/ftotval.c,
include/freetype/internal/services/svotval.h: New files.
* include/freetype/config/ftmodule.h: Add otv_module_class.
* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
macro.
* include/freetype/internal/ftserv.h
(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
* include/freetype/ftchapters.h: Updated.
* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
src/base/rules.mk (BASE_EXT_SRC): Updated.
* docs/CHANGES: Updated.
2004-09-10 18:39:00 +04:00
|
|
|
/* winfnt_fonts */
|
2006-12-01 11:20:47 +03:00
|
|
|
/* font_formats */
|
2007-01-10 17:18:15 +03:00
|
|
|
/* gasp_table */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
2001-02-13 20:42:49 +03:00
|
|
|
|
|
|
|
|
2012-09-02 00:31:43 +04:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
2013-05-17 15:51:07 +04:00
|
|
|
/* module_specific */
|
2012-09-02 00:31:43 +04:00
|
|
|
/* */
|
|
|
|
/* <Title> */
|
2013-05-17 15:51:07 +04:00
|
|
|
/* Controlling FreeType Modules */
|
2012-09-02 00:31:43 +04:00
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
|
|
|
/* auto_hinter */
|
[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 20:53:28 +04:00
|
|
|
/* cff_driver */
|
2013-05-17 15:51:07 +04:00
|
|
|
/* tt_driver */
|
[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 20:53:28 +04:00
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|
|
|
|
|
|
|
|
|
2001-03-05 00:53:08 +03:00
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
|
|
|
/* cache_subsystem */
|
|
|
|
/* */
|
|
|
|
/* <Title> */
|
|
|
|
/* Cache Sub-System */
|
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
|
|
|
/* cache_subsystem */
|
|
|
|
/* */
|
2001-06-28 21:49:10 +04:00
|
|
|
/***************************************************************************/
|
2001-03-05 00:53:08 +03:00
|
|
|
|
|
|
|
|
|
|
|
/***************************************************************************/
|
|
|
|
/* */
|
|
|
|
/* <Chapter> */
|
|
|
|
/* support_api */
|
|
|
|
/* */
|
|
|
|
/* <Title> */
|
|
|
|
/* Support API */
|
|
|
|
/* */
|
|
|
|
/* <Sections> */
|
|
|
|
/* computations */
|
|
|
|
/* list_processing */
|
|
|
|
/* outline_processing */
|
2008-09-12 20:27:48 +04:00
|
|
|
/* quick_advance */
|
2004-12-14 19:01:29 +03:00
|
|
|
/* bitmap_handling */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* raster */
|
Adding OpenType validation module. The code is based on the
(unfinished) `otlayout' module but has been heavily modified to make
it much more compact.
* src/otvalid/*: New module.
* include/freetype/ftotval.h, src/base/ftotval.c,
include/freetype/internal/services/svotval.h: New files.
* include/freetype/config/ftmodule.h: Add otv_module_class.
* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
macro.
* include/freetype/internal/ftserv.h
(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
* include/freetype/ftchapters.h: Updated.
* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
src/base/rules.mk (BASE_EXT_SRC): Updated.
* docs/CHANGES: Updated.
2004-09-10 18:39:00 +04:00
|
|
|
/* glyph_stroker */
|
2002-06-23 14:57:31 +04:00
|
|
|
/* system_interface */
|
|
|
|
/* module_management */
|
Adding OpenType validation module. The code is based on the
(unfinished) `otlayout' module but has been heavily modified to make
it much more compact.
* src/otvalid/*: New module.
* include/freetype/ftotval.h, src/base/ftotval.c,
include/freetype/internal/services/svotval.h: New files.
* include/freetype/config/ftmodule.h: Add otv_module_class.
* include/freetype/config/ftheader.h (FT_OPENTYPE_VALIDATE_H): New
macro.
* include/freetype/internal/ftserv.h
(FT_SERVICE_OPENTYPE_VALIDATE_H): New macro.
* include/freetype/internal/fttrace.h (otvmodule, otvcommon,
otvbase, otvgdef, otvgpos, otvgsub, otvjstf): New trace components.
* include/freetype/ftchapters.h: Updated.
* src/base/Jamfile (Library), src/base/descrip.mms (OBJS),
src/base/rules.mk (BASE_EXT_SRC): Updated.
* docs/CHANGES: Updated.
2004-09-10 18:39:00 +04:00
|
|
|
/* gzip */
|
|
|
|
/* lzw */
|
2010-12-31 19:47:09 +03:00
|
|
|
/* bzip2 */
|
2007-01-10 17:18:15 +03:00
|
|
|
/* lcd_filtering */
|
2001-03-05 00:53:08 +03:00
|
|
|
/* */
|
|
|
|
/***************************************************************************/
|