diff options
author | Jungshik Shin <jungshik@google.com> | 2016-09-18 03:50:36 -0700 |
---|---|---|
committer | Sean McCreary <mccreary@mcwest.org> | 2017-04-07 16:53:42 -0600 |
commit | 3ff870b9dbbd88173df82269d3c1cffb1eba2eda (patch) | |
tree | 0e443679e800bb442b2cbb2f7ae086b787ca65ff /src/base/ftadvanc.c | |
parent | f720f0dbcf012d6c984dbbefa0875ef9840458c6 (diff) | |
download | android_external_freetype-cm-13.0.tar.gz android_external_freetype-cm-13.0.tar.bz2 android_external_freetype-cm-13.0.zip |
Update FreeType from 2.6.2 to c38be52bf8de (2.7 + a few post-2.7 CLs)HEADreplicant-6.0-0002replicant-6.0-0001cm-13.0
http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=c38be52b
Keep all the configuration options as before.
Likewise, exclude unused files (Jamfiles, various mk files, builds/,
docs/, ChangeLog*, directories under src/ for disabled modules, etc).
Update README.android to record the configurations.
Besides, disable a new option (TT_CONFIG_OPTION_SUBPIXEL_HINTING) for
branches. Note that a bulk of changes in this CL come from the code to
implement this option.
BUG: 31470908
AOSP-Change-Id: I1ca90aec171d9580415b8531e2b767e9dd31164c
CVE-2016-10244
Change-Id: I4485d2ea543c52f8145ab23372cf3e5c7345879b
(cherry picked from commit 055aee28cedc3631434b2636fc6093c0d4d818ab)
Diffstat (limited to 'src/base/ftadvanc.c')
-rw-r--r-- | src/base/ftadvanc.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/base/ftadvanc.c b/src/base/ftadvanc.c index f12908f..9e2ab89 100644 --- a/src/base/ftadvanc.c +++ b/src/base/ftadvanc.c @@ -4,7 +4,7 @@ /* */ /* Quick computation of advance widths (body). */ /* */ -/* Copyright 2008-2015 by */ +/* Copyright 2008-2016 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -60,10 +60,12 @@ /* - unscaled load */ /* - unhinted load */ /* - light-hinted load */ + /* - neither a MM nor a GX font */ -#define LOAD_ADVANCE_FAST_CHECK( flags ) \ - ( flags & ( FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING ) || \ - FT_LOAD_TARGET_MODE( flags ) == FT_RENDER_MODE_LIGHT ) +#define LOAD_ADVANCE_FAST_CHECK( face, flags ) \ + ( ( flags & ( FT_LOAD_NO_SCALE | FT_LOAD_NO_HINTING ) || \ + FT_LOAD_TARGET_MODE( flags ) == FT_RENDER_MODE_LIGHT ) && \ + !FT_HAS_MULTIPLE_MASTERS( face ) ) /* documentation is in ftadvanc.h */ @@ -87,7 +89,7 @@ return FT_THROW( Invalid_Glyph_Index ); func = face->driver->clazz->get_advances; - if ( func && LOAD_ADVANCE_FAST_CHECK( flags ) ) + if ( func && LOAD_ADVANCE_FAST_CHECK( face, flags ) ) { FT_Error error; @@ -133,7 +135,7 @@ return FT_Err_Ok; func = face->driver->clazz->get_advances; - if ( func && LOAD_ADVANCE_FAST_CHECK( flags ) ) + if ( func && LOAD_ADVANCE_FAST_CHECK( face, flags ) ) { error = func( face, start, count, flags, padvances ); if ( !error ) @@ -157,8 +159,8 @@ /* scale from 26.6 to 16.16 */ padvances[nn] = ( flags & FT_LOAD_VERTICAL_LAYOUT ) - ? face->glyph->advance.y << 10 - : face->glyph->advance.x << 10; + ? face->glyph->advance.y * 1024 + : face->glyph->advance.x * 1024; } return error; |