diff options
author | Ben Wagner <bungeman@chromium.org> | 2022-06-06 15:59:56 -0400 |
---|---|---|
committer | Ben Wagner <bungeman@chromium.org> | 2022-06-06 16:55:17 -0400 |
commit | b11074cf6dce78d0bc79ff7996dec70ca3abe4a9 (patch) | |
tree | 2eccff28f962fde7d465a64b3bfbecd6f2847419 | |
parent | c26872ed59cba3af2f407b5eefc92fcec92aa52b (diff) | |
download | freetype2-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.h | 4 | ||||
-rw-r--r-- | src/cff/cffgload.c | 3 | ||||
-rw-r--r-- | src/truetype/ttgload.c | 3 |
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 ); |