| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 #include "SkAdvancedTypefaceMetrics.h" | 9 #include "SkAdvancedTypefaceMetrics.h" |
| 10 #include "SkBitmap.h" | 10 #include "SkBitmap.h" |
| (...skipping 1283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1294 glyph->fAdvanceX = SkFDot6ToFixed(fFace->glyph->advance.x); | 1294 glyph->fAdvanceX = SkFDot6ToFixed(fFace->glyph->advance.x); |
| 1295 glyph->fAdvanceY = -SkFDot6ToFixed(fFace->glyph->advance.y); | 1295 glyph->fAdvanceY = -SkFDot6ToFixed(fFace->glyph->advance.y); |
| 1296 | 1296 |
| 1297 if (fRec.fFlags & kDevKernText_Flag) { | 1297 if (fRec.fFlags & kDevKernText_Flag) { |
| 1298 glyph->fRsbDelta = SkToS8(fFace->glyph->rsb_delta); | 1298 glyph->fRsbDelta = SkToS8(fFace->glyph->rsb_delta); |
| 1299 glyph->fLsbDelta = SkToS8(fFace->glyph->lsb_delta); | 1299 glyph->fLsbDelta = SkToS8(fFace->glyph->lsb_delta); |
| 1300 } | 1300 } |
| 1301 } | 1301 } |
| 1302 } | 1302 } |
| 1303 | 1303 |
| 1304 if (fFace->glyph->format == FT_GLYPH_FORMAT_BITMAP && fScaleY && fFace->size
->metrics.y_ppem) { | 1304 // If the font isn't scalable, scale the metrics from the non-scalable strik
e. |
| 1305 // This means do not try to scale embedded bitmaps; only scale bitmaps in bi
tmap only fonts. |
| 1306 if (!FT_IS_SCALABLE(fFace) && fScaleY && fFace->size->metrics.y_ppem) { |
| 1305 // NOTE: both dimensions are scaled by y_ppem. this is WAI. | 1307 // NOTE: both dimensions are scaled by y_ppem. this is WAI. |
| 1306 scaleGlyphMetrics(*glyph, SkScalarDiv(SkFixedToScalar(fScaleY), | 1308 scaleGlyphMetrics(*glyph, SkScalarDiv(SkFixedToScalar(fScaleY), |
| 1307 SkIntToScalar(fFace->size->metrics
.y_ppem))); | 1309 SkIntToScalar(fFace->size->metrics
.y_ppem))); |
| 1308 } | 1310 } |
| 1309 | 1311 |
| 1310 #ifdef ENABLE_GLYPH_SPEW | 1312 #ifdef ENABLE_GLYPH_SPEW |
| 1311 SkDEBUGF(("FT_Set_Char_Size(this:%p sx:%x sy:%x ", this, fScaleX, fScaleY)); | 1313 SkDEBUGF(("FT_Set_Char_Size(this:%p sx:%x sy:%x ", this, fScaleX, fScaleY)); |
| 1312 SkDEBUGF(("Metrics(glyph:%d flags:0x%x) w:%d\n", glyph->getGlyphID(), fLoadG
lyphFlags, glyph->fWidth)); | 1314 SkDEBUGF(("Metrics(glyph:%d flags:0x%x) w:%d\n", glyph->getGlyphID(), fLoadG
lyphFlags, glyph->fWidth)); |
| 1313 #endif | 1315 #endif |
| 1314 } | 1316 } |
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1717 *style = (SkTypeface::Style) tempStyle; | 1719 *style = (SkTypeface::Style) tempStyle; |
| 1718 } | 1720 } |
| 1719 if (isFixedPitch) { | 1721 if (isFixedPitch) { |
| 1720 *isFixedPitch = FT_IS_FIXED_WIDTH(face); | 1722 *isFixedPitch = FT_IS_FIXED_WIDTH(face); |
| 1721 } | 1723 } |
| 1722 | 1724 |
| 1723 FT_Done_Face(face); | 1725 FT_Done_Face(face); |
| 1724 FT_Done_FreeType(library); | 1726 FT_Done_FreeType(library); |
| 1725 return true; | 1727 return true; |
| 1726 } | 1728 } |
| OLD | NEW |