diff options
author | Werner Lemberg <wl@gnu.org> | 2017-04-30 17:25:11 +0200 |
---|---|---|
committer | Werner Lemberg <wl@gnu.org> | 2017-04-30 17:25:11 +0200 |
commit | 7abf0cb758b4b470a0a0671e290669aeefbe0b90 (patch) | |
tree | a02bc274c913607b975c3515ad5e1a735bfc436f | |
parent | 785833d96eacab4af67dc6be53571441df6d8a5b (diff) | |
download | freetype2-7abf0cb758b4b470a0a0671e290669aeefbe0b90.tar.gz |
[autofit] Fix metrics computation.
Problem reported by Markus Trippelsdorf <markus@trippelsdorf.de> and
Nikolaus Waxweiler <madigens@gmail.com>.
* src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of
auto-hinter metrics. Without this change, multiple size changing
calls for a single face fail.
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | src/base/ftobjs.c | 4 |
2 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,14 @@ +2017-04-30 Werner Lemberg <wl@gnu.org> + + [autofit] Fix metrics computation. + + Problem reported by Markus Trippelsdorf <markus@trippelsdorf.de> and + Nikolaus Waxweiler <madigens@gmail.com>. + + * src/base/ftobjs.c (FT_Request_Size): Trigger recomputation of + auto-hinter metrics. Without this change, multiple size changing + calls for a single face fail. + 2017-04-29 Werner Lemberg <wl@gnu.org> * src/truetype/ttdriver.c (tt_size_request): Properly check `error'. diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c index 7a9169b32..cbc771322 100644 --- a/src/base/ftobjs.c +++ b/src/base/ftobjs.c @@ -3061,6 +3061,10 @@ req->type >= FT_SIZE_REQUEST_TYPE_MAX ) return FT_THROW( Invalid_Argument ); + /* signal the auto-hinter to recompute its size metrics */ + /* (if requested) */ + face->size->internal->autohint_metrics.x_scale = 0; + clazz = face->driver->clazz; if ( clazz->request_size ) |