2018-06-03 22:00:42 +02:00
|
|
|
/****************************************************************************
|
|
|
|
*
|
|
|
|
* fttrace.h
|
|
|
|
*
|
|
|
|
* Tracing handling (specification only).
|
|
|
|
*
|
2019-02-23 10:07:09 +01:00
|
|
|
* Copyright (C) 2002-2019 by
|
2018-06-03 22:00:42 +02:00
|
|
|
* David Turner, Robert Wilhelm, and Werner Lemberg.
|
|
|
|
*
|
|
|
|
* This file is part of the FreeType project, and may only be used,
|
|
|
|
* modified, and distributed under the terms of the FreeType project
|
|
|
|
* license, LICENSE.TXT. By continuing to use, modify, or distribute
|
|
|
|
* this file you indicate that you have read the license and
|
|
|
|
* understand and accept it fully.
|
|
|
|
*
|
|
|
|
*/
|
2002-03-30 00:23:28 +01:00
|
|
|
|
|
|
|
|
2004-02-25 13:58:54 +01:00
|
|
|
/* definitions of trace levels for FreeType 2 */
|
2002-02-21 12:48:48 +01:00
|
|
|
|
2004-02-25 13:58:54 +01:00
|
|
|
/* the first level must always be `trace_any' */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( any )
|
|
|
|
|
2004-02-25 13:58:54 +01:00
|
|
|
/* base components */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( calc ) /* calculations (ftcalc.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( gloader ) /* glyph loader (ftgloadr.c) */
|
|
|
|
FT_TRACE_DEF( glyph ) /* glyph management (ftglyph.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( memory ) /* memory manager (ftobjs.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( init ) /* initialization (ftinit.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( io ) /* i/o interface (ftsystem.c) */
|
|
|
|
FT_TRACE_DEF( list ) /* list management (ftlist.c) */
|
|
|
|
FT_TRACE_DEF( objs ) /* base objects (ftobjs.c) */
|
|
|
|
FT_TRACE_DEF( outline ) /* outline management (ftoutln.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( stream ) /* stream manager (ftstream.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
|
2018-06-17 09:30:05 +02:00
|
|
|
FT_TRACE_DEF( bitmap ) /* bitmap manipulation (ftbitmap.c) */
|
2018-06-17 09:13:37 +02:00
|
|
|
FT_TRACE_DEF( checksum ) /* bitmap checksum (ftobjs.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( mm ) /* MM interface (ftmm.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( psprops ) /* PS driver properties (ftpsprop.c) */
|
2004-02-25 13:58:54 +01:00
|
|
|
FT_TRACE_DEF( raccess ) /* resource fork accessor (ftrfork.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( raster ) /* monochrome rasterizer (ftraster.c) */
|
2019-08-24 11:58:31 +02:00
|
|
|
FT_TRACE_DEF( otsvg ) /* ot-svg renderer (ftsvg.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( smooth ) /* anti-aliasing raster (ftgrays.c) */
|
2009-07-31 17:32:06 +02:00
|
|
|
FT_TRACE_DEF( synth ) /* bold/slant synthesizer (ftsynth.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* Cache sub-system */
|
2004-02-25 13:58:54 +01:00
|
|
|
FT_TRACE_DEF( cache ) /* cache sub-system (ftcache.c, etc.) */
|
2002-02-21 12:48:48 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* SFNT driver components */
|
2009-07-31 17:32:24 +02:00
|
|
|
FT_TRACE_DEF( sfdriver ) /* SFNT font driver (sfdriver.c) */
|
2004-02-25 13:58:54 +01:00
|
|
|
FT_TRACE_DEF( sfobjs ) /* SFNT object handler (sfobjs.c) */
|
2019-05-30 20:27:34 +02:00
|
|
|
FT_TRACE_DEF( sfwoff ) /* WOFF format handler (sfwoff.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( ttbdf ) /* TrueType embedded BDF (ttbdf.c) */
|
2004-02-25 13:58:54 +01:00
|
|
|
FT_TRACE_DEF( ttcmap ) /* charmap handler (ttcmap.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( ttcolr ) /* glyph layer table (ttcolr.c) */
|
|
|
|
FT_TRACE_DEF( ttcpal ) /* color palette table (ttcpal.c) */
|
2019-08-23 11:58:18 +02:00
|
|
|
FT_TRACE_DEF( ttsvg ) /* ot-svg glyph table (ttsvg.c) */
|
2005-03-01 03:13:50 +01:00
|
|
|
FT_TRACE_DEF( ttkern ) /* kerning handler (ttkern.c) */
|
2004-02-25 13:58:54 +01:00
|
|
|
FT_TRACE_DEF( ttload ) /* basic TrueType tables (ttload.c) */
|
Clean up the SFNT_Interface. Table loading functions are now named
after the tables' tags; `hdmx' is TrueType-specific and thus the code
is moved to the truetype module; `get_metrics' is moved here from the
truetype module so that the code can be shared with the cff module.
This pass involves no real changes. That is, the code is moved
verbatim mostly. The only exception is the return value of
`tt_face_get_metrics'.
* include/freetype/internal/sfnt.h, src/sfnt/rules.mk,
src/sfnt/sfdriver.c, src/sfnt/sfnt.c, src/sfnt/sfobjs.c,
src/sfnt/ttload.c, src/sfnt/ttload.h, src/sfnt/ttsbit.c,
src/sfnt/ttsbit.h, src/sfnt/ttsbit0.c: Clean up the SFNT_Interface.
* src/sfnt/ttmtx.c, src/sfnt/ttmtx.h: Metrics-related tables' loading
and parsing code is moved here.
Move `tt_face_get_metrics' here from the truetype module. The return
value is changed from `void' to `FT_Error'.
* include/freetype/internal/fttrace.h: New trace: ttmtx.
* src/truetype/ttpload.c, src/truetype/ttpload.h: `hdmx' loading and
parsing code is moved here.
New function `tt_face_load_prep' splitted from `tt_face_load_fpgm'.
`tt_face_load_fpgm' returns `FT_Err_Ok' if `fpgm' doesn't exist.
* src/cff/cffgload.c, src/cff/cffobjs.c: Update.
* src/truetype/ttgload.c, src/truetype/ttobjs.c: Update.
2006-02-14 07:40:10 +01:00
|
|
|
FT_TRACE_DEF( ttmtx ) /* metrics-related tables (ttmtx.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( ttpost ) /* PS table processing (ttpost.c) */
|
|
|
|
FT_TRACE_DEF( ttsbit ) /* TrueType sbit handling (ttsbit.c) */
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* TrueType driver components */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( ttdriver ) /* TT font driver (ttdriver.c) */
|
|
|
|
FT_TRACE_DEF( ttgload ) /* TT glyph loader (ttgload.c) */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( ttgxvar ) /* TrueType GX var handler (ttgxvar.c) */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( ttinterp ) /* bytecode interpreter (ttinterp.c) */
|
|
|
|
FT_TRACE_DEF( ttobjs ) /* TT objects manager (ttobjs.c) */
|
|
|
|
FT_TRACE_DEF( ttpload ) /* TT data/program loader (ttpload.c) */
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* Type 1 driver components */
|
2009-07-09 07:43:57 +02:00
|
|
|
FT_TRACE_DEF( t1afm )
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( t1driver )
|
|
|
|
FT_TRACE_DEF( t1gload )
|
|
|
|
FT_TRACE_DEF( t1load )
|
|
|
|
FT_TRACE_DEF( t1objs )
|
|
|
|
FT_TRACE_DEF( t1parse )
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* PostScript helper module `psaux' */
|
2017-12-07 14:33:44 +01:00
|
|
|
FT_TRACE_DEF( cffdecode )
|
2012-10-20 11:27:25 +02:00
|
|
|
FT_TRACE_DEF( psconv )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( psobjs )
|
|
|
|
FT_TRACE_DEF( t1decode )
|
2002-02-21 12:48:48 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* PostScript hinting module `pshinter' */
|
2017-12-07 14:33:44 +01:00
|
|
|
FT_TRACE_DEF( pshalgo )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( pshrec )
|
2002-02-21 12:48:48 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* Type 2 driver components */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( cffdriver )
|
|
|
|
FT_TRACE_DEF( cffgload )
|
|
|
|
FT_TRACE_DEF( cffload )
|
|
|
|
FT_TRACE_DEF( cffobjs )
|
|
|
|
FT_TRACE_DEF( cffparse )
|
|
|
|
|
[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
|
|
|
FT_TRACE_DEF( cf2blues )
|
|
|
|
FT_TRACE_DEF( cf2hints )
|
|
|
|
FT_TRACE_DEF( cf2interp )
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* Type 42 driver component */
|
2002-05-21 16:13:01 +02:00
|
|
|
FT_TRACE_DEF( t42 )
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* CID driver components */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( ciddriver )
|
|
|
|
FT_TRACE_DEF( cidgload )
|
|
|
|
FT_TRACE_DEF( cidload )
|
|
|
|
FT_TRACE_DEF( cidobjs )
|
|
|
|
FT_TRACE_DEF( cidparse )
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* Windows font component */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( winfnt )
|
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* PCF font components */
|
2002-02-21 12:48:48 +01:00
|
|
|
FT_TRACE_DEF( pcfdriver )
|
|
|
|
FT_TRACE_DEF( pcfread )
|
2002-03-30 00:23:28 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* BDF font components */
|
2002-05-21 16:13:01 +02:00
|
|
|
FT_TRACE_DEF( bdfdriver )
|
|
|
|
FT_TRACE_DEF( bdflib )
|
2002-05-18 14:03:43 +02:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* PFR font component */
|
2002-04-19 17:13:47 +02:00
|
|
|
FT_TRACE_DEF( pfr )
|
2002-03-30 00:23:28 +01:00
|
|
|
|
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 16:39:00 +02:00
|
|
|
/* OpenType validation components */
|
|
|
|
FT_TRACE_DEF( otvcommon )
|
|
|
|
FT_TRACE_DEF( otvbase )
|
|
|
|
FT_TRACE_DEF( otvgdef )
|
|
|
|
FT_TRACE_DEF( otvgpos )
|
|
|
|
FT_TRACE_DEF( otvgsub )
|
|
|
|
FT_TRACE_DEF( otvjstf )
|
2007-08-08 08:38:06 +02:00
|
|
|
FT_TRACE_DEF( otvmath )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( otvmodule )
|
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 16:39:00 +02:00
|
|
|
|
2005-08-24 06:31:31 +02:00
|
|
|
/* TrueTypeGX/AAT validation components */
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( gxvbsln )
|
2005-08-24 06:31:31 +02:00
|
|
|
FT_TRACE_DEF( gxvcommon )
|
|
|
|
FT_TRACE_DEF( gxvfeat )
|
|
|
|
FT_TRACE_DEF( gxvjust )
|
|
|
|
FT_TRACE_DEF( gxvkern )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( gxvmodule )
|
|
|
|
FT_TRACE_DEF( gxvmort )
|
|
|
|
FT_TRACE_DEF( gxvmorx )
|
|
|
|
FT_TRACE_DEF( gxvlcar )
|
2005-08-24 06:31:31 +02:00
|
|
|
FT_TRACE_DEF( gxvopbd )
|
|
|
|
FT_TRACE_DEF( gxvprop )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( gxvtrak )
|
2005-08-24 06:31:31 +02:00
|
|
|
|
2011-04-18 19:05:28 +02:00
|
|
|
/* autofit components */
|
[autofit] Add bluezones for CJK Ideographs.
To remove extremas of vertical strokes of CJK Ideographs at
low resolution and make the top and bottom horizontal stems
aligned, bluezones for CJK Ideographs are calculated from
sample glyphs. At present, vertical bluezones (bluezones
to align vertical stems) are disabled by default. For detail, see
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00070.html
http://lists.gnu.org/archive/html/freetype-devel/2011-04/msg00092.html
http://lists.gnu.org/archive/html/freetype-devel/2011-05/msg00001.html
* include/freetype/internal/fttrace.h: New trace component `afcjk'.
* src/autofit/afcjk.h (AF_CJK{Blue,Axis,Metric}Rec): Add CJK version
for AF_Latin{Blue,Axis,Metric}Rec.
(af_cjk_metrics_check_digits): Ditto, shared with Indic module.
(af_cjk_metrics_init_widths): Ditto.
(af_cjk_metrics_init): Take AF_CJKMetric instead of AF_LatinMetric.
(af_cjk_metrics_scale): Ditto (declaration).
(af_cjk_hints_init): Ditto (declaration).
(af_cjk_hints_apply): Ditto (declaration).
* src/autofit/afcjk.c (af_cjk_metrics_scale): Ditto (body).
(af_cjk_hints_init): Ditto (body).
(af_cjk_hints_apply): Ditto (body).
(af_cjk_metrics_init_widths): Duplicate af_latin_metrics_init_widths.
(af_cjk_metrics_check_digits): Duplicate af_latin_metrics_check_digits.
(af_cjk_metrics_init): Call CJK bluezone initializer.
(af_cjk_metrics_scale_dim): Add code to scale bluezones.
(af_cjk_hints_compute_blue_edges): New function, CJK version of
af_latin_hints_compute_blue_edges.
(af_cjk_metrics_init_blues): New function, CJK version of
af_latin_metrics_init_blues.
(af_cjk_hints_edges): Add code to align the edge stems to blue zones.
* src/autofit/afindic.c (af_indic_metrics_init): Take AF_CJKMetric
instead of AF_LatinMetric, and initialize as af_cjk_metrics_init.
However bluezones are not initialized.
(af_indic_metrics_scale): Take AF_CJKMetric instead of AF_LatinMetric.
(af_indic_hints_init): Ditto.
(af_indic_hints_apply): Ditto.
* docs/CHANGES: Note about CJK bluezone support.
2011-05-08 12:07:13 +02:00
|
|
|
FT_TRACE_DEF( afcjk )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( afglobal )
|
|
|
|
FT_TRACE_DEF( afhints )
|
|
|
|
FT_TRACE_DEF( afmodule )
|
2011-04-18 19:05:28 +02:00
|
|
|
FT_TRACE_DEF( aflatin )
|
|
|
|
FT_TRACE_DEF( aflatin2 )
|
[autofit] Rewrite HarfBuzz interface to support character clusters.
Scripts like Khmer have blue zones that can't be directly
represented by Unicode characters. Instead, it is necessary to let
HarfBuzz convert character clusters into proper glyph representation
forms, then deriving the blue zone information from the resulting
glyphs.
* src/autofit/hbshim.c, src/autofit/hbshim.h: Replaced by...
* src/autofit/afshaper.c, src/autofit/afshaper.h: ... these two new
files, providing a new API to access HarfBuzz.
The new API manages a HarfBuzz buffer with `af_shaper_buf_create'
and `af_shaper_buf_destroy'. The buffer receives a UTF8 encoded
string with function `af_shaper_get_cluster', and the resulting
glyph data (indices, advance widths, vertical offsets) can be
iteratively accessed with function `af_shaper_get_elem'.
* src/autofit/afcjk.c (af_cjk_metrics_init_widths,
af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
* src/autofit/aflatin.c (af_latin_metrics_init_widths,
af_latin_metrics_init_blues, af_latin_metrics_check_digits):
Updated.
* include/freetype/internal/fttrace.h: s/afharfbuzz/afshaper/.
* src/autofit/afglobal.c: s/hbshim.h/afshaper.h/.
(af_face_globals_compute_style_coverage): Updated.
* src/autofit/afglocal.h: s/hbshim.h/afshaper.h/.
* src/autofit/autofit.c: s/hbshim.c/afshaper.c/.
* src/autofit/Jamfile, src/autofit/rules.mk (AUTOF_DRV_SRC):
Updated.
2015-12-06 18:52:41 +01:00
|
|
|
FT_TRACE_DEF( afshaper )
|
2018-06-14 11:32:47 +02:00
|
|
|
FT_TRACE_DEF( afwarp )
|
2002-05-21 16:13:01 +02:00
|
|
|
|
2002-03-30 00:23:28 +01:00
|
|
|
/* END */
|