freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Git][freetype/freetype][master] Fix sdf computation while `USE_SQUARED_


From: Anuj Verma (@anujv)
Subject: [Git][freetype/freetype][master] Fix sdf computation while `USE_SQUARED_DISTANCES`.
Date: Thu, 27 Jan 2022 12:31:52 +0000

Anuj Verma pushed to branch master at FreeType / FreeType

Commits:

2 changed files:

Changes:

  • src/sdf/ftbsdf.c
    ... ... @@ -1096,7 +1096,7 @@
    1096 1096
         FT_Int  i, j;
    
    1097 1097
     
    
    1098 1098
         FT_SDFFormat*  t_buffer;
    
    1099
    -    FT_16D16       spread;
    
    1099
    +    FT_16D16       sp_sq, spread;
    
    1100 1100
     
    
    1101 1101
     
    
    1102 1102
         if ( !worker || !target )
    
    ... ... @@ -1116,11 +1116,13 @@
    1116 1116
           goto Exit;
    
    1117 1117
         }
    
    1118 1118
     
    
    1119
    +    spread = FT_INT_16D16( worker->params.spread );
    
    1120
    +
    
    1119 1121
     #if USE_SQUARED_DISTANCES
    
    1120
    -    spread = FT_INT_16D16( worker->params.spread *
    
    1121
    -                           worker->params.spread );
    
    1122
    +    sp_sq = FT_INT_16D16( worker->params.spread *
    
    1123
    +                          worker->params.spread );
    
    1122 1124
     #else
    
    1123
    -    spread = FT_INT_16D16( worker->params.spread );
    
    1125
    +    sp_sq = FT_INT_16D16( worker->params.spread );
    
    1124 1126
     #endif
    
    1125 1127
     
    
    1126 1128
         for ( j = 0; j < r; j++ )
    
    ... ... @@ -1136,8 +1138,8 @@
    1136 1138
             index = j * w + i;
    
    1137 1139
             dist  = worker->distance_map[index].dist;
    
    1138 1140
     
    
    1139
    -        if ( dist < 0 || dist > spread )
    
    1140
    -          dist = spread;
    
    1141
    +        if ( dist < 0 || dist > sp_sq )
    
    1142
    +          dist = sp_sq;
    
    1141 1143
     
    
    1142 1144
     #if USE_SQUARED_DISTANCES
    
    1143 1145
             dist = square_root( dist );
    

  • src/sdf/ftsdf.c
    ... ... @@ -3242,7 +3242,7 @@
    3242 3242
         buffer   = (FT_SDFFormat*)bitmap->buffer;
    
    3243 3243
     
    
    3244 3244
         if ( USE_SQUARED_DISTANCES )
    
    3245
    -      sp_sq = fixed_spread * fixed_spread;
    
    3245
    +      sp_sq = FT_INT_16D16( spread * spread );
    
    3246 3246
         else
    
    3247 3247
           sp_sq = fixed_spread;
    
    3248 3248
     
    


  • reply via email to

    [Prev in Thread] Current Thread [Next in Thread]