diff options
author | Ben Wagner <bungeman@google.com> | 2017-07-27 10:45:29 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-07-27 21:30:45 +0000 |
commit | 713195071dc7bdeddec2d1c9fab9b3720f049f07 (patch) | |
tree | 1bc2d47ec9e66f81a14d626eb5ad8185dbecca27 /src/svg | |
parent | 23890a9ac89005a15967fe8af8aaafc0edda5e32 (diff) |
Remove internal use of SkTypeface::Style.
Change-Id: I71cf04b12be95a54b7fb47d048ba1f8672ed9a8f
Reviewed-on: https://skia-review.googlesource.com/27760
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'src/svg')
-rw-r--r-- | src/svg/SkSVGDevice.cpp | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/svg/SkSVGDevice.cpp b/src/svg/SkSVGDevice.cpp index a1cb38ec29..904a9a6ea0 100644 --- a/src/svg/SkSVGDevice.cpp +++ b/src/svg/SkSVGDevice.cpp @@ -546,12 +546,27 @@ void SkSVGDevice::AutoElement::addTextAttributes(const SkPaint& paint) { sk_sp<SkTypeface> tface(paint.getTypeface() ? paint.refTypeface() : SkTypeface::MakeDefault()); SkASSERT(tface); - SkTypeface::Style style = tface->style(); - if (style & SkTypeface::kItalic) { + SkFontStyle style = tface->fontStyle(); + if (style.slant() == SkFontStyle::kItalic_Slant) { this->addAttribute("font-style", "italic"); - } - if (style & SkTypeface::kBold) { - this->addAttribute("font-weight", "bold"); + } else if (style.slant() == SkFontStyle::kOblique_Slant) { + this->addAttribute("font-style", "oblique"); + } + int weightIndex = (SkTPin(style.weight(), 100, 900) - 50) / 100; + if (weightIndex != 3) { + static constexpr const char* weights[] = { + "100", "200", "300", "normal", "400", "500", "600", "bold", "800", "900" + }; + this->addAttribute("font-weight", weights[weightIndex]); + } + int stretchIndex = style.width() - 1; + if (stretchIndex != 4) { + static constexpr const char* stretches[] = { + "ultra-condensed", "extra-condensed", "condensed", "semi-condensed", + "normal", + "semi-expanded", "expanded", "extra-expanded", "ultra-expanded" + }; + this->addAttribute("font-stretch", stretches[stretchIndex]); } sk_sp<SkTypeface::LocalizedStrings> familyNameIter(tface->createFamilyNameIterator()); |