freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master b11074cf6: [svg] Set linear advances when loading SVG


From: Werner Lemberg
Subject: [freetype2] master b11074cf6: [svg] Set linear advances when loading SVG glyphs
Date: Tue, 7 Jun 2022 08:58:56 -0400 (EDT)

branch: master
commit b11074cf6dce78d0bc79ff7996dec70ca3abe4a9
Author: Ben Wagner <bungeman@chromium.org>
Commit: Ben Wagner <bungeman@chromium.org>

    [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
---
 include/freetype/freetype.h | 4 ++--
 src/cff/cffgload.c          | 3 +++
 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 );



reply via email to

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