diff options
Diffstat (limited to 'Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c')
-rw-r--r-- | Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c b/Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c index 1328ac49880..8da5c9d9e07 100644 --- a/Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c +++ b/Build/source/libs/freetype2/freetype-src/src/sdf/ftbsdf.c @@ -4,7 +4,7 @@ * * Signed Distance Field support for bitmap fonts (body only). * - * Copyright (C) 2020-2022 by + * Copyright (C) 2020-2021 by * David Turner, Robert Wilhelm, and Werner Lemberg. * * Written by Anuj Verma. @@ -177,11 +177,11 @@ * * @Fields: * dist :: - * Vector length of the `prox` parameter. Can be squared or absolute + * Vector length of the `near` parameter. Can be squared or absolute * depending on the `USE_SQUARED_DISTANCES` macro defined in file * `ftsdfcommon.h`. * - * prox :: + * near :: * Vector to the nearest edge. Can also be interpreted as shortest * distance of a point. * @@ -194,7 +194,7 @@ typedef struct ED_ { FT_16D16 dist; - FT_16D16_Vec prox; + FT_16D16_Vec near; FT_Byte alpha; } ED; @@ -595,18 +595,18 @@ worker->rows ) ) { /* approximate the edge distance for edge pixels */ - ed[index].prox = compute_edge_distance( ed + index, + ed[index].near = compute_edge_distance( ed + index, i, j, worker->width, worker->rows ); - ed[index].dist = VECTOR_LENGTH_16D16( ed[index].prox ); + ed[index].dist = VECTOR_LENGTH_16D16( ed[index].near ); } else { /* for non-edge pixels assign far away distances */ ed[index].dist = 400 * ONE; - ed[index].prox.x = 200 * ONE; - ed[index].prox.y = 200 * ONE; + ed[index].near.x = 200 * ONE; + ed[index].near.y = 200 * ONE; } } } @@ -756,6 +756,8 @@ byte = (FT_Byte)( 1 << mod ); t[t_index].alpha = pixel & byte ? 255 : 0; + + pixel = 0; } } } @@ -871,7 +873,7 @@ if ( dist < current->dist ) { - dist_vec = to_check->prox; + dist_vec = to_check->near; dist_vec.x += x_offset * ONE; dist_vec.y += y_offset * ONE; @@ -880,7 +882,7 @@ if ( dist < current->dist ) { current->dist = dist; - current->prox = dist_vec; + current->near = dist_vec; } } } @@ -1096,7 +1098,7 @@ FT_Int i, j; FT_SDFFormat* t_buffer; - FT_16D16 sp_sq, spread; + FT_16D16 spread; if ( !worker || !target ) @@ -1116,13 +1118,11 @@ goto Exit; } - spread = FT_INT_16D16( worker->params.spread ); - #if USE_SQUARED_DISTANCES - sp_sq = FT_INT_16D16( worker->params.spread * - worker->params.spread ); + spread = FT_INT_16D16( worker->params.spread * + worker->params.spread ); #else - sp_sq = FT_INT_16D16( worker->params.spread ); + spread = FT_INT_16D16( worker->params.spread ); #endif for ( j = 0; j < r; j++ ) @@ -1138,8 +1138,8 @@ index = j * w + i; dist = worker->distance_map[index].dist; - if ( dist < 0 || dist > sp_sq ) - dist = sp_sq; + if ( dist < 0 || dist > spread ) + dist = spread; #if USE_SQUARED_DISTANCES dist = square_root( dist ); |