22#include FT_INTERNAL_DEBUG_H
27#define FT_COMPONENT trace_pfr
45 glyph->loader = loader;
46 glyph->path_begun = 0;
59 glyph->y_control =
NULL;
61 glyph->max_xy_control = 0;
63 glyph->num_x_control = 0;
64 glyph->num_y_control = 0;
73 glyph->path_begun = 0;
103 if ( p1->
x == p2->
x && p1->
y == p2->
y )
139 FT_ERROR((
"pfr_glyph_line_to: invalid glyph data\n" ));
175 FT_ERROR((
"pfr_glyph_line_to: invalid glyph data\n" ));
273 x_count =
count & 15;
274 y_count =
count >> 4;
291 count = x_count + y_count;
314 if ( (
i & 7 ) == 0 )
387 args_format = format_low;
392 FT_TRACE6((
"- horizontal line to cx.%d", format_low ));
393 if ( format_low >= x_count )
402 FT_TRACE6((
"- vertical line to cy.%d", format_low ));
403 if ( format_low >= y_count )
426 args_format = format_low;
433 for (
n = 0;
n < args_count;
n++ )
440 switch ( args_format & 3 )
445 if (
idx >= x_count )
460 cur->x =
pos[3].x + delta;
470 switch ( ( args_format >> 2 ) & 3 )
475 if (
idx >= y_count )
490 cur->y =
pos[3].y + delta;
500 if (
n == 0 && args_count == 4 )
552 FT_ERROR((
"pfr_glyph_load_simple: invalid glyph data\n" ));
609 FT_ERROR((
"pfr_glyph_load_compound:"
610 " too many compound glyphs components\n" ));
620 subglyph = glyph->
subs + org_count;
622 for (
i = 0;
i <
count;
i++, subglyph++ )
665 switch ( (
format >> 2 ) & 3 )
716 FT_ERROR((
"pfr_glyph_load_compound: invalid glyph data\n" ));
759 FT_TRACE4((
"compound glyph with %d element%s (offset %lu):\n",
761 count == 1 ?
"" :
"s",
767 FT_Int i, old_points, num_points;
773 subglyph = glyph->
subs + old_count +
n;
774 old_points =
base->n_points;
783 subglyph = glyph->
subs + old_count +
n;
784 num_points =
base->n_points - old_points;
787 if ( subglyph->
x_scale != 0x10000L || subglyph->
y_scale != 0x10000L )
792 for (
i = 0;
i < num_points;
i++,
vec++ )
805 for (
i = 0;
i < num_points;
i++,
vec++ )
815 FT_TRACE4((
"end compound glyph with %d element%s\n",
817 count == 1 ?
"" :
"s" ));
unsigned short(__cdecl typeof(TIFFCurrentDirectory))(struct tiff *)
FT_MulFix(FT_Long a, FT_Long b)
#define FT_ERROR(varformat)
#define FT_TRACE7(varformat)
#define FT_TRACE6(varformat)
#define FT_TRACE4(varformat)
FT_GlyphLoader_Add(FT_GlyphLoader loader)
FT_GlyphLoader_Rewind(FT_GlyphLoader loader)
#define FT_GLYPHLOADER_CHECK_POINTS(_loader, _points, _contours)
#define FT_CURVE_TAG_CUBIC
#define FT_RENEW_ARRAY(ptr, curcnt, newcnt)
#define FT_PAD_CEIL(x, n)
#define FT_FRAME_ENTER(size)
#define FT_STREAM_SEEK(position)
typedefFT_BEGIN_HEADER struct FT_MemoryRec_ * FT_Memory
GLint GLint GLint GLint GLint x
GLuint GLuint GLsizei count
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static char memory[1024 *256]
static FT_Error pfr_glyph_curve_to(PFR_Glyph glyph, FT_Vector *control1, FT_Vector *control2, FT_Vector *to)
static FT_Error pfr_glyph_move_to(PFR_Glyph glyph, FT_Vector *to)
pfr_glyph_init(PFR_Glyph glyph, FT_GlyphLoader loader)
static void pfr_glyph_close_contour(PFR_Glyph glyph)
static FT_Error pfr_glyph_load_rec(PFR_Glyph glyph, FT_Stream stream, FT_ULong gps_offset, FT_ULong offset, FT_ULong size)
pfr_glyph_load(PFR_Glyph glyph, FT_Stream stream, FT_ULong gps_offset, FT_ULong offset, FT_ULong size)
static void pfr_glyph_start(PFR_Glyph glyph)
static void pfr_glyph_end(PFR_Glyph glyph)
static FT_Error pfr_glyph_line_to(PFR_Glyph glyph, FT_Vector *to)
pfr_glyph_done(PFR_Glyph glyph)
static FT_Error pfr_glyph_load_simple(PFR_Glyph glyph, FT_Byte *p, FT_Byte *limit)
static FT_Error pfr_glyph_load_compound(PFR_Glyph glyph, FT_Byte *p, FT_Byte *limit)
pfr_extra_items_skip(FT_Byte **pp, FT_Byte *limit)
#define PFR_NEXT_ULONG(p)
#define PFR_NEXT_SHORT(p)
#define PFR_NEXT_USHORT(p)
#define PFR_SUBGLYPH_YSCALE
#define PFR_GLYPH_COMPOUND_EXTRA_ITEMS
#define PFR_SUBGLYPH_2BYTE_SIZE
#define PFR_SUBGLYPH_XSCALE
#define PFR_SUBGLYPH_3BYTE_OFFSET
#define PFR_GLYPH_1BYTE_XYCOUNT
#define PFR_GLYPH_IS_COMPOUND
#define PFR_GLYPH_SINGLE_EXTRA_ITEMS