| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2006 The Android Open Source Project | 2 * Copyright 2006 The Android Open Source Project |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkAdvancedTypefaceMetrics.h" | 8 #include "SkAdvancedTypefaceMetrics.h" |
| 9 #include "SkBitmap.h" | 9 #include "SkBitmap.h" |
| 10 #include "SkCanvas.h" | 10 #include "SkCanvas.h" |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 AutoFTAccess fta(this); | 459 AutoFTAccess fta(this); |
| 460 FT_Face face = fta.face(); | 460 FT_Face face = fta.face(); |
| 461 if (!face) { | 461 if (!face) { |
| 462 return nullptr; | 462 return nullptr; |
| 463 } | 463 } |
| 464 | 464 |
| 465 SkAdvancedTypefaceMetrics* info = new SkAdvancedTypefaceMetrics; | 465 SkAdvancedTypefaceMetrics* info = new SkAdvancedTypefaceMetrics; |
| 466 info->fFontName.set(FT_Get_Postscript_Name(face)); | 466 info->fFontName.set(FT_Get_Postscript_Name(face)); |
| 467 info->fFlags = SkAdvancedTypefaceMetrics::kEmpty_FontFlag; | 467 info->fFlags = SkAdvancedTypefaceMetrics::kEmpty_FontFlag; |
| 468 if (FT_HAS_MULTIPLE_MASTERS(face)) { | 468 if (FT_HAS_MULTIPLE_MASTERS(face)) { |
| 469 info->fFlags = SkTBitOr<SkAdvancedTypefaceMetrics::FontFlags>( | 469 info->fFlags |= SkAdvancedTypefaceMetrics::kMultiMaster_FontFlag; |
| 470 info->fFlags, SkAdvancedTypefaceMetrics::kMultiMaster_FontFlag); | |
| 471 } | 470 } |
| 472 if (!canEmbed(face)) { | 471 if (!canEmbed(face)) { |
| 473 info->fFlags = SkTBitOr<SkAdvancedTypefaceMetrics::FontFlags>( | 472 info->fFlags |= SkAdvancedTypefaceMetrics::kNotEmbeddable_FontFlag; |
| 474 info->fFlags, | |
| 475 SkAdvancedTypefaceMetrics::kNotEmbeddable_FontFlag); | |
| 476 } | 473 } |
| 477 if (!canSubset(face)) { | 474 if (!canSubset(face)) { |
| 478 info->fFlags = SkTBitOr<SkAdvancedTypefaceMetrics::FontFlags>( | 475 info->fFlags |= SkAdvancedTypefaceMetrics::kNotSubsettable_FontFlag; |
| 479 info->fFlags, | |
| 480 SkAdvancedTypefaceMetrics::kNotSubsettable_FontFlag); | |
| 481 } | 476 } |
| 482 info->fLastGlyphID = face->num_glyphs - 1; | 477 info->fLastGlyphID = face->num_glyphs - 1; |
| 483 info->fEmSize = 1000; | 478 info->fEmSize = 1000; |
| 484 | 479 |
| 485 const char* fontType = FT_Get_X11_Font_Format(face); | 480 const char* fontType = FT_Get_X11_Font_Format(face); |
| 486 if (strcmp(fontType, "Type 1") == 0) { | 481 if (strcmp(fontType, "Type 1") == 0) { |
| 487 info->fType = SkAdvancedTypefaceMetrics::kType1_Font; | 482 info->fType = SkAdvancedTypefaceMetrics::kType1_Font; |
| 488 } else if (strcmp(fontType, "CID Type 1") == 0) { | 483 } else if (strcmp(fontType, "CID Type 1") == 0) { |
| 489 info->fType = SkAdvancedTypefaceMetrics::kType1CID_Font; | 484 info->fType = SkAdvancedTypefaceMetrics::kType1CID_Font; |
| 490 } else if (strcmp(fontType, "CFF") == 0) { | 485 } else if (strcmp(fontType, "CFF") == 0) { |
| (...skipping 1280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1771 SkDEBUGF(("Requested font axis not found: %s '%c%c%c%c'\n", | 1766 SkDEBUGF(("Requested font axis not found: %s '%c%c%c%c'\n", |
| 1772 name.c_str(), | 1767 name.c_str(), |
| 1773 (skTag >> 24) & 0xFF, | 1768 (skTag >> 24) & 0xFF, |
| 1774 (skTag >> 16) & 0xFF, | 1769 (skTag >> 16) & 0xFF, |
| 1775 (skTag >> 8) & 0xFF, | 1770 (skTag >> 8) & 0xFF, |
| 1776 (skTag) & 0xFF)); | 1771 (skTag) & 0xFF)); |
| 1777 } | 1772 } |
| 1778 } | 1773 } |
| 1779 ) | 1774 ) |
| 1780 } | 1775 } |
| OLD | NEW |