[autofit] Clean up contour indexing.

* src/autofit/aflatin.c (af_latin_metrics_init_blues): Refactor.
* src/autofit/afcjk.c (af_cjk_metrics_init_blues): Ditto.
This commit is contained in:
Alexei Podtelezhnikov 2023-02-20 23:29:58 -05:00
parent 78464d1b0c
commit 7f9499044e
2 changed files with 13 additions and 18 deletions

View File

@ -417,16 +417,14 @@
{
FT_Int nn;
FT_Int first = 0;
FT_Int last = -1;
FT_Int pp, first, last;
for ( nn = 0; nn < outline.n_contours; first = last + 1, nn++ )
last = -1;
for ( nn = 0; nn < outline.n_contours; nn++ )
{
FT_Int pp;
last = outline.contours[nn];
first = last + 1;
last = outline.contours[nn];
/* Avoid single-point contours since they are never rasterized. */
/* In some fonts, they correspond to mark attachment points */

View File

@ -496,23 +496,20 @@
/* now compute min or max point indices and coordinates */
points = outline.points;
best_point = -1;
best_contour_first = -1;
best_contour_last = -1;
best_y = 0; /* make compiler happy */
best_contour_first = 0; /* ditto */
best_contour_last = 0; /* ditto */
{
FT_Int nn;
FT_Int first = 0;
FT_Int last = -1;
FT_Int pp, first, last;
for ( nn = 0; nn < outline.n_contours; first = last + 1, nn++ )
last = -1;
for ( nn = 0; nn < outline.n_contours; nn++ )
{
FT_Int old_best_point = best_point;
FT_Int pp;
last = outline.contours[nn];
first = last + 1;
last = outline.contours[nn];
/* Avoid single-point contours since they are never */
/* rasterized. In some fonts, they correspond to mark */
@ -551,7 +548,7 @@
}
}
if ( best_point != old_best_point )
if ( best_point > best_contour_last )
{
best_contour_first = first;
best_contour_last = last;