* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
correctly. Whitespace.
This commit is contained in:
parent
540b954574
commit
d2e1573706
26
ChangeLog
26
ChangeLog
|
@ -1,20 +1,24 @@
|
|||
2007-12-30 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
|
||||
correctly.
|
||||
|
||||
2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
Improvement of POSIX resource-fork accessor to load unsorted
|
||||
references in a resource. In HelveLTMM (resource-fork
|
||||
PostScript Type1 font bundled to Mac OS X since 10.3.x),
|
||||
the appearance order of PFB chunks is not sorted.
|
||||
Sorting the chunks by reference IDs is required.
|
||||
references in a resource. In HelveLTMM (resource-fork PostScript
|
||||
Type1 font bundled with Mac OS X since 10.3.x), the appearance order
|
||||
of PFB chunks is not sorted; sorting the chunks by reference IDs is
|
||||
required.
|
||||
|
||||
* include/freetype/internal/ftrfork.h (FT_RFork_Ref):
|
||||
New structure type to store a pair of reference ID and offset
|
||||
to the chunk.
|
||||
* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
|
||||
type to store a pair of reference ID and offset to the chunk.
|
||||
|
||||
* src/base/ftrfork.c (ft_raccess_sort_ref_by_id):
|
||||
New function to sort FT_RFork_Ref by their reference ID.
|
||||
* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
|
||||
sort FT_RFork_Ref by their reference IDs.
|
||||
|
||||
(FT_Raccess_Get_DataOffsets): Returns an array of offsets
|
||||
that is sorted by reference ID.
|
||||
(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
|
||||
sorted by reference ID.
|
||||
|
||||
2007-12-14 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#define __FTIMAGE_H__
|
||||
|
||||
|
||||
/* _STANDALONE_ is from ftgrays.c */
|
||||
/* _STANDALONE_ is from ftgrays.c */
|
||||
#ifndef _STANDALONE_
|
||||
#include <ft2build.h>
|
||||
#endif
|
||||
|
@ -1075,6 +1075,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define FT_Raster_New_Func FT_Raster_NewFunc
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -1091,6 +1092,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define FT_Raster_Done_Func FT_Raster_DoneFunc
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -1125,6 +1127,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define FT_Raster_Reset_Func FT_Raster_ResetFunc
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -1150,6 +1153,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define FT_Raster_Set_Mode_Func FT_Raster_SetModeFunc
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <FuncType> */
|
||||
|
@ -1190,6 +1194,7 @@ FT_BEGIN_HEADER
|
|||
|
||||
#define FT_Raster_Render_Func FT_Raster_RenderFunc
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Struct> */
|
||||
|
@ -1211,12 +1216,12 @@ FT_BEGIN_HEADER
|
|||
/* */
|
||||
typedef struct FT_Raster_Funcs_
|
||||
{
|
||||
FT_Glyph_Format glyph_format;
|
||||
FT_Raster_NewFunc raster_new;
|
||||
FT_Raster_ResetFunc raster_reset;
|
||||
FT_Raster_SetModeFunc raster_set_mode;
|
||||
FT_Raster_RenderFunc raster_render;
|
||||
FT_Raster_DoneFunc raster_done;
|
||||
FT_Glyph_Format glyph_format;
|
||||
FT_Raster_NewFunc raster_new;
|
||||
FT_Raster_ResetFunc raster_reset;
|
||||
FT_Raster_SetModeFunc raster_set_mode;
|
||||
FT_Raster_RenderFunc raster_render;
|
||||
FT_Raster_DoneFunc raster_done;
|
||||
|
||||
} FT_Raster_Funcs;
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Embedded resource forks accessor (specification). */
|
||||
/* */
|
||||
/* Copyright 2004, 2006 by */
|
||||
/* Copyright 2004, 2006, 2007 by */
|
||||
/* Masatake YAMATO and Redhat K.K. */
|
||||
/* */
|
||||
/* This file is part of the FreeType project, and may only be used, */
|
||||
|
@ -36,14 +36,19 @@ FT_BEGIN_HEADER
|
|||
/* Don't forget to increment the number if you add a new guessing rule. */
|
||||
#define FT_RACCESS_N_RULES 9
|
||||
|
||||
/* Structure to describe a reference in resource, by its resource id */
|
||||
/* and internal offset. `POST' resource expects to be concatenated by */
|
||||
/* the order of resource id, instead of its appearance in the file. */
|
||||
typedef struct FT_RFork_Ref_ {
|
||||
FT_UShort res_id;
|
||||
FT_ULong offset;
|
||||
|
||||
/* A structure to describe a reference in a resource by its resource ID */
|
||||
/* and internal offset. The `POST' resource expects to be concatenated */
|
||||
/* by the order of resource IDs instead of its appearance in the file. */
|
||||
|
||||
typedef struct FT_RFork_Ref_
|
||||
{
|
||||
FT_UShort res_id;
|
||||
FT_ULong offset;
|
||||
|
||||
} FT_RFork_Ref;
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* <Function> */
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
/* */
|
||||
/* Embedded resource forks accessor (body). */
|
||||
/* */
|
||||
/* Copyright 2004, 2005, 2006 by */
|
||||
/* Copyright 2004, 2005, 2006, 2007 by */
|
||||
/* Masatake YAMATO and Redhat K.K. */
|
||||
/* */
|
||||
/* FT_Raccess_Get_HeaderInfo() and raccess_guess_darwin_hfsplus() are */
|
||||
|
@ -137,11 +137,11 @@
|
|||
FT_RFork_Ref* b )
|
||||
{
|
||||
if ( a->res_id < b->res_id )
|
||||
return ( -1 );
|
||||
return -1;
|
||||
else if ( a->res_id > b->res_id )
|
||||
return ( 1 );
|
||||
return 1;
|
||||
else
|
||||
return ( 0 );
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
@ -154,12 +154,12 @@
|
|||
FT_Long **offsets,
|
||||
FT_Long *count )
|
||||
{
|
||||
FT_Error error;
|
||||
int i, j, cnt, subcnt;
|
||||
FT_Long tag_internal, rpos;
|
||||
FT_Memory memory = library->memory;
|
||||
FT_Long temp;
|
||||
FT_Long *offsets_internal;
|
||||
FT_Error error;
|
||||
int i, j, cnt, subcnt;
|
||||
FT_Long tag_internal, rpos;
|
||||
FT_Memory memory = library->memory;
|
||||
FT_Long temp;
|
||||
FT_Long *offsets_internal;
|
||||
FT_RFork_Ref *ref;
|
||||
|
||||
|
||||
|
@ -210,7 +210,7 @@
|
|||
ref[j].offset = temp & 0xFFFFFFL;
|
||||
}
|
||||
|
||||
ft_qsort( ref, *count, sizeof( FT_RFork_Ref ),
|
||||
ft_qsort( ref, *count, sizeof ( FT_RFork_Ref ),
|
||||
( int(*)(const void*, const void*) )
|
||||
ft_raccess_sort_ref_by_id );
|
||||
|
||||
|
@ -225,8 +225,9 @@
|
|||
offsets_internal[j] = rdata_pos + ref[j].offset;
|
||||
|
||||
*offsets = offsets_internal;
|
||||
error = FT_Err_Ok;
|
||||
Exit:
|
||||
error = FT_Err_Ok;
|
||||
|
||||
Exit:
|
||||
FT_FREE( ref );
|
||||
return error;
|
||||
}
|
||||
|
|
|
@ -144,10 +144,10 @@
|
|||
|
||||
#include "ftsmerrs.h"
|
||||
|
||||
#define ErrRaster_Invalid_Mode Smooth_Err_Cannot_Render_Glyph
|
||||
#define ErrRaster_Invalid_Outline Smooth_Err_Invalid_Outline
|
||||
#define ErrRaster_Memory_Overflow Smooth_Err_Out_Of_Memory
|
||||
#define ErrRaster_Invalid_Argument Smooth_Err_Bad_Argument
|
||||
#define ErrRaster_Invalid_Mode Smooth_Err_Cannot_Render_Glyph
|
||||
#define ErrRaster_Invalid_Outline Smooth_Err_Invalid_Outline
|
||||
#define ErrRaster_Memory_Overflow Smooth_Err_Out_Of_Memory
|
||||
#define ErrRaster_Invalid_Argument Smooth_Err_Bad_Argument
|
||||
|
||||
#endif /* !_STANDALONE_ */
|
||||
|
||||
|
@ -1659,7 +1659,7 @@
|
|||
ras.count_ex = ras.max_ex - ras.min_ex;
|
||||
ras.count_ey = ras.max_ey - ras.min_ey;
|
||||
|
||||
/* simple heuristic used to speed-up the bezier decomposition -- see */
|
||||
/* simple heuristic used to speed up the bezier decomposition -- see */
|
||||
/* the code in gray_render_conic() and gray_render_cubic() for more */
|
||||
/* details */
|
||||
ras.conic_level = 32;
|
||||
|
@ -1796,11 +1796,14 @@
|
|||
if ( !raster || !raster->buffer || !raster->buffer_size )
|
||||
return ErrRaster_Invalid_Argument;
|
||||
|
||||
if ( !outline )
|
||||
return ErrRaster_Invalid_Outline;
|
||||
|
||||
/* return immediately if the outline is empty */
|
||||
if ( outline->n_points == 0 || outline->n_contours <= 0 )
|
||||
return 0;
|
||||
|
||||
if ( !outline || !outline->contours || !outline->points )
|
||||
if ( !outline->contours || !outline->points )
|
||||
return ErrRaster_Invalid_Outline;
|
||||
|
||||
if ( outline->n_points !=
|
||||
|
@ -1850,10 +1853,10 @@
|
|||
|
||||
gray_init_cells( worker, raster->buffer, raster->buffer_size );
|
||||
|
||||
ras.outline = *outline;
|
||||
ras.num_cells = 0;
|
||||
ras.invalid = 1;
|
||||
ras.band_size = raster->band_size;
|
||||
ras.outline = *outline;
|
||||
ras.num_cells = 0;
|
||||
ras.invalid = 1;
|
||||
ras.band_size = raster->band_size;
|
||||
ras.num_gray_spans = 0;
|
||||
|
||||
if ( target_map )
|
||||
|
|
Loading…
Reference in New Issue