[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 8ab08cf 1/5: [truetype] More preparations for MVAR su
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 8ab08cf 1/5: [truetype] More preparations for MVAR support. |
Date: |
Wed, 11 Jan 2017 13:28:10 +0000 (UTC) |
branch: master
commit 8ab08cff63eeb23b6c9f2c4470ae9809f2acf244
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[truetype] More preparations for MVAR support.
* src/truetype/ttobjs.c (tt_size_reset): Add argument to make
function only recompute ascender, descender, and height.
* src/truetype/ttobjs.h: Updated.
* src/truetype/ttdriver.c (tt_size_select, tt_size_request):
Updated.
---
ChangeLog | 12 ++++++++++++
src/truetype/ttdriver.c | 4 ++--
src/truetype/ttobjs.c | 32 ++++++++++++++++++++------------
src/truetype/ttobjs.h | 3 ++-
4 files changed, 36 insertions(+), 15 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 456f531..5ba2319 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2017-01-11 Werner Lemberg <address@hidden>
+
+ [truetype] More preparations for MVAR support.
+
+ * src/truetype/ttobjs.c (tt_size_reset): Add argument to make
+ function only recompute ascender, descender, and height.
+
+ * src/truetype/ttobjs.h: Updated.
+
+ * src/truetype/ttdriver.c (tt_size_select, tt_size_request):
+ Updated.
+
2017-01-09 Werner Lemberg <address@hidden>
[pcf] Disable long family names by default.
diff --git a/src/truetype/ttdriver.c b/src/truetype/ttdriver.c
index 58c7e4a..3cbff59 100644
--- a/src/truetype/ttdriver.c
+++ b/src/truetype/ttdriver.c
@@ -304,7 +304,7 @@
/* use the scaled metrics, even when tt_size_reset fails */
FT_Select_Metrics( size->face, strike_index );
- tt_size_reset( ttsize ); /* ignore return value */
+ tt_size_reset( ttsize, 0 ); /* ignore return value */
}
else
{
@@ -354,7 +354,7 @@
if ( FT_IS_SCALABLE( size->face ) )
{
- error = tt_size_reset( ttsize );
+ error = tt_size_reset( ttsize, 0 );
ttsize->root.metrics = ttsize->metrics;
#ifdef TT_USE_BYTECODE_INTERPRETER
diff --git a/src/truetype/ttobjs.c b/src/truetype/ttobjs.c
index e30efbf..c907ecd 100644
--- a/src/truetype/ttobjs.c
+++ b/src/truetype/ttobjs.c
@@ -1198,13 +1198,15 @@
/* have been changed. */
/* */
/* <Input> */
- /* size :: A handle to the target size object. */
+ /* size :: A handle to the target size object. */
+ /* */
+ /* only_height :: Only recompute ascender, descender, and height. */
/* */
FT_LOCAL_DEF( FT_Error )
- tt_size_reset( TT_Size size )
+ tt_size_reset( TT_Size size,
+ FT_Bool only_height )
{
TT_Face face;
- FT_Error error = FT_Err_Ok;
FT_Size_Metrics* metrics;
@@ -1226,17 +1228,26 @@
/* */
if ( face->header.Flags & 8 )
{
- metrics->x_scale = FT_DivFix( metrics->x_ppem << 6,
- face->root.units_per_EM );
- metrics->y_scale = FT_DivFix( metrics->y_ppem << 6,
- face->root.units_per_EM );
-
metrics->ascender =
FT_PIX_ROUND( FT_MulFix( face->root.ascender, metrics->y_scale ) );
metrics->descender =
FT_PIX_ROUND( FT_MulFix( face->root.descender, metrics->y_scale ) );
metrics->height =
FT_PIX_ROUND( FT_MulFix( face->root.height, metrics->y_scale ) );
+ }
+
+ size->ttmetrics.valid = TRUE;
+
+ if ( only_height )
+ return FT_Err_Ok;
+
+ if ( face->header.Flags & 8 )
+ {
+ metrics->x_scale = FT_DivFix( metrics->x_ppem << 6,
+ face->root.units_per_EM );
+ metrics->y_scale = FT_DivFix( metrics->y_ppem << 6,
+ face->root.units_per_EM );
+
metrics->max_advance =
FT_PIX_ROUND( FT_MulFix( face->root.max_advance_width,
metrics->x_scale ) );
@@ -1264,10 +1275,7 @@
size->cvt_ready = -1;
#endif /* TT_USE_BYTECODE_INTERPRETER */
- if ( !error )
- size->ttmetrics.valid = TRUE;
-
- return error;
+ return FT_Err_Ok;
}
diff --git a/src/truetype/ttobjs.h b/src/truetype/ttobjs.h
index 62ddffb..65929e5 100644
--- a/src/truetype/ttobjs.h
+++ b/src/truetype/ttobjs.h
@@ -389,7 +389,8 @@ FT_BEGIN_HEADER
#endif /* TT_USE_BYTECODE_INTERPRETER */
FT_LOCAL( FT_Error )
- tt_size_reset( TT_Size size );
+ tt_size_reset( TT_Size size,
+ FT_Bool only_height );
/*************************************************************************/
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 8ab08cf 1/5: [truetype] More preparations for MVAR support.,
Werner LEMBERG <=