diff options
author | Jungshik Shin <jungshik@google.com> | 2016-01-15 16:18:25 -0800 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2016-02-24 13:20:13 -0800 |
commit | f720f0dbcf012d6c984dbbefa0875ef9840458c6 (patch) | |
tree | bdb1068e64623c623100071dc586117aba4a2417 /src/cff/cffgload.c | |
parent | ec62c527eb34ee4481a0153ceb42dfd35d7e1d26 (diff) | |
download | android_external_freetype-f720f0dbcf012d6c984dbbefa0875ef9840458c6.tar.gz android_external_freetype-f720f0dbcf012d6c984dbbefa0875ef9840458c6.tar.bz2 android_external_freetype-f720f0dbcf012d6c984dbbefa0875ef9840458c6.zip |
[DO NOT MERGE] Update FreeType to 2.6.2 + update from 2.6.0
1. Update to a512b0fe7a (several patches past 2.6.2).
Major changes include
- stem-darkening is OFF for CFF fonts by default
- general code tightening
- header file location is back to include/freetype (used be include/)
2. A bit more details are added to README.android for the reference.
This CL requires a pdfium change (the way it includes FT header
files : https://googleplex-android-review.git.corp.google.com/#/c/846889
An AOSP master CL
(https://android-review.googlesource.com/#/c/196504/) is ported
to mnc-dev.
Bug: 24296662
Change-Id: Iec6784838d89098f332e6d1ed79663efd91a8441
Signed-off-by: Jungshik Shin <jungshik@google.com>
Diffstat (limited to 'src/cff/cffgload.c')
-rw-r--r-- | src/cff/cffgload.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c index 43054f8..5f57403 100644 --- a/src/cff/cffgload.c +++ b/src/cff/cffgload.c @@ -2949,7 +2949,6 @@ { FT_BBox cbox; FT_Glyph_Metrics* metrics = &glyph->root.metrics; - FT_Vector advance; FT_Bool has_vertical_info; @@ -3014,26 +3013,27 @@ glyph->root.outline.flags |= FT_OUTLINE_REVERSE_FILL; - if ( !( font_matrix.xx == 0x10000L && - font_matrix.yy == 0x10000L && - font_matrix.xy == 0 && - font_matrix.yx == 0 ) ) + /* apply the font matrix, if any */ + if ( font_matrix.xx != 0x10000L || font_matrix.yy != 0x10000L || + font_matrix.xy != 0 || font_matrix.yx != 0 ) + { FT_Outline_Transform( &glyph->root.outline, &font_matrix ); - if ( !( font_offset.x == 0 && - font_offset.y == 0 ) ) - FT_Outline_Translate( &glyph->root.outline, - font_offset.x, font_offset.y ); + metrics->horiAdvance = FT_MulFix( metrics->horiAdvance, + font_matrix.xx ); + metrics->vertAdvance = FT_MulFix( metrics->vertAdvance, + font_matrix.yy ); + } - advance.x = metrics->horiAdvance; - advance.y = 0; - FT_Vector_Transform( &advance, &font_matrix ); - metrics->horiAdvance = advance.x + font_offset.x; + if ( font_offset.x || font_offset.y ) + { + FT_Outline_Translate( &glyph->root.outline, + font_offset.x, + font_offset.y ); - advance.x = 0; - advance.y = metrics->vertAdvance; - FT_Vector_Transform( &advance, &font_matrix ); - metrics->vertAdvance = advance.y + font_offset.y; + metrics->horiAdvance += font_offset.x; + metrics->vertAdvance += font_offset.y; + } if ( ( load_flags & FT_LOAD_NO_SCALE ) == 0 || force_scaling ) { @@ -3064,9 +3064,7 @@ metrics->width = cbox.xMax - cbox.xMin; metrics->height = cbox.yMax - cbox.yMin; - if ( !face->horizontal.number_Of_HMetrics ) - metrics->horiBearingX = cbox.xMin; - + metrics->horiBearingX = cbox.xMin; metrics->horiBearingY = cbox.yMax; if ( has_vertical_info ) |