#include <ft2build.h>
Go to the source code of this file.
|
FT_BEGIN_HEADER | FT_Outline_Decompose (FT_Outline *outline, const FT_Outline_Funcs *func_interface, void *user) |
|
| FT_Outline_New (FT_Library library, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline) |
|
| FT_Outline_New_Internal (FT_Memory memory, FT_UInt numPoints, FT_Int numContours, FT_Outline *anoutline) |
|
| FT_Outline_Done (FT_Library library, FT_Outline *outline) |
|
| FT_Outline_Done_Internal (FT_Memory memory, FT_Outline *outline) |
|
| FT_Outline_Check (FT_Outline *outline) |
|
| FT_Outline_Get_CBox (const FT_Outline *outline, FT_BBox *acbox) |
|
| FT_Outline_Translate (const FT_Outline *outline, FT_Pos xOffset, FT_Pos yOffset) |
|
| FT_Outline_Copy (const FT_Outline *source, FT_Outline *target) |
|
| FT_Outline_Transform (const FT_Outline *outline, const FT_Matrix *matrix) |
|
| FT_Outline_Embolden (FT_Outline *outline, FT_Pos strength) |
|
| FT_Outline_EmboldenXY (FT_Outline *outline, FT_Pos xstrength, FT_Pos ystrength) |
|
| FT_Outline_Reverse (FT_Outline *outline) |
|
| FT_Outline_Get_Bitmap (FT_Library library, FT_Outline *outline, const FT_Bitmap *abitmap) |
|
| FT_Outline_Render (FT_Library library, FT_Outline *outline, FT_Raster_Params *params) |
|
| FT_Outline_Get_Orientation (FT_Outline *outline) |
|
◆ FT_Orientation
◆ FT_Orientation_
Enumerator |
---|
FT_ORIENTATION_TRUETYPE | |
FT_ORIENTATION_POSTSCRIPT | |
FT_ORIENTATION_FILL_RIGHT | |
FT_ORIENTATION_FILL_LEFT | |
FT_ORIENTATION_NONE | |
Definition at line 531 of file ftoutln.h.
enum FT_Orientation_ FT_Orientation
◆ FT_Outline_Check()
◆ FT_Outline_Copy()
◆ FT_Outline_Decompose()
Definition at line 51 of file ftoutln.c.
56 #define SCALED( x ) ( ( (x) < 0 ? -( -(x) << shift ) \ 57 : ( (x) << shift ) ) - delta ) 80 if ( !func_interface )
84 delta = func_interface->
delta;
92 FT_TRACE5((
"FT_Outline_Decompose: Outline %d\n",
n ));
115 goto Invalid_Outline;
132 v_start.
x = ( v_start.
x + v_last.
x ) / 2;
133 v_start.
y = ( v_start.
y + v_last.
y ) / 2;
142 v_start.
x / 64.0, v_start.
y / 64.0 ));
192 " with control (%.2f, %.2f)\n",
194 v_control.
x / 64.0, v_control.
y / 64.0 ));
202 goto Invalid_Outline;
204 v_middle.
x = ( v_control.
x +
vec.
x ) / 2;
205 v_middle.
y = ( v_control.
y +
vec.
y ) / 2;
208 " with control (%.2f, %.2f)\n",
209 v_middle.
x / 64.0, v_middle.
y / 64.0,
210 v_control.
x / 64.0, v_control.
y / 64.0 ));
220 " with control (%.2f, %.2f)\n",
221 v_start.
x / 64.0, v_start.
y / 64.0,
222 v_control.
x / 64.0, v_control.
y / 64.0 ));
233 goto Invalid_Outline;
253 " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
255 vec1.
x / 64.0, vec1.
y / 64.0,
256 vec2.
x / 64.0, vec2.
y / 64.0 ));
264 " with controls (%.2f, %.2f) and (%.2f, %.2f)\n",
265 v_start.
x / 64.0, v_start.
y / 64.0,
266 vec1.
x / 64.0, vec1.
y / 64.0,
267 vec2.
x / 64.0, vec2.
y / 64.0 ));
276 v_start.
x / 64.0, v_start.
y / 64.0 ));
286 FT_TRACE5((
"FT_Outline_Decompose: Done\n",
n ));
FT_BEGIN_HEADER typedef signed long FT_Pos
#define FT_CURVE_TAG_CUBIC
GLint GLint GLint GLint GLint x
FT_Outline_LineToFunc line_to
FT_Outline_CubicToFunc cubic_to
FT_Outline_MoveToFunc move_to
#define FT_TRACE5(varformat)
GLint GLint GLint GLint GLint GLint y
#define FT_CURVE_TAG_CONIC
#define FT_CURVE_TAG(flag)
FT_Outline_ConicToFunc conic_to
void user(int argc, const char *argv[])
Referenced by FT_DEFINE_OUTLINE_FUNCS(), if(), and TestFace().
◆ FT_Outline_Done()
◆ FT_Outline_Done_Internal()
◆ FT_Outline_Embolden()
Definition at line 899 of file ftoutln.c.
FT_Outline_EmboldenXY(FT_Outline *outline, FT_Pos xstrength, FT_Pos ystrength)
◆ FT_Outline_EmboldenXY()
Definition at line 909 of file ftoutln.c.
923 if ( xstrength == 0 && ystrength == 0 )
930 return FT_THROW( Invalid_Argument );
949 in.x =
in.y = anchor.
x = anchor.
y = 0;
FT_Vector_NormLen(FT_Vector *vector)
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 GLint GLint j
FT_MulDiv(FT_Long a, FT_Long b, FT_Long c)
GLdouble GLdouble GLdouble GLdouble q
GLsizei const GLfloat * points
FT_MulFix(FT_Long a, FT_Long b)
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
FT_Outline_Get_Orientation(FT_Outline *outline)
Referenced by af_loader_embolden_glyph_in_slot(), FT_GlyphSlot_Embolden(), FT_Outline_Embolden(), TT_Hint_Glyph(), and TT_Process_Simple_Glyph().
◆ FT_Outline_Get_Bitmap()
Definition at line 661 of file ftoutln.c.
669 return FT_THROW( Invalid_Argument );
#define FT_RASTER_FLAG_AA
GLenum const GLfloat * params
FT_Outline_Render(FT_Library library, FT_Outline *outline, FT_Raster_Params *params)
Referenced by ftGdiGetGlyphOutline().
◆ FT_Outline_Get_CBox()
Definition at line 478 of file ftoutln.c.
481 FT_Pos xMin, yMin, xMax, yMax;
499 xMin = xMax =
vec->
x;
500 yMin = yMax =
vec->
y;
509 if (
x < xMin ) xMin =
x;
510 if (
x > xMax ) xMax =
x;
513 if (
y < yMin ) yMin =
y;
514 if (
y > yMax ) yMax =
y;
FT_BEGIN_HEADER typedef signed long FT_Pos
GLint GLint GLint GLint GLint x
GLint GLint GLint GLint GLint GLint y
Referenced by af_loader_load_glyph(), cff_slot_load(), cid_slot_load_glyph(), compute_glyph_metrics(), dump_outline(), ft_glyphslot_preset_bitmap(), FT_Outline_Get_Orientation(), ft_outline_glyph_bbox(), ft_raster1_get_cbox(), ft_smooth_get_cbox(), gray_raster_render(), pfr_slot_load(), profile_outline(), and T1_Load_Glyph().
◆ FT_Outline_Get_Orientation()
FT_Outline_Get_Orientation |
( |
FT_Outline * |
outline | ) |
|
◆ FT_Outline_New()
◆ FT_Outline_New_Internal()
Definition at line 299 of file ftoutln.c.
307 if ( !anoutline || !
memory )
308 return FT_THROW( Invalid_Argument );
312 if ( numContours < 0 ||
313 (
FT_UInt)numContours > numPoints )
314 return FT_THROW( Invalid_Argument );
static char memory[1024 *256]
#define FT_OUTLINE_POINTS_MAX
FT_Outline_Done_Internal(FT_Memory memory, FT_Outline *outline)
#define FT_NEW_ARRAY(ptr, count)
static const FT_Outline null_outline
Referenced by FT_Outline_New().
◆ FT_Outline_Render()
Definition at line 614 of file ftoutln.c.
624 return FT_THROW( Invalid_Library_Handle );
630 return FT_THROW( Invalid_Argument );
FT_Lookup_Renderer(FT_Library library, FT_Glyph_Format format, FT_ListNode *node)
GLenum const GLfloat * params
smooth FT_Module_Constructor FT_Module_Destructor FT_Module_Requester FT_GLYPH_FORMAT_OUTLINE
FT_Raster_Render_Func raster_render
Referenced by FT_Outline_Get_Bitmap().
◆ FT_Outline_Reverse()
Definition at line 553 of file ftoutln.c.
GLdouble GLdouble GLdouble GLdouble q
#define FT_OUTLINE_REVERSE_FILL
◆ FT_Outline_Transform()
Definition at line 711 of file ftoutln.c.
FT_Vector_Transform(FT_Vector *vector, const FT_Matrix *matrix)
Referenced by af_loader_embolden_glyph_in_slot(), af_loader_load_glyph(), cff_slot_load(), cid_slot_load_glyph(), FT_GlyphSlot_Oblique(), FT_Load_Glyph(), ft_outline_glyph_transform(), ft_raster1_transform(), ft_smooth_transform(), ftGdiGetGlyphOutline(), pfr_slot_load(), T1_Load_Glyph(), and TT_Process_Composite_Component().
◆ FT_Outline_Translate()
Definition at line 528 of file ftoutln.c.
Referenced by af_loader_load_glyph(), cff_slot_load(), cid_slot_load_glyph(), FT_Load_Glyph(), ft_outline_glyph_transform(), ft_raster1_render(), ft_raster1_transform(), ft_smooth_render_generic(), ft_smooth_transform(), ftGdiGetGlyphOutline(), T1_Load_Glyph(), TT_Load_Glyph(), and TT_Process_Composite_Component().