[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] GSoC-2019-moazin 2dc743e 17/26: Minor changes.
From: |
Moazin Khatti |
Subject: |
[freetype2] GSoC-2019-moazin 2dc743e 17/26: Minor changes. |
Date: |
Tue, 2 Jul 2019 03:24:11 -0400 (EDT) |
branch: GSoC-2019-moazin
commit 2dc743e90d012cbf7c2de2b74c5090719986ebe8
Author: Moazin Khatti <address@hidden>
Commit: Moazin Khatti <address@hidden>
Minor changes.
* src/base/ftobjs.c (FT_Load_Glyph): Use the recrusive call with
`FT_LOAD_NO_SCALE' so that the loaded data is unscaled.
* src/base/ftobjs.c (FT_Render_Glyph_Internal): Change the format
to bitmap once an SVG glyph is successfully rendered.
* src/sfnt/ttsvg.c (tt_face_load_svg_doc): Make sure metrics are
grabbed. Scale `horiAdvance' and `vertAdvance' properly and
convert them to 26.6 format.
---
src/base/ftobjs.c | 9 +++++++--
src/sfnt/ttsvg.c | 4 ++++
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c
index 569fc2f..cc0badd 100644
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -839,9 +839,9 @@
load_flags &= ~FT_LOAD_RENDER;
if ( ( load_flags & FT_LOAD_COLOR ) &&
- ( ((TT_Face)face)->svg ) )
+ ( ttface->svg ) )
{
- FT_Load_Glyph( face, glyph_index, FT_LOAD_DEFAULT );
+ FT_Load_Glyph( face, glyph_index, FT_LOAD_NO_SCALE);
}
/*
@@ -4548,6 +4548,11 @@
case FT_GLYPH_FORMAT_SVG: /* handle svg rendering */
renderer = FT_Lookup_Renderer( library, slot->format, NULL );
error = renderer->clazz->render_glyph( renderer, slot,
FT_RENDER_MODE_NORMAL, NULL);
+ if( error == FT_Err_Ok )
+ {
+ slot->format = FT_GLYPH_FORMAT_BITMAP;
+ }
+ return error;
break;
default:
if ( slot->internal->load_flags & FT_LOAD_COLOR )
diff --git a/src/sfnt/ttsvg.c b/src/sfnt/ttsvg.c
index f13f2eb..4901b22 100644
--- a/src/sfnt/ttsvg.c
+++ b/src/sfnt/ttsvg.c
@@ -232,7 +232,11 @@
svg_document->svg_document = doc_list;
svg_document->svg_document_length = doc_length;
+ svg_document->metrics = glyph->face->size->metrics;
glyph->other = svg_document;
+ glyph->metrics.horiAdvance *=
((float)glyph->face->size->metrics.x_ppem)/((float)glyph->face->units_per_EM) *
64.0;
+ glyph->metrics.vertAdvance *=
((float)glyph->face->size->metrics.y_ppem)/((float)glyph->face->units_per_EM) *
64.0;
+
return FT_Err_Ok;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] GSoC-2019-moazin 2dc743e 17/26: Minor changes.,
Moazin Khatti <=