freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] GSoC-2019-moazin 8a5aff5 01/11: Remove the dependence on out


From: Moazin Khatti
Subject: [freetype2] GSoC-2019-moazin 8a5aff5 01/11: Remove the dependence on outlines. No longer needed.
Date: Fri, 16 Aug 2019 04:30:01 -0400 (EDT)

branch: GSoC-2019-moazin
commit 8a5aff5978f93786f9245a5fe09c282c577edf07
Author: Moazin Khatti <address@hidden>
Commit: Moazin Khatti <address@hidden>

    Remove the dependence on outlines. No longer needed.
---
 include/freetype/ftglyph.h |  6 +++---
 src/base/ftglyph.c         | 16 ----------------
 src/base/ftobjs.c          |  3 ++-
 3 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/include/freetype/ftglyph.h b/include/freetype/ftglyph.h
index 8b1e3f6..01d2857 100644
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -241,11 +241,11 @@ FT_BEGIN_HEADER
    *
    * @description:
    *   A structure used for SVG glyph images.  This really is a 'sub-class'
-   *   of @FT_OutlineGlyphRec.
+   *   of @FT_GlyphRec.
    *
    * @fields:
    *   root ::
-   *     The root @FT_OutlineGlyphRec fields.
+   *     The root @FT_Glyph fields.
    *
    *   svg_document ::
    *     A pointer to the SVG document.
@@ -281,7 +281,7 @@ FT_BEGIN_HEADER
    */
   typedef struct  FT_SvgGlyphRec_
   {
-    FT_OutlineGlyphRec  root;
+    FT_GlyphRec         root;
     FT_Byte*            svg_document;
     FT_ULong            svg_document_length;
     FT_UInt             glyph_index;
diff --git a/src/base/ftglyph.c b/src/base/ftglyph.c
index 57603f1..93795c8 100644
--- a/src/base/ftglyph.c
+++ b/src/base/ftglyph.c
@@ -317,11 +317,6 @@
       goto Exit;
     }
 
-    /* init the parent first */
-    slot->format = FT_GLYPH_FORMAT_OUTLINE;
-    ft_outline_glyph_class.glyph_init( svg_glyph, slot );
-    slot->format = FT_GLYPH_FORMAT_SVG;
-
     /* allocate a new document */
     doc_length                 = document->svg_document_length;
     glyph->svg_document        = memory->alloc( memory, doc_length );
@@ -331,7 +326,6 @@
     glyph->units_per_EM        = document->units_per_EM;
     glyph->start_glyph_id      = document->start_glyph_id;
     glyph->end_glyph_id        = document->end_glyph_id;
-
     /* copy the document into glyph */
     FT_MEM_COPY( glyph->svg_document, document->svg_document, doc_length );
 
@@ -346,9 +340,6 @@
     FT_SvgGlyph  glyph  = (FT_SvgGlyph)svg_glyph;
     FT_Memory    memory = svg_glyph->library->memory;
 
-    /* free the parent first */
-    ft_outline_glyph_class.glyph_done( svg_glyph );
-
     /* just free the memory */
     memory->free( memory, glyph->svg_document );
   }
@@ -374,8 +365,6 @@
       return error;
     }
 
-    /* copy the parent first */
-    ft_outline_glyph_class.glyph_copy( svg_source, svg_target );
 
     target->glyph_index         = source->glyph_index;
     target->svg_document_length = source->svg_document_length;
@@ -410,10 +399,6 @@
     if ( FT_NEW( document ) )
       return error;
 
-    /* call the parent and prepare it */
-    ft_outline_glyph_class.glyph_prepare( svg_glyph, slot );
-    slot->format = FT_GLYPH_FORMAT_SVG;
-
     document->svg_document        = glyph->svg_document;
     document->svg_document_length = glyph->svg_document_length;
     document->metrics             = glyph->metrics;
@@ -508,7 +493,6 @@
     if ( error )
       goto Exit;
 
-    copy->advance = source->advance;
     copy->format  = source->format;
 
     if ( clazz->glyph_copy )
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index f4fb1db..a77c985 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -382,10 +382,11 @@
         module = FT_Get_Module(slot->library, "ot-svg" );
         SVG_Service svg_service = module->clazz->module_interface;
 
-        svg_service->preset_slot( module, slot, FALSE );
+        return svg_service->preset_slot( module, slot, FALSE );
       }
       else
         return 1;
+      return 1;
     }
 
     if ( origin )



reply via email to

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