aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/svg
diff options
context:
space:
mode:
authorGravatar Ben Wagner <bungeman@google.com>2017-07-27 10:45:29 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-07-27 21:30:45 +0000
commit713195071dc7bdeddec2d1c9fab9b3720f049f07 (patch)
tree1bc2d47ec9e66f81a14d626eb5ad8185dbecca27 /src/svg
parent23890a9ac89005a15967fe8af8aaafc0edda5e32 (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.cpp25
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());