forked from minhngoc25a/freetype2
Clean-ups, copyright years, formatting.
This commit is contained in:
parent
facd9af542
commit
5edafed12a
52
ChangeLog
52
ChangeLog
|
@ -7,32 +7,52 @@
|
||||||
|
|
||||||
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
|
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
|
||||||
tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
|
tt_sbit_decoder_load_byte_aligned) [FT_OPTIMIZE_MEMORY]: Fix sbit
|
||||||
loading. (only tested with bit aligned sbit with x_pos == 0)
|
loading. (Only tested with bit aligned sbit with x_pos == 0.)
|
||||||
|
|
||||||
* src/truetype/ttpload.c (tt_face_load_hdmx,
|
* src/truetype/ttpload.c (tt_face_load_hdmx,
|
||||||
tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: hdmx is not actually
|
tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
|
||||||
used.
|
actually used.
|
||||||
|
|
||||||
2006-02-21 David Turner <david@freetype.org>
|
2006-02-21 David Turner <david@freetype.org>
|
||||||
|
|
||||||
* include/freetype/ftmodapi.h, include/internal/ftserv.h,
|
Add a new API named FT_Get_TrueType_Engine_Type to determine whether
|
||||||
include/internal/services/svtteng.h, src/base/ftobjs.c,
|
we have a patented, unpatented, or unimplemented TrueType bytecode
|
||||||
src/truetype/ttdriver.c:
|
interpreter.
|
||||||
|
|
||||||
adding a new API named FT_Get_TrueType_Engine_Type to determine
|
The FT_Get_Module_Flags API was removed consequently.
|
||||||
wether we have a patented, unpatented or unimplemented TrueType
|
|
||||||
bytecode interpreter.
|
|
||||||
|
|
||||||
the FT_Get_Module_Flags API was removed consequently.
|
* include/freetype/ftmodapi.h (FT_Module_Get_Flags): Removed.
|
||||||
|
Replaced with...
|
||||||
|
(FT_Get_TrueType_Engine_Type): This.
|
||||||
|
(FT_TrueTypeEngineType): New enumeration.
|
||||||
|
|
||||||
* src/sfnt/sfobjs.c (sfnt_face_load): fixed silly bug that
|
* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
|
||||||
prevented embedded bitmaps from being correctly listed and used
|
New macro.
|
||||||
|
|
||||||
* src/sfnt/sfmtx.c: disabling memory optimization when
|
* src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
|
||||||
FT_CONFIG_OPTION_OLD_INTERNALS is used. This is because libXfont
|
(FT_Module_Get_Flags): Removed. Replaced with...
|
||||||
is directly accessing the HMTX data. Grrrrr....
|
(FT_Get_TrueType_Engine_Type): This.
|
||||||
|
|
||||||
* src/pfr/pfrsbit.c: fixed handling of character advances
|
* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
|
||||||
|
(tt_service_truetype_engine): New service structure.
|
||||||
|
(tt_services): Register it.
|
||||||
|
|
||||||
|
* include/freetype/internal/services/svtteng.h: New file.
|
||||||
|
|
||||||
|
|
||||||
|
* src/sfnt/sfobjs.c (sfnt_load_face): Fix silly bug that prevented
|
||||||
|
embedded bitmaps from being correctly listed and used.
|
||||||
|
|
||||||
|
|
||||||
|
* src/sfnt/ttmtx.c (tt_face_load_hmtx): Disable memory optimization
|
||||||
|
if FT_CONFIG_OPTION_OLD_INTERNALS is used. The is necessary because
|
||||||
|
libXfont is directly accessing the HMTX data, unfortunately.
|
||||||
|
Fix some compiler warnings.
|
||||||
|
(tt_face_get_metrics): Ditto.
|
||||||
|
|
||||||
|
|
||||||
|
* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): Fix handling of
|
||||||
|
character advances.
|
||||||
|
|
||||||
2006-02-20 David Turner <david@freetype.org>
|
2006-02-20 David Turner <david@freetype.org>
|
||||||
|
|
||||||
|
|
|
@ -448,7 +448,7 @@ FT_BEGIN_HEADER
|
||||||
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
|
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
|
||||||
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally activated. */
|
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally activated. */
|
||||||
/* */
|
/* */
|
||||||
#define xxTT_CONFIG_OPTION_UNPATENTED_HINTING
|
#define TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -307,32 +307,35 @@ FT_BEGIN_HEADER
|
||||||
FT_Add_Default_Modules( FT_Library library );
|
FT_Add_Default_Modules( FT_Library library );
|
||||||
|
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @enum: FT_TrueTypeEngineType
|
* @enum:
|
||||||
|
* FT_TrueTypeEngineType
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* a list of values describing which kind of truetype bytecode
|
* A list of values describing which kind of truetype bytecode
|
||||||
* engine is implemented in a given FT_Library instance. It is used
|
* engine is implemented in a given FT_Library instance. It is used
|
||||||
* by the @FT_Get_TrueType_Engine_Type function
|
* by the @FT_Get_TrueType_Engine_Type function.
|
||||||
*
|
*
|
||||||
* @values:
|
* @values:
|
||||||
* FT_TRUETYPE_ENGINE_TYPE_NONE ::
|
* FT_TRUETYPE_ENGINE_TYPE_NONE ::
|
||||||
* the library doesn't implement any kind of bytecode interpreter
|
* The library doesn't implement any kind of bytecode interpreter.
|
||||||
*
|
*
|
||||||
* FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
|
* FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
|
||||||
* the library implements a bytecode interpreter that doesn't
|
* The library implements a bytecode interpreter that doesn't
|
||||||
* support the patented operations of the TrueType virtual machine.
|
* support the patented operations of the TrueType virtual machine.
|
||||||
*
|
*
|
||||||
* this interpreter can only be used to load certain Asian fonts
|
* Its main use is to load certain Asian fonts which position and
|
||||||
* from Dynalabs. It will produce crap output for any other font.
|
* scale glyph components with bytecode instructions. It produces
|
||||||
* see @
|
* bad output for most other fonts.
|
||||||
*
|
*
|
||||||
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
||||||
* the library implements a bytecode interpreter that covers
|
* The library implements a bytecode interpreter that covers
|
||||||
* the full instruction set of the TrueType virtual machine.
|
* the full instruction set of the TrueType virtual machine.
|
||||||
* Better check your legal department for license compliance !!
|
* See the file `docs/PATENTS' for legal aspects.
|
||||||
|
*
|
||||||
|
* @since:
|
||||||
|
* 2.2
|
||||||
*
|
*
|
||||||
* @since: 2.2
|
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -343,25 +346,29 @@ FT_BEGIN_HEADER
|
||||||
} FT_TrueTypeEngineType;
|
} FT_TrueTypeEngineType;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @func: FT_Get_TrueType_Engine_Type
|
* @func:
|
||||||
|
* FT_Get_TrueType_Engine_Type
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* this function returns a @FT_TrueTypeEngineType value to indicates
|
* Return a @FT_TrueTypeEngineType value to indicate which level of
|
||||||
* which level of the TrueType virtual machine a given library instance
|
* the TrueType virtual machine a given library instance supports.
|
||||||
* supports.
|
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* library :: a library instance
|
* library ::
|
||||||
|
* A library instance.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* a value indicating which level is supported
|
* A value indicating which level is supported.
|
||||||
|
*
|
||||||
|
* @since:
|
||||||
|
* 2.2
|
||||||
*
|
*
|
||||||
* @since: 2.2
|
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_TrueTypeEngineType )
|
FT_EXPORT( FT_TrueTypeEngineType )
|
||||||
FT_Get_TrueType_Engine_Type( FT_Library library );
|
FT_Get_TrueType_Engine_Type( FT_Library library );
|
||||||
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -302,6 +302,8 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#define FT_SERVICE_BDF_H <freetype/internal/services/svbdf.h>
|
#define FT_SERVICE_BDF_H <freetype/internal/services/svbdf.h>
|
||||||
#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
|
#define FT_SERVICE_GLYPH_DICT_H <freetype/internal/services/svgldict.h>
|
||||||
|
#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
|
||||||
|
#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
|
||||||
#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
|
#define FT_SERVICE_MULTIPLE_MASTERS_H <freetype/internal/services/svmm.h>
|
||||||
#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
|
#define FT_SERVICE_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.h>
|
||||||
#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
|
#define FT_SERVICE_PFR_H <freetype/internal/services/svpfr.h>
|
||||||
|
@ -309,12 +311,10 @@ FT_BEGIN_HEADER
|
||||||
#define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
|
#define FT_SERVICE_POSTSCRIPT_INFO_H <freetype/internal/services/svpsinfo.h>
|
||||||
#define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
|
#define FT_SERVICE_POSTSCRIPT_NAME_H <freetype/internal/services/svpostnm.h>
|
||||||
#define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
|
#define FT_SERVICE_SFNT_H <freetype/internal/services/svsfnt.h>
|
||||||
#define FT_SERVICE_GX_VALIDATE_H <freetype/internal/services/svgxval.h>
|
#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
|
||||||
#define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
|
#define FT_SERVICE_TT_CMAP_H <freetype/internal/services/svttcmap.h>
|
||||||
#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
|
#define FT_SERVICE_WINFNT_H <freetype/internal/services/svwinfnt.h>
|
||||||
#define FT_SERVICE_XFREE86_NAME_H <freetype/internal/services/svxf86nm.h>
|
#define FT_SERVICE_XFREE86_NAME_H <freetype/internal/services/svxf86nm.h>
|
||||||
#define FT_SERVICE_KERNING_H <freetype/internal/services/svkern.h>
|
|
||||||
#define FT_SERVICE_TRUETYPE_ENGINE_H <freetype/internal/services/svtteng.h>
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# modules.cfg
|
# modules.cfg
|
||||||
#
|
#
|
||||||
# Copyright 2005 by
|
# Copyright 2005, 2006 by
|
||||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||||
#
|
#
|
||||||
# This file is part of the FreeType project, and may only be used, modified,
|
# This file is part of the FreeType project, and may only be used, modified,
|
||||||
|
|
|
@ -3666,22 +3666,28 @@
|
||||||
{
|
{
|
||||||
FT_TrueTypeEngineType result = FT_TRUETYPE_ENGINE_TYPE_NONE;
|
FT_TrueTypeEngineType result = FT_TRUETYPE_ENGINE_TYPE_NONE;
|
||||||
|
|
||||||
|
|
||||||
if ( library )
|
if ( library )
|
||||||
{
|
{
|
||||||
FT_Module module = FT_Get_Module( library, "truetype" );
|
FT_Module module = FT_Get_Module( library, "truetype" );
|
||||||
|
|
||||||
|
|
||||||
if ( module )
|
if ( module )
|
||||||
{
|
{
|
||||||
FT_Service_TrueTypeEngine service;
|
FT_Service_TrueTypeEngine service;
|
||||||
|
|
||||||
service = ft_module_get_service( module, FT_SERVICE_ID_TRUETYPE_ENGINE );
|
|
||||||
|
service = ft_module_get_service( module,
|
||||||
|
FT_SERVICE_ID_TRUETYPE_ENGINE );
|
||||||
if ( service )
|
if ( service )
|
||||||
result = service->engine_type;
|
result = service->engine_type;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
||||||
|
|
||||||
FT_BASE_DEF( FT_Error )
|
FT_BASE_DEF( FT_Error )
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType PFR bitmap loader (body). */
|
/* FreeType PFR bitmap loader (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002, 2003 by */
|
/* Copyright 2002, 2003, 2006 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -614,8 +614,8 @@
|
||||||
|
|
||||||
glyph->root.linearHoriAdvance = advance;
|
glyph->root.linearHoriAdvance = advance;
|
||||||
|
|
||||||
/* compute default advance, i.e. scaled advance. This can be overriden */
|
/* compute default advance, i.e., scaled advance. This can be */
|
||||||
/* in the bitmap header of certain glyphs... */
|
/* overridden in the bitmap header of certain glyphs. */
|
||||||
advance = FT_MulDiv( (FT_Fixed)size->root.metrics.x_ppem << 8,
|
advance = FT_MulDiv( (FT_Fixed)size->root.metrics.x_ppem << 8,
|
||||||
character->advance,
|
character->advance,
|
||||||
phys->metrics_resolution );
|
phys->metrics_resolution );
|
||||||
|
|
|
@ -35,10 +35,11 @@
|
||||||
#define FT_COMPONENT trace_ttmtx
|
#define FT_COMPONENT trace_ttmtx
|
||||||
|
|
||||||
|
|
||||||
/* Unfortunately, we can't enable our memory optimizations when
|
/*
|
||||||
* FT_CONFIG_OPTION_OLD_INTERNALS is defined. This is because some
|
* Unfortunately, we can't enable our memory optimizations if
|
||||||
* rogue clients (libXfont in the X.Org XServer) is directly accessing
|
* FT_CONFIG_OPTION_OLD_INTERNALS is defined. This is because at least
|
||||||
* the metrics
|
* one rogue client (libXfont in the X.Org XServer) is directly accessing
|
||||||
|
* the metrics.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
|
@ -295,14 +295,18 @@
|
||||||
static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine =
|
static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine =
|
||||||
{
|
{
|
||||||
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||||
|
|
||||||
#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||||
FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
|
FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
|
||||||
#else
|
#else
|
||||||
FT_TRUETYPE_ENGINE_TYPE_PATENTED
|
FT_TRUETYPE_ENGINE_TYPE_PATENTED
|
||||||
#endif
|
#endif
|
||||||
#else
|
|
||||||
|
#else /* !TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||||
|
|
||||||
FT_TRUETYPE_ENGINE_TYPE_NONE
|
FT_TRUETYPE_ENGINE_TYPE_NONE
|
||||||
#endif
|
|
||||||
|
#endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||||
};
|
};
|
||||||
|
|
||||||
static const FT_ServiceDescRec tt_services[] =
|
static const FT_ServiceDescRec tt_services[] =
|
||||||
|
|
Loading…
Reference in New Issue