freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 5efda13 2/2: [sfnt] Return proper scaling values for


From: Werner LEMBERG
Subject: [freetype2] master 5efda13 2/2: [sfnt] Return proper scaling values for SBIX bitmaps.
Date: Mon, 15 May 2017 15:26:24 -0400 (EDT)

branch: master
commit 5efda13f60d5845d5df6437f2b8d3f55898393fe
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [sfnt] Return proper scaling values for SBIX bitmaps.
    
    Problem reported by Hin-Tak Leung <address@hidden>.
    
    * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
---
 ChangeLog         | 8 ++++++++
 src/sfnt/ttsbit.c | 9 +++++++++
 2 files changed, 17 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index ad8ef95..c784122 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2017-05-15  Werner Lemberg  <address@hidden>
 
+       [sfnt] Return proper scaling values for SBIX bitmaps.
+
+       Problem reported by Hin-Tak Leung <address@hidden>.
+
+       * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
+
+2017-05-15  Werner Lemberg  <address@hidden>
+
        [truetype] Fix error handling for embedded bitmaps.
 
        Problem reported by Hin-Tak Leung <address@hidden>.
diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c
index 0c76a55..59b2168 100644
--- a/src/sfnt/ttsbit.c
+++ b/src/sfnt/ttsbit.c
@@ -448,6 +448,15 @@
         metrics->max_advance =
           FT_MulDiv( hori->advance_Width_Max, ppem_ * 64, upem );
 
+        /* set the scale values (in 16.16 units) so advances */
+        /* from the hmtx and vmtx table are scaled correctly */
+        metrics->x_scale = FT_MulDiv( metrics->x_ppem,
+                                      64 * 0x10000,
+                                      face->header.Units_Per_EM );
+        metrics->y_scale = FT_MulDiv( metrics->y_ppem,
+                                      64 * 0x10000,
+                                      face->header.Units_Per_EM );
+
         return error;
       }
 



reply via email to

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