[autofit] Improve tracing of `latin' hinter.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue zone types. (af_latin_metrics_scale_dim): Report scaling changes due to x height alignment. Report scaled stroke width and blue zone values.
This commit is contained in:
parent
2c56f2ab90
commit
b6695243b7
10
ChangeLog
10
ChangeLog
@ -1,3 +1,13 @@
|
||||
2013-10-12 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[autofit] Improve tracing of `latin' hinter.
|
||||
|
||||
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
|
||||
zone types.
|
||||
(af_latin_metrics_scale_dim): Report scaling changes due to x height
|
||||
alignment.
|
||||
Report scaled stroke width and blue zone values.
|
||||
|
||||
2013-10-03 Dave Arnold <darnold@adobe.com>
|
||||
|
||||
* src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
|
||||
|
@ -232,7 +232,44 @@
|
||||
FT_Pos* blue_shoot;
|
||||
|
||||
|
||||
FT_TRACE5(( "blue zone %d:\n", axis->blue_count ));
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
{
|
||||
FT_Bool have_flag = 0;
|
||||
|
||||
|
||||
FT_TRACE5(( "blue zone %d", axis->blue_count ));
|
||||
|
||||
if ( bs->properties )
|
||||
{
|
||||
FT_TRACE5(( " (" ));
|
||||
|
||||
if ( AF_LATIN_IS_TOP_BLUE( bs ) )
|
||||
{
|
||||
FT_TRACE5(( "top" ));
|
||||
have_flag = 1;
|
||||
}
|
||||
|
||||
if ( AF_LATIN_IS_SMALL_TOP_BLUE( bs ) )
|
||||
{
|
||||
if ( have_flag )
|
||||
FT_TRACE5(( ", " ));
|
||||
FT_TRACE5(( "small top" ));
|
||||
have_flag = 1;
|
||||
}
|
||||
|
||||
if ( AF_LATIN_IS_LONG_BLUE( bs ) )
|
||||
{
|
||||
if ( have_flag )
|
||||
FT_TRACE5(( ", " ));
|
||||
FT_TRACE5(( "long" ));
|
||||
}
|
||||
|
||||
FT_TRACE5(( ")" ));
|
||||
}
|
||||
|
||||
FT_TRACE5(( ":\n" ));
|
||||
}
|
||||
#endif /* FT_DEBUG_LEVEL_TRACE */
|
||||
|
||||
num_flats = 0;
|
||||
num_rounds = 0;
|
||||
@ -837,7 +874,20 @@
|
||||
else
|
||||
#endif
|
||||
if ( dim == AF_DIMENSION_VERT )
|
||||
{
|
||||
scale = FT_MulDiv( scale, fitted, scaled );
|
||||
|
||||
FT_TRACE5((
|
||||
"af_latin_metrics_scale_dim:"
|
||||
" x height alignment (script `%s'):\n"
|
||||
" "
|
||||
" vertical scaling changed from %.4f to %.4f (by %d%%)\n"
|
||||
"\n",
|
||||
af_script_names[metrics->root.script_class->script],
|
||||
axis->org_scale / 65536.0,
|
||||
scale / 65536.0,
|
||||
( fitted - scaled ) * 100 / scaled ));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -856,6 +906,10 @@
|
||||
metrics->root.scaler.y_delta = delta;
|
||||
}
|
||||
|
||||
FT_TRACE5(( "%s widths (script `%s')\n",
|
||||
dim == AF_DIMENSION_HORZ ? "horizontal" : "vertical",
|
||||
af_script_names[metrics->root.script_class->script] ));
|
||||
|
||||
/* scale the widths */
|
||||
for ( nn = 0; nn < axis->width_count; nn++ )
|
||||
{
|
||||
@ -864,15 +918,30 @@
|
||||
|
||||
width->cur = FT_MulFix( width->org, scale );
|
||||
width->fit = width->cur;
|
||||
|
||||
FT_TRACE5(( " %d scaled to %.2f\n",
|
||||
width->org,
|
||||
width->cur / 64.0 ));
|
||||
}
|
||||
|
||||
FT_TRACE5(( "\n" ));
|
||||
|
||||
/* an extra-light axis corresponds to a standard width that is */
|
||||
/* smaller than 5/8 pixels */
|
||||
axis->extra_light =
|
||||
(FT_Bool)( FT_MulFix( axis->standard_width, scale ) < 32 + 8 );
|
||||
|
||||
#ifdef FT_DEBUG_LEVEL_TRACE
|
||||
if ( axis->extra_light )
|
||||
FT_TRACE5(( "this font is extra light\n"
|
||||
"\n" ));
|
||||
#endif
|
||||
|
||||
if ( dim == AF_DIMENSION_VERT )
|
||||
{
|
||||
FT_TRACE5(( "blue zones (script `%s')\n",
|
||||
af_script_names[metrics->root.script_class->script] ));
|
||||
|
||||
/* scale the blue zones */
|
||||
for ( nn = 0; nn < axis->blue_count; nn++ )
|
||||
{
|
||||
@ -944,6 +1013,19 @@
|
||||
#endif
|
||||
|
||||
blue->flags |= AF_LATIN_BLUE_ACTIVE;
|
||||
|
||||
FT_TRACE5(( " reference %d: %d scaled to %.2f%s\n"
|
||||
" overshoot %d: %d scaled to %.2f%s\n",
|
||||
nn,
|
||||
blue->ref.org,
|
||||
blue->ref.fit / 64.0,
|
||||
blue->flags & AF_LATIN_BLUE_ACTIVE ? ""
|
||||
: " (inactive)",
|
||||
nn,
|
||||
blue->shoot.org,
|
||||
blue->shoot.fit / 64.0,
|
||||
blue->flags & AF_LATIN_BLUE_ACTIVE ? ""
|
||||
: " (inactive)" ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user