X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=ttf2png.c;fp=ttf2png.c;h=bf9f8d2c728a78f41032078661b88de8960c7f46;hb=1fb6f37cfa76c47b65331b6fe8217f8973f35885;hp=5e6e351328e30b78f0b641ec867cda66d8313351;hpb=887d2514f9c7e57898cec5d598cd2a3bcd9ce757;p=ttf2png.git diff --git a/ttf2png.c b/ttf2png.c index 5e6e351..bf9f8d2 100644 --- a/ttf2png.c +++ b/ttf2png.c @@ -694,15 +694,9 @@ int copy_bitmap(const FT_Bitmap *bmp, Image *image) unsigned sqrti(unsigned num) { - unsigned result = num; - while(result*result>num) - { - unsigned diff = result*result-num; - if(diff0xFFFF ? 0xFFFF : 0x100); + while(result && result*result>=result+num) + result -= (result*result+result-num)/(result*2); return result; } @@ -740,7 +734,7 @@ unsigned find_distance_to_edge(const Image *image, int origin_x, int origin_y, u } } - return sqrti(closest)*0x7F/range; + return sqrti(closest*0x3F01)/range; } int create_distance_field(const FT_Bitmap *bmp, Image *image, unsigned scale, unsigned margin)