freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 1403229: [cff] Avoid left-shift of negative numbers (


From: Werner LEMBERG
Subject: [freetype2] master 1403229: [cff] Avoid left-shift of negative numbers (#54322).
Date: Fri, 20 Jul 2018 00:44:41 -0400 (EDT)

branch: master
commit 14032290bf9f22afe4cb1cbbc8cfa2ee85a44aee
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [cff] Avoid left-shift of negative numbers (#54322).
    
    * src/cff/cffgload.c (cff_slot_load): Use multiplication.
---
 ChangeLog          |  6 ++++++
 src/cff/cffgload.c | 16 ++++++++--------
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 8662cf9..9d8f303 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-07-20  Werner Lemberg  <address@hidden>
+
+       [cff] Avoid left-shift of negative numbers (#54322).
+
+       * src/cff/cffgload.c (cff_slot_load): Use multiplication.
+
 2018-07-17  Werner Lemberg  <address@hidden>
 
        Allow FT_ENCODING_NONE for `FT_Select_Charmap'.
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index 852515d..88f5689 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -280,16 +280,16 @@
           glyph->root.outline.n_points   = 0;
           glyph->root.outline.n_contours = 0;
 
-          glyph->root.metrics.width  = (FT_Pos)metrics.width  << 6;
-          glyph->root.metrics.height = (FT_Pos)metrics.height << 6;
+          glyph->root.metrics.width  = (FT_Pos)metrics.width  * 64;
+          glyph->root.metrics.height = (FT_Pos)metrics.height * 64;
 
-          glyph->root.metrics.horiBearingX = (FT_Pos)metrics.horiBearingX << 6;
-          glyph->root.metrics.horiBearingY = (FT_Pos)metrics.horiBearingY << 6;
-          glyph->root.metrics.horiAdvance  = (FT_Pos)metrics.horiAdvance  << 6;
+          glyph->root.metrics.horiBearingX = (FT_Pos)metrics.horiBearingX * 64;
+          glyph->root.metrics.horiBearingY = (FT_Pos)metrics.horiBearingY * 64;
+          glyph->root.metrics.horiAdvance  = (FT_Pos)metrics.horiAdvance  * 64;
 
-          glyph->root.metrics.vertBearingX = (FT_Pos)metrics.vertBearingX << 6;
-          glyph->root.metrics.vertBearingY = (FT_Pos)metrics.vertBearingY << 6;
-          glyph->root.metrics.vertAdvance  = (FT_Pos)metrics.vertAdvance  << 6;
+          glyph->root.metrics.vertBearingX = (FT_Pos)metrics.vertBearingX * 64;
+          glyph->root.metrics.vertBearingY = (FT_Pos)metrics.vertBearingY * 64;
+          glyph->root.metrics.vertAdvance  = (FT_Pos)metrics.vertAdvance  * 64;
 
           glyph->root.format = FT_GLYPH_FORMAT_BITMAP;
 



reply via email to

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