summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Wagner <bungeman@chromium.org>2022-06-06 15:59:56 -0400
committerBen Wagner <bungeman@chromium.org>2022-06-06 16:55:17 -0400
commitb11074cf6dce78d0bc79ff7996dec70ca3abe4a9 (patch)
tree2eccff28f962fde7d465a64b3bfbecd6f2847419
parentc26872ed59cba3af2f407b5eefc92fcec92aa52b (diff)
downloadfreetype2-b11074cf6dce78d0bc79ff7996dec70ca3abe4a9.tar.gz
[svg] Set linear advances when loading SVG glyphs
* include/freetype/freetype.h (FT_GlyphSlotRec_): update doc * src/cff/cffgload.c (cff_slot_load): do it * src/truetype/ttgload.c (TT_Load_Glyph): do it Fixes: #1156
-rw-r--r--include/freetype/freetype.h4
-rw-r--r--src/cff/cffgload.c3
-rw-r--r--src/truetype/ttgload.c3
3 files changed, 8 insertions, 2 deletions
diff --git a/include/freetype/freetype.h b/include/freetype/freetype.h
index aa1a4fe38..90e08881b 100644
--- a/include/freetype/freetype.h
+++ b/include/freetype/freetype.h
@@ -1892,13 +1892,13 @@ FT_BEGIN_HEADER
* The advance width of the unhinted glyph. Its value is expressed in
* 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when
* loading the glyph. This field can be important to perform correct
- * WYSIWYG layout. Only relevant for outline glyphs.
+ * WYSIWYG layout. Only relevant for scalable glyphs.
*
* linearVertAdvance ::
* The advance height of the unhinted glyph. Its value is expressed in
* 16.16 fractional pixels, unless @FT_LOAD_LINEAR_DESIGN is set when
* loading the glyph. This field can be important to perform correct
- * WYSIWYG layout. Only relevant for outline glyphs.
+ * WYSIWYG layout. Only relevant for scalable glyphs.
*
* advance ::
* This shorthand is, depending on @FT_LOAD_IGNORE_TRANSFORM, the
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c
index 7586b886f..d8fc31857 100644
--- a/src/cff/cffgload.c
+++ b/src/cff/cffgload.c
@@ -404,6 +404,9 @@
&dummy,
&advanceY );
+ glyph->root.linearHoriAdvance = advanceX;
+ glyph->root.linearVertAdvance = advanceY;
+
advanceX =
(FT_UShort)FT_MulDiv( advanceX,
glyph->root.face->size->metrics.x_ppem,
diff --git a/src/truetype/ttgload.c b/src/truetype/ttgload.c
index 2ca63d65a..e2908d065 100644
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -3005,6 +3005,9 @@
&topBearing,
&advanceY );
+ glyph->linearHoriAdvance = advanceX;
+ glyph->linearVertAdvance = advanceY;
+
advanceX = (FT_UShort)FT_MulDiv( advanceX,
glyph->face->size->metrics.x_ppem,
glyph->face->units_per_EM );