freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 96dcc8a: [autofit] Really fix #41334 (#52000).


From: Werner LEMBERG
Subject: [freetype2] master 96dcc8a: [autofit] Really fix #41334 (#52000).
Date: Wed, 13 Sep 2017 02:16:40 -0400 (EDT)

branch: master
commit 96dcc8ad6ef67f8703efd239f081ed27c7f039a2
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [autofit] Really fix #41334 (#52000).
    
    * src/autofit/aflatin.c (af_latin_hints_compute_segments): Set
    `segment->delta' everywhere.
---
 ChangeLog             |  7 +++++++
 src/autofit/aflatin.c | 21 +++++++++++++--------
 2 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b9d69c0..b25a822 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-09-13  Werner Lemberg  <address@hidden>
+
+       [autofit] Really fix #41334 (#52000).
+
+       * src/autofit/aflatin.c (af_latin_hints_compute_segments): Set
+       `segment->delta' everywhere.
+
 2017-09-12  suzuki toshiya  <address@hidden>
 
        [autofit, sfnt] Fix for `make multi'.
diff --git a/src/autofit/aflatin.c b/src/autofit/aflatin.c
index cdbc1b7..02b3b8b 100644
--- a/src/autofit/aflatin.c
+++ b/src/autofit/aflatin.c
@@ -1690,9 +1690,11 @@
                 if ( prev_max_on_coord > max_on_coord )
                   max_on_coord = prev_max_on_coord;
 
-                prev_segment->last = point;
-                prev_segment->pos  = (FT_Short)( ( min_pos +
-                                                   max_pos ) >> 1 );
+                prev_segment->last  = point;
+                prev_segment->pos   = (FT_Short)( ( min_pos +
+                                                    max_pos ) >> 1 );
+                prev_segment->delta = (FT_Short)( ( max_pos -
+                                                    min_pos ) >> 1 );
 
                 if ( ( min_flags | max_flags ) & AF_FLAG_CONTROL      &&
                      ( max_on_coord - min_on_coord ) < flat_threshold )
@@ -1720,9 +1722,11 @@
                   if ( max_pos > prev_max_pos )
                     prev_max_pos = max_pos;
 
-                  prev_segment->last = point;
-                  prev_segment->pos  = (FT_Short)( ( prev_min_pos +
-                                                     prev_max_pos ) >> 1 );
+                  prev_segment->last  = point;
+                  prev_segment->pos   = (FT_Short)( ( prev_min_pos +
+                                                      prev_max_pos ) >> 1 );
+                  prev_segment->delta = (FT_Short)( ( prev_max_pos -
+                                                      prev_min_pos ) >> 1 );
                 }
                 else
                 {
@@ -1733,8 +1737,9 @@
                   if ( prev_max_pos > max_pos )
                     max_pos = prev_max_pos;
 
-                  segment->last = point;
-                  segment->pos  = (FT_Short)( ( min_pos + max_pos ) >> 1 );
+                  segment->last  = point;
+                  segment->pos   = (FT_Short)( ( min_pos + max_pos ) >> 1 );
+                  segment->delta = (FT_Short)( ( max_pos - min_pos ) >> 1 );
 
                   if ( ( min_flags | max_flags ) & AF_FLAG_CONTROL      &&
                        ( max_on_coord - min_on_coord ) < flat_threshold )



reply via email to

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