summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWerner Lemberg <wl@gnu.org>2017-05-15 21:26:01 +0200
committerWerner Lemberg <wl@gnu.org>2017-05-15 21:26:01 +0200
commit5efda13f60d5845d5df6437f2b8d3f55898393fe (patch)
treeaa56a2c5444cbb853e58af859d3e22b755c4b73f
parent6e5445a232cbdbf18a45629cf2f12a81c043607f (diff)
downloadfreetype2-5efda13f60d5845d5df6437f2b8d3f55898393fe.tar.gz
[sfnt] Return proper scaling values for SBIX bitmaps.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>. * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
-rw-r--r--ChangeLog8
-rw-r--r--src/sfnt/ttsbit.c9
2 files changed, 17 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index ad8ef9506..c78412264 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2017-05-15 Werner Lemberg <wl@gnu.org>
+ [sfnt] Return proper scaling values for SBIX bitmaps.
+
+ Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
+
+ * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Implement it.
+
+2017-05-15 Werner Lemberg <wl@gnu.org>
+
[truetype] Fix error handling for embedded bitmaps.
Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
diff --git a/src/sfnt/ttsbit.c b/src/sfnt/ttsbit.c
index 0c76a5577..59b2168bb 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;
}