diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-05-15 20:21:34 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-05-15 20:21:34 +0200 |
commit | 9c075dc4cdaeef79bc570ed2219bb757cb325c47 (patch) | |
tree | cda2be4b94e235a7c742b0598ee4b13478c1c7b8 /modules/freetype2/src/base/ftadvanc.c | |
parent | 7bd7473702918934b4f5751a583c3f459bb06c7b (diff) | |
download | UXP-9c075dc4cdaeef79bc570ed2219bb757cb325c47.tar UXP-9c075dc4cdaeef79bc570ed2219bb757cb325c47.tar.gz UXP-9c075dc4cdaeef79bc570ed2219bb757cb325c47.tar.lz UXP-9c075dc4cdaeef79bc570ed2219bb757cb325c47.tar.xz UXP-9c075dc4cdaeef79bc570ed2219bb757cb325c47.zip |
Update in-tree freetype2 lib (unused) to 2.9.1
Diffstat (limited to 'modules/freetype2/src/base/ftadvanc.c')
-rw-r--r-- | modules/freetype2/src/base/ftadvanc.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/modules/freetype2/src/base/ftadvanc.c b/modules/freetype2/src/base/ftadvanc.c index 59c74502c..230c84d6a 100644 --- a/modules/freetype2/src/base/ftadvanc.c +++ b/modules/freetype2/src/base/ftadvanc.c @@ -4,7 +4,7 @@ /* */ /* Quick computation of advance widths (body). */ /* */ -/* Copyright 2008-2016 by */ +/* Copyright 2008-2018 by */ /* David Turner, Robert Wilhelm, and Werner Lemberg. */ /* */ /* This file is part of the FreeType project, and may only be used, */ @@ -116,9 +116,12 @@ FT_Int32 flags, FT_Fixed *padvances ) { + FT_Error error = FT_Err_Ok; + FT_Face_GetAdvancesFunc func; - FT_UInt num, end, nn; - FT_Error error = FT_Err_Ok; + + FT_UInt num, end, nn; + FT_Int factor; if ( !face ) @@ -152,16 +155,17 @@ return FT_THROW( Unimplemented_Feature ); flags |= (FT_UInt32)FT_LOAD_ADVANCE_ONLY; + factor = ( flags & FT_LOAD_NO_SCALE ) ? 1 : 1024; for ( nn = 0; nn < count; nn++ ) { error = FT_Load_Glyph( face, start + nn, flags ); if ( error ) break; - /* scale from 26.6 to 16.16 */ + /* scale from 26.6 to 16.16, unless NO_SCALE was requested */ padvances[nn] = ( flags & FT_LOAD_VERTICAL_LAYOUT ) - ? face->glyph->advance.y * 1024 - : face->glyph->advance.x * 1024; + ? face->glyph->advance.y * factor + : face->glyph->advance.x * factor; } return error; |