shithub: freetype+ttf2subf

Download patch

ref: 3785393d1a3c12fb1b4a3995cc0e953a58531cfe
parent: 686e2a5eb38b00b6eda2070228e42b7101ee2ce1
author: Alexei Podtelezhnikov <[email protected]>
date: Thu Aug 26 11:31:11 EDT 2021

Expand comment (cont'd).

git/fs: mount .git/fs: mount/attach disallowed
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -380,6 +380,12 @@
   /* each slanted line.  Nevertheless, these divisions are noticeable  */
   /* in the overall performance because flattened curves produce a     */
   /* very large number of slanted lines.                               */
+  /*                                                                   */
+  /* The division results here are always within ONE_PIXEL.  Therefore */
+  /* the shift magnitude should be at least PIXEL_BITS wider than the  */
+  /* divisors to provide sufficient accuracy of the multiply-shift.    */
+  /* It should not exceed (64 - PIXEL_BITS) to prevent overflowing and */
+  /* leave enough room for 64-bit unsigned multiplication however.     */
 #define FT_UDIVPREP( c, b )                                                 \
   FT_Int64  b ## _r = c ? (FT_Int64)( ~(FT_UInt64)0 >> PIXEL_BITS ) / ( b ) \
                     : 0