зеркало из https://github.com/stride3d/freetype.git
Clean-ups, copyright years, formatting.
This commit is contained in:
Родитель
facd9af542
Коммит
5edafed12a
52
ChangeLog
52
ChangeLog
|
@ -7,32 +7,52 @@
|
|||
|
||||
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned,
|
||||
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,
|
||||
tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: hdmx is not actually
|
||||
used.
|
||||
tt_face_get_device_metrics) [FT_OPTIMIZE_MEMORY]: `hdmx' is not
|
||||
actually used.
|
||||
|
||||
2006-02-21 David Turner <david@freetype.org>
|
||||
|
||||
* include/freetype/ftmodapi.h, include/internal/ftserv.h,
|
||||
include/internal/services/svtteng.h, src/base/ftobjs.c,
|
||||
src/truetype/ttdriver.c:
|
||||
Add a new API named FT_Get_TrueType_Engine_Type to determine whether
|
||||
we have a patented, unpatented, or unimplemented TrueType bytecode
|
||||
interpreter.
|
||||
|
||||
adding a new API named FT_Get_TrueType_Engine_Type to determine
|
||||
wether we have a patented, unpatented or unimplemented TrueType
|
||||
bytecode interpreter.
|
||||
The FT_Get_Module_Flags API was removed consequently.
|
||||
|
||||
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
|
||||
prevented embedded bitmaps from being correctly listed and used
|
||||
* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_ENGINE_H):
|
||||
New macro.
|
||||
|
||||
* src/sfnt/sfmtx.c: disabling memory optimization when
|
||||
FT_CONFIG_OPTION_OLD_INTERNALS is used. This is because libXfont
|
||||
is directly accessing the HMTX data. Grrrrr....
|
||||
* src/base/ftobjs.c: Include FT_SERVICE_TRUETYPE_ENGINE_H.
|
||||
(FT_Module_Get_Flags): Removed. Replaced with...
|
||||
(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>
|
||||
|
||||
|
|
|
@ -448,7 +448,7 @@ FT_BEGIN_HEADER
|
|||
/* FT_PARAM_TAG_UNPATENTED_HINTING; or when the debug hook */
|
||||
/* FT_DEBUG_HOOK_UNPATENTED_HINTING is globally activated. */
|
||||
/* */
|
||||
#define xxTT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
#define TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
|
|
|
@ -307,33 +307,36 @@ FT_BEGIN_HEADER
|
|||
FT_Add_Default_Modules( FT_Library library );
|
||||
|
||||
|
||||
/**
|
||||
* @enum: FT_TrueTypeEngineType
|
||||
*
|
||||
* @description:
|
||||
* a list of values describing which kind of truetype bytecode
|
||||
* engine is implemented in a given FT_Library instance. It is used
|
||||
* by the @FT_Get_TrueType_Engine_Type function
|
||||
*
|
||||
* @values:
|
||||
* FT_TRUETYPE_ENGINE_TYPE_NONE ::
|
||||
* the library doesn't implement any kind of bytecode interpreter
|
||||
*
|
||||
* FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
|
||||
* the library implements a bytecode interpreter that doesn't
|
||||
* support the patented operations of the TrueType virtual machine.
|
||||
*
|
||||
* this interpreter can only be used to load certain Asian fonts
|
||||
* from Dynalabs. It will produce crap output for any other font.
|
||||
* see @
|
||||
*
|
||||
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
||||
* the library implements a bytecode interpreter that covers
|
||||
* the full instruction set of the TrueType virtual machine.
|
||||
* Better check your legal department for license compliance !!
|
||||
*
|
||||
* @since: 2.2
|
||||
*/
|
||||
/*
|
||||
* @enum:
|
||||
* FT_TrueTypeEngineType
|
||||
*
|
||||
* @description:
|
||||
* A list of values describing which kind of truetype bytecode
|
||||
* engine is implemented in a given FT_Library instance. It is used
|
||||
* by the @FT_Get_TrueType_Engine_Type function.
|
||||
*
|
||||
* @values:
|
||||
* FT_TRUETYPE_ENGINE_TYPE_NONE ::
|
||||
* The library doesn't implement any kind of bytecode interpreter.
|
||||
*
|
||||
* FT_TRUETYPE_ENGINE_TYPE_UNPATENTED ::
|
||||
* The library implements a bytecode interpreter that doesn't
|
||||
* support the patented operations of the TrueType virtual machine.
|
||||
*
|
||||
* Its main use is to load certain Asian fonts which position and
|
||||
* scale glyph components with bytecode instructions. It produces
|
||||
* bad output for most other fonts.
|
||||
*
|
||||
* FT_TRUETYPE_ENGINE_TYPE_PATENTED ::
|
||||
* The library implements a bytecode interpreter that covers
|
||||
* the full instruction set of the TrueType virtual machine.
|
||||
* See the file `docs/PATENTS' for legal aspects.
|
||||
*
|
||||
* @since:
|
||||
* 2.2
|
||||
*
|
||||
*/
|
||||
typedef enum
|
||||
{
|
||||
FT_TRUETYPE_ENGINE_TYPE_NONE = 0,
|
||||
|
@ -343,25 +346,29 @@ FT_BEGIN_HEADER
|
|||
} FT_TrueTypeEngineType;
|
||||
|
||||
|
||||
/**
|
||||
* @func: FT_Get_TrueType_Engine_Type
|
||||
*
|
||||
* @description:
|
||||
* this function returns a @FT_TrueTypeEngineType value to indicates
|
||||
* which level of the TrueType virtual machine a given library instance
|
||||
* supports.
|
||||
*
|
||||
* @input:
|
||||
* library :: a library instance
|
||||
*
|
||||
* @return:
|
||||
* a value indicating which level is supported
|
||||
*
|
||||
* @since: 2.2
|
||||
*/
|
||||
/*
|
||||
* @func:
|
||||
* FT_Get_TrueType_Engine_Type
|
||||
*
|
||||
* @description:
|
||||
* Return a @FT_TrueTypeEngineType value to indicate which level of
|
||||
* the TrueType virtual machine a given library instance supports.
|
||||
*
|
||||
* @input:
|
||||
* library ::
|
||||
* A library instance.
|
||||
*
|
||||
* @return:
|
||||
* A value indicating which level is supported.
|
||||
*
|
||||
* @since:
|
||||
* 2.2
|
||||
*
|
||||
*/
|
||||
FT_EXPORT( FT_TrueTypeEngineType )
|
||||
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_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_OPENTYPE_VALIDATE_H <freetype/internal/services/svotval.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_NAME_H <freetype/internal/services/svpostnm.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_WINFNT_H <freetype/internal/services/svwinfnt.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>
|
||||
|
||||
/* */
|
||||
|
||||
|
|
|
@ -63,9 +63,9 @@ FT_BEGIN_HEADER
|
|||
|
||||
FT_DEFINE_SERVICE( SFNT_Table )
|
||||
{
|
||||
FT_SFNT_TableLoadFunc load_table;
|
||||
FT_SFNT_TableGetFunc get_table;
|
||||
FT_SFNT_TableInfoFunc table_info;
|
||||
FT_SFNT_TableLoadFunc load_table;
|
||||
FT_SFNT_TableGetFunc get_table;
|
||||
FT_SFNT_TableInfoFunc table_info;
|
||||
};
|
||||
|
||||
/* */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
# modules.cfg
|
||||
#
|
||||
# Copyright 2005 by
|
||||
# Copyright 2005, 2006 by
|
||||
# David Turner, Robert Wilhelm, and Werner Lemberg.
|
||||
#
|
||||
# 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;
|
||||
|
||||
|
||||
if ( library )
|
||||
{
|
||||
FT_Module module = FT_Get_Module( library, "truetype" );
|
||||
|
||||
|
||||
if ( module )
|
||||
{
|
||||
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 )
|
||||
result = service->engine_type;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
#ifdef FT_CONFIG_OPTION_OLD_INTERNALS
|
||||
|
||||
FT_BASE_DEF( FT_Error )
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* FreeType PFR bitmap loader (body). */
|
||||
/* */
|
||||
/* Copyright 2002, 2003 by */
|
||||
/* Copyright 2002, 2003, 2006 by */
|
||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -614,8 +614,8 @@
|
|||
|
||||
glyph->root.linearHoriAdvance = advance;
|
||||
|
||||
/* compute default advance, i.e. scaled advance. This can be overriden */
|
||||
/* in the bitmap header of certain glyphs... */
|
||||
/* compute default advance, i.e., scaled advance. This can be */
|
||||
/* overridden in the bitmap header of certain glyphs. */
|
||||
advance = FT_MulDiv( (FT_Fixed)size->root.metrics.x_ppem << 8,
|
||||
character->advance,
|
||||
phys->metrics_resolution );
|
||||
|
|
|
@ -35,11 +35,12 @@
|
|||
#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
|
||||
* rogue clients (libXfont in the X.Org XServer) is directly accessing
|
||||
* the metrics
|
||||
*/
|
||||
/*
|
||||
* Unfortunately, we can't enable our memory optimizations if
|
||||
* FT_CONFIG_OPTION_OLD_INTERNALS is defined. This is because at least
|
||||
* one rogue client (libXfont in the X.Org XServer) is directly accessing
|
||||
* the metrics.
|
||||
*/
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
|
|
|
@ -498,7 +498,7 @@
|
|||
if ( x_pos + w > 8 )
|
||||
{
|
||||
write++;
|
||||
wval <<= 8;
|
||||
wval <<= 8;
|
||||
write[0] = (FT_Byte)( write[0] | ( wval >> x_pos ) );
|
||||
}
|
||||
}
|
||||
|
@ -547,7 +547,7 @@
|
|||
goto Exit;
|
||||
}
|
||||
|
||||
if ( p + ( ( width * height + 7 ) >> 3 ) > limit )
|
||||
if ( p + ( ( width * height + 7 ) >> 3 ) > limit )
|
||||
{
|
||||
error = SFNT_Err_Invalid_File_Format;
|
||||
goto Exit;
|
||||
|
@ -558,8 +558,8 @@
|
|||
x_pos &= 7;
|
||||
|
||||
/* the higher byte of `rval' is used as a buffer */
|
||||
rval = 0;
|
||||
nbits = 0;
|
||||
rval = 0;
|
||||
nbits = 0;
|
||||
|
||||
for ( h = height; h > 0; h--, line += pitch )
|
||||
{
|
||||
|
@ -583,7 +583,7 @@
|
|||
}
|
||||
|
||||
*write++ |= ( ( rval >> nbits ) & 0xFF ) & ~( 0xFF << w );
|
||||
rval <<= 8;
|
||||
rval <<= 8;
|
||||
|
||||
w = width - w;
|
||||
}
|
||||
|
|
|
@ -295,21 +295,25 @@
|
|||
static const FT_Service_TrueTypeEngineRec tt_service_truetype_engine =
|
||||
{
|
||||
#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
|
||||
# ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
FT_TRUETYPE_ENGINE_TYPE_UNPATENTED
|
||||
# else
|
||||
FT_TRUETYPE_ENGINE_TYPE_PATENTED
|
||||
# endif
|
||||
#else
|
||||
FT_TRUETYPE_ENGINE_TYPE_NONE
|
||||
FT_TRUETYPE_ENGINE_TYPE_PATENTED
|
||||
#endif
|
||||
|
||||
#else /* !TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
|
||||
FT_TRUETYPE_ENGINE_TYPE_NONE
|
||||
|
||||
#endif /* TT_CONFIG_OPTION_BYTECODE_INTERPRETER */
|
||||
};
|
||||
|
||||
static const FT_ServiceDescRec tt_services[] =
|
||||
{
|
||||
{ FT_SERVICE_ID_XF86_NAME, FT_XF86_FORMAT_TRUETYPE },
|
||||
{ FT_SERVICE_ID_XF86_NAME, FT_XF86_FORMAT_TRUETYPE },
|
||||
#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
|
||||
{ FT_SERVICE_ID_MULTI_MASTERS, &tt_service_gx_multi_masters },
|
||||
{ FT_SERVICE_ID_MULTI_MASTERS, &tt_service_gx_multi_masters },
|
||||
#endif
|
||||
{ FT_SERVICE_ID_TRUETYPE_ENGINE, &tt_service_truetype_engine },
|
||||
{ NULL, NULL }
|
||||
|
|
Загрузка…
Ссылка в новой задаче