diff options
author | David 'Digit' Turner <digit@google.com> | 2011-08-17 18:21:28 +0200 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2011-08-17 18:25:40 +0200 |
commit | aeb407daf3711a10a27f3bc2223c5eb05158076e (patch) | |
tree | 570010914e8c91992ea388f2319611655c7d4b0c /include/freetype/ftstroke.h | |
parent | 3053d1b9db55099918843889e4809ce97483ca9f (diff) | |
download | android_external_freetype-aeb407daf3711a10a27f3bc2223c5eb05158076e.tar.gz android_external_freetype-aeb407daf3711a10a27f3bc2223c5eb05158076e.tar.bz2 android_external_freetype-aeb407daf3711a10a27f3bc2223c5eb05158076e.zip |
Update to FreeType 2.4.6+
This patch updates our copy of the FreeType sources to 2.4.6+.
More precisely, it contains source code corresponding to the
state of the upstream repository at the following hash
submitted on August 16 2001:
c3fb981e2ac79acad09d5673352646696472f55e
This corresponds to 2.4.6 with 7 more patches applied on top
of it to fix bugs in the TrueType interpreter and the CFF parser.
Change-Id: I9f3ac736d616020c8d10fd1d4e4be466f35fb6e7
Diffstat (limited to 'include/freetype/ftstroke.h')
-rw-r--r-- | include/freetype/ftstroke.h | 49 |
1 files changed, 37 insertions, 12 deletions
diff --git a/include/freetype/ftstroke.h b/include/freetype/ftstroke.h index 3afb87d..dbda6d2 100644 --- a/include/freetype/ftstroke.h +++ b/include/freetype/ftstroke.h @@ -4,7 +4,7 @@ /* */ /* FreeType path stroker (specification). */ /* */ -/* Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009 by */ +/* Copyright 2002-2006, 2008, 2009, 2011 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -75,20 +75,44 @@ FT_BEGIN_HEADER * to join two lines smoothly. * * FT_STROKER_LINEJOIN_BEVEL :: - * Used to render beveled line joins; i.e., the two joining lines - * are extended until they intersect. - * + * Used to render beveled line joins. The outer corner of + * the joined lines is filled by enclosing the triangular + * region of the corner with a straight line between the + * outer corners of each stroke. + * + * FT_STROKER_LINEJOIN_MITER_FIXED :: + * Used to render mitered line joins, with fixed bevels if the + * miter limit is exceeded. The outer edges of the strokes + * for the two segments are extended until they meet at an + * angle. If the segments meet at too sharp an angle (such + * that the miter would extend from the intersection of the + * segments a distance greater than the product of the miter + * limit value and the border radius), then a bevel join (see + * above) is used instead. This prevents long spikes being + * created. FT_STROKER_LINEJOIN_MITER_FIXED generates a miter + * line join as used in PostScript and PDF. + * + * FT_STROKER_LINEJOIN_MITER_VARIABLE :: * FT_STROKER_LINEJOIN_MITER :: - * Same as beveled rendering, except that an additional line - * break is added if the angle between the two joining lines - * is too closed (this is useful to avoid unpleasant spikes - * in beveled rendering). + * Used to render mitered line joins, with variable bevels if + * the miter limit is exceeded. The intersection of the + * strokes is clipped at a line perpendicular to the bisector + * of the angle between the strokes, at the distance from the + * intersection of the segments equal to the product of the + * miter limit value and the border radius. This prevents + * long spikes being created. + * FT_STROKER_LINEJOIN_MITER_VARIABLE generates a mitered line + * join as used in XPS. FT_STROKER_LINEJOIN_MITER is an alias + * for FT_STROKER_LINEJOIN_MITER_VARIABLE, retained for + * backwards compatibility. */ typedef enum FT_Stroker_LineJoin_ { - FT_STROKER_LINEJOIN_ROUND = 0, - FT_STROKER_LINEJOIN_BEVEL, - FT_STROKER_LINEJOIN_MITER + FT_STROKER_LINEJOIN_ROUND = 0, + FT_STROKER_LINEJOIN_BEVEL = 1, + FT_STROKER_LINEJOIN_MITER_VARIABLE = 2, + FT_STROKER_LINEJOIN_MITER = FT_STROKER_LINEJOIN_MITER_VARIABLE, + FT_STROKER_LINEJOIN_MITER_FIXED = 3 } FT_Stroker_LineJoin; @@ -245,7 +269,8 @@ FT_BEGIN_HEADER * The line join style. * * miter_limit :: - * The miter limit for the FT_STROKER_LINEJOIN_MITER style, + * The miter limit for the FT_STROKER_LINEJOIN_MITER_FIXED and + * FT_STROKER_LINEJOIN_MITER_VARIABLE line join styles, * expressed as 16.16 fixed point value. * * @note: |