[truetype] Prettyfing.
* src/truetype/ttinterp.c (project, dualproj, fast_project, fast_dualproj): Rename to... (PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
This commit is contained in:
parent
ea173c0493
commit
95b5705273
@ -1,3 +1,11 @@
|
||||
2015-01-11 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[truetype] Prettyfing.
|
||||
|
||||
* src/truetype/ttinterp.c (project, dualproj, fast_project,
|
||||
fast_dualproj): Rename to...
|
||||
(PROJECT, DUALPROJ, FAST_PROJECT, FAST_DUALPROJ): ... this.
|
||||
|
||||
2015-01-11 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
* src/truetype/ttinterp.c (Ins_JROT, Ins_JROF): Simplify.
|
||||
|
@ -44,6 +44,7 @@
|
||||
#undef FT_COMPONENT
|
||||
#define FT_COMPONENT trace_ttinterp
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* In order to detect infinite loops in the code, we set up a counter */
|
||||
@ -58,16 +59,16 @@
|
||||
TT_INTERPRETER_VERSION_38 )
|
||||
|
||||
|
||||
#define project( v1, v2 ) \
|
||||
#define PROJECT( v1, v2 ) \
|
||||
exc->func_project( exc, (v1)->x - (v2)->x, (v1)->y - (v2)->y )
|
||||
|
||||
#define dualproj( v1, v2 ) \
|
||||
#define DUALPROJ( v1, v2 ) \
|
||||
exc->func_dualproj( exc, (v1)->x - (v2)->x, (v1)->y - (v2)->y )
|
||||
|
||||
#define fast_project( v ) \
|
||||
#define FAST_PROJECT( v ) \
|
||||
exc->func_project( exc, (v)->x, (v)->y )
|
||||
|
||||
#define fast_dualproj( v ) \
|
||||
#define FAST_DUALPROJ( v ) \
|
||||
exc->func_dualproj( exc, (v)->x, (v)->y )
|
||||
|
||||
|
||||
@ -86,6 +87,7 @@
|
||||
#define BOUNDS( x, n ) ( (FT_UInt)(x) >= (FT_UInt)(n) )
|
||||
#define BOUNDSL( x, n ) ( (FT_ULong)(x) >= (FT_ULong)(n) )
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* This macro computes (a*2^14)/b and complements TT_MulFix14. */
|
||||
@ -113,6 +115,7 @@
|
||||
#define GUESS_VECTOR( V ) do { } while (0)
|
||||
#endif
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/* */
|
||||
/* CODERANGE FUNCTIONS */
|
||||
@ -2473,10 +2476,10 @@
|
||||
#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
if ( exc->face->unpatented_hinting )
|
||||
{
|
||||
/* If both vectors point rightwards along the x axis, set */
|
||||
/* `both-x-axis' true, otherwise set it false. The x values only */
|
||||
/* need be tested because the vector has been normalised to a unit */
|
||||
/* vector of length 0x4000 = unity. */
|
||||
/* If both vectors point rightwards along the x axis, set */
|
||||
/* `both-x-axis' true, otherwise set it false. The x values only */
|
||||
/* need be tested because the vector has been normalised to a unit */
|
||||
/* vector of length 0x4000 = unity. */
|
||||
exc->GS.both_x_axis = (FT_Bool)( exc->GS.projVector.x == 0x4000 &&
|
||||
exc->GS.freeVector.x == 0x4000 );
|
||||
|
||||
@ -4825,9 +4828,9 @@
|
||||
else
|
||||
{
|
||||
if ( exc->opcode & 1 )
|
||||
R = fast_dualproj( &exc->zp2.org[L] );
|
||||
R = FAST_DUALPROJ( &exc->zp2.org[L] );
|
||||
else
|
||||
R = fast_project( &exc->zp2.cur[L] );
|
||||
R = FAST_PROJECT( &exc->zp2.cur[L] );
|
||||
}
|
||||
|
||||
args[0] = R;
|
||||
@ -4861,7 +4864,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
K = fast_project( &exc->zp2.cur[L] );
|
||||
K = FAST_PROJECT( &exc->zp2.cur[L] );
|
||||
|
||||
exc->func_move( exc, &exc->zp2, L, args[1] - K );
|
||||
|
||||
@ -4908,7 +4911,7 @@
|
||||
else
|
||||
{
|
||||
if ( exc->opcode & 1 )
|
||||
D = project( exc->zp0.cur + L, exc->zp1.cur + K );
|
||||
D = PROJECT( exc->zp0.cur + L, exc->zp1.cur + K );
|
||||
else
|
||||
{
|
||||
/* XXX: UNDOCUMENTED: twilight zone special case */
|
||||
@ -4919,7 +4922,7 @@
|
||||
FT_Vector* vec2 = exc->zp1.org + K;
|
||||
|
||||
|
||||
D = dualproj( vec1, vec2 );
|
||||
D = DUALPROJ( vec1, vec2 );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -4930,7 +4933,7 @@
|
||||
if ( exc->metrics.x_scale == exc->metrics.y_scale )
|
||||
{
|
||||
/* this should be faster */
|
||||
D = dualproj( vec1, vec2 );
|
||||
D = DUALPROJ( vec1, vec2 );
|
||||
D = FT_MulFix( D, exc->metrics.x_scale );
|
||||
}
|
||||
else
|
||||
@ -4941,7 +4944,7 @@
|
||||
vec.x = FT_MulFix( vec1->x - vec2->x, exc->metrics.x_scale );
|
||||
vec.y = FT_MulFix( vec1->y - vec2->y, exc->metrics.y_scale );
|
||||
|
||||
D = fast_dualproj( &vec );
|
||||
D = FAST_DUALPROJ( &vec );
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -5406,7 +5409,7 @@
|
||||
*zone = zp;
|
||||
*refp = p;
|
||||
|
||||
d = project( zp.cur + p, zp.org + p );
|
||||
d = PROJECT( zp.cur + p, zp.org + p );
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_UNPATENTED_HINTING
|
||||
if ( exc->face->unpatented_hinting )
|
||||
@ -5699,13 +5702,13 @@
|
||||
else
|
||||
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
||||
{
|
||||
/* If not using ignore_x_mode rendering, allow ZP2 move. */
|
||||
/* If inline deltas aren't allowed, skip ZP2 move. */
|
||||
/* If using ignore_x_mode rendering, allow ZP2 point move if: */
|
||||
/* - freedom vector is y and sph_compatibility_mode is off */
|
||||
/* - the glyph is composite and the move is in the Y direction */
|
||||
/* - the glyph is specifically set to allow SHPIX moves */
|
||||
/* - the move is on a previously Y-touched point */
|
||||
/* If not using ignore_x_mode rendering, allow ZP2 move. */
|
||||
/* If inline deltas aren't allowed, skip ZP2 move. */
|
||||
/* If using ignore_x_mode rendering, allow ZP2 point move if: */
|
||||
/* - freedom vector is y and sph_compatibility_mode is off */
|
||||
/* - the glyph is composite and the move is in the Y direction */
|
||||
/* - the glyph is specifically set to allow SHPIX moves */
|
||||
/* - the move is on a previously Y-touched point */
|
||||
|
||||
if ( SUBPIXEL_HINTING &&
|
||||
exc->ignore_x_mode )
|
||||
@ -5730,7 +5733,7 @@
|
||||
if ( ( exc->sph_tweak_flags & SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES ) &&
|
||||
( B1 & 63 ) != 0 &&
|
||||
( B2 & 63 ) != 0 &&
|
||||
B1 != B2 )
|
||||
B1 != B2 )
|
||||
Move_Zp2_Point( exc, point, -dx, -dy, TRUE );
|
||||
}
|
||||
}
|
||||
@ -5838,7 +5841,7 @@
|
||||
exc->zp1.cur[point] = exc->zp1.org[point];
|
||||
}
|
||||
|
||||
distance = project( exc->zp1.cur + point, exc->zp0.cur + exc->GS.rp0 );
|
||||
distance = PROJECT( exc->zp1.cur + point, exc->zp0.cur + exc->GS.rp0 );
|
||||
|
||||
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
||||
/* subpixel hinting - make MSIRP respect CVT cut-in; */
|
||||
@ -5885,7 +5888,7 @@
|
||||
|
||||
if ( ( exc->opcode & 1 ) != 0 )
|
||||
{
|
||||
cur_dist = fast_project( &exc->zp0.cur[point] );
|
||||
cur_dist = FAST_PROJECT( &exc->zp0.cur[point] );
|
||||
#ifdef TT_CONFIG_OPTION_SUBPIXEL_HINTING
|
||||
if ( SUBPIXEL_HINTING &&
|
||||
exc->ignore_x_mode &&
|
||||
@ -5995,7 +5998,7 @@
|
||||
distance = 0;
|
||||
#endif /* TT_CONFIG_OPTION_SUBPIXEL_HINTING */
|
||||
|
||||
org_dist = fast_project( &exc->zp0.cur[point] );
|
||||
org_dist = FAST_PROJECT( &exc->zp0.cur[point] );
|
||||
|
||||
if ( ( exc->opcode & 1 ) != 0 ) /* rounding and control cut-in flag */
|
||||
{
|
||||
@ -6069,7 +6072,7 @@
|
||||
FT_Vector* vec2 = &exc->zp0.org[exc->GS.rp0];
|
||||
|
||||
|
||||
org_dist = dualproj( vec1, vec2 );
|
||||
org_dist = DUALPROJ( vec1, vec2 );
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -6080,7 +6083,7 @@
|
||||
if ( exc->metrics.x_scale == exc->metrics.y_scale )
|
||||
{
|
||||
/* this should be faster */
|
||||
org_dist = dualproj( vec1, vec2 );
|
||||
org_dist = DUALPROJ( vec1, vec2 );
|
||||
org_dist = FT_MulFix( org_dist, exc->metrics.x_scale );
|
||||
}
|
||||
else
|
||||
@ -6091,7 +6094,7 @@
|
||||
vec.x = FT_MulFix( vec1->x - vec2->x, exc->metrics.x_scale );
|
||||
vec.y = FT_MulFix( vec1->y - vec2->y, exc->metrics.y_scale );
|
||||
|
||||
org_dist = fast_dualproj( &vec );
|
||||
org_dist = FAST_DUALPROJ( &vec );
|
||||
}
|
||||
}
|
||||
|
||||
@ -6149,7 +6152,7 @@
|
||||
|
||||
/* now move the point */
|
||||
|
||||
org_dist = project( exc->zp1.cur + point, exc->zp0.cur + exc->GS.rp0 );
|
||||
org_dist = PROJECT( exc->zp1.cur + point, exc->zp0.cur + exc->GS.rp0 );
|
||||
|
||||
exc->func_move( exc, &exc->zp1, point, distance - org_dist );
|
||||
|
||||
@ -6241,8 +6244,8 @@
|
||||
exc->zp1.cur[point] = exc->zp1.org[point];
|
||||
}
|
||||
|
||||
org_dist = dualproj( &exc->zp1.org[point], &exc->zp0.org[exc->GS.rp0] );
|
||||
cur_dist = project ( &exc->zp1.cur[point], &exc->zp0.cur[exc->GS.rp0] );
|
||||
org_dist = DUALPROJ( &exc->zp1.org[point], &exc->zp0.org[exc->GS.rp0] );
|
||||
cur_dist = PROJECT ( &exc->zp1.cur[point], &exc->zp0.cur[exc->GS.rp0] );
|
||||
|
||||
/* auto-flip test */
|
||||
|
||||
@ -6438,7 +6441,7 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
distance = project( exc->zp1.cur + point,
|
||||
distance = PROJECT( exc->zp1.cur + point,
|
||||
exc->zp0.cur + exc->GS.rp0 );
|
||||
|
||||
exc->func_move( exc, &exc->zp1, point, -distance );
|
||||
@ -6573,7 +6576,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
distance = project( exc->zp0.cur + p2, exc->zp1.cur + p1 ) / 2;
|
||||
distance = PROJECT( exc->zp0.cur + p2, exc->zp1.cur + p1 ) / 2;
|
||||
|
||||
exc->func_move( exc, &exc->zp1, p1, distance );
|
||||
exc->func_move( exc, &exc->zp0, p2, -distance );
|
||||
@ -6639,9 +6642,9 @@
|
||||
else
|
||||
{
|
||||
if ( twilight )
|
||||
old_range = dualproj( &exc->zp1.org[exc->GS.rp2], orus_base );
|
||||
old_range = DUALPROJ( &exc->zp1.org[exc->GS.rp2], orus_base );
|
||||
else if ( exc->metrics.x_scale == exc->metrics.y_scale )
|
||||
old_range = dualproj( &exc->zp1.orus[exc->GS.rp2], orus_base );
|
||||
old_range = DUALPROJ( &exc->zp1.orus[exc->GS.rp2], orus_base );
|
||||
else
|
||||
{
|
||||
FT_Vector vec;
|
||||
@ -6652,10 +6655,10 @@
|
||||
vec.y = FT_MulFix( exc->zp1.orus[exc->GS.rp2].y - orus_base->y,
|
||||
exc->metrics.y_scale );
|
||||
|
||||
old_range = fast_dualproj( &vec );
|
||||
old_range = FAST_DUALPROJ( &vec );
|
||||
}
|
||||
|
||||
cur_range = project( &exc->zp1.cur[exc->GS.rp2], cur_base );
|
||||
cur_range = PROJECT( &exc->zp1.cur[exc->GS.rp2], cur_base );
|
||||
}
|
||||
|
||||
for ( ; exc->GS.loop > 0; --exc->GS.loop )
|
||||
@ -6676,9 +6679,9 @@
|
||||
}
|
||||
|
||||
if ( twilight )
|
||||
org_dist = dualproj( &exc->zp2.org[point], orus_base );
|
||||
org_dist = DUALPROJ( &exc->zp2.org[point], orus_base );
|
||||
else if ( exc->metrics.x_scale == exc->metrics.y_scale )
|
||||
org_dist = dualproj( &exc->zp2.orus[point], orus_base );
|
||||
org_dist = DUALPROJ( &exc->zp2.orus[point], orus_base );
|
||||
else
|
||||
{
|
||||
FT_Vector vec;
|
||||
@ -6689,10 +6692,10 @@
|
||||
vec.y = FT_MulFix( exc->zp2.orus[point].y - orus_base->y,
|
||||
exc->metrics.y_scale );
|
||||
|
||||
org_dist = fast_dualproj( &vec );
|
||||
org_dist = FAST_DUALPROJ( &vec );
|
||||
}
|
||||
|
||||
cur_dist = project( &exc->zp2.cur[point], cur_base );
|
||||
cur_dist = PROJECT( &exc->zp2.cur[point], cur_base );
|
||||
|
||||
if ( org_dist )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user