| Index: src/svg/SkSVGDevice.cpp
|
| diff --git a/src/svg/SkSVGDevice.cpp b/src/svg/SkSVGDevice.cpp
|
| index 4b9f48983296837c24b6ea9e2838d84215e187d0..af05d44f882ffe195dfaac72f6d77dc80e0128a2 100644
|
| --- a/src/svg/SkSVGDevice.cpp
|
| +++ b/src/svg/SkSVGDevice.cpp
|
| @@ -458,14 +458,6 @@ void SkSVGDevice::AutoElement::addPathAttributes(const SkPath& path) {
|
| void SkSVGDevice::AutoElement::addTextAttributes(const SkPaint& paint) {
|
| this->addAttribute("font-size", paint.getTextSize());
|
|
|
| - SkTypeface::Style style = paint.getTypeface()->style();
|
| - if (style & SkTypeface::kItalic) {
|
| - this->addAttribute("font-style", "italic");
|
| - }
|
| - if (style & SkTypeface::kBold) {
|
| - this->addAttribute("font-weight", "bold");
|
| - }
|
| -
|
| if (const char* textAlign = svg_text_align(paint.getTextAlign())) {
|
| this->addAttribute("text-anchor", textAlign);
|
| }
|
| @@ -473,7 +465,17 @@ void SkSVGDevice::AutoElement::addTextAttributes(const SkPaint& paint) {
|
| SkString familyName;
|
| SkTHashSet<SkString, hash_family_string> familySet;
|
| SkAutoTUnref<const SkTypeface> tface(paint.getTypeface() ?
|
| - SkRef(paint.getTypeface()) : SkTypeface::RefDefault(style));
|
| + SkRef(paint.getTypeface()) : SkTypeface::RefDefault());
|
| +
|
| + SkASSERT(tface);
|
| + SkTypeface::Style style = tface->style();
|
| + if (style & SkTypeface::kItalic) {
|
| + this->addAttribute("font-style", "italic");
|
| + }
|
| + if (style & SkTypeface::kBold) {
|
| + this->addAttribute("font-weight", "bold");
|
| + }
|
| +
|
| SkAutoTUnref<SkTypeface::LocalizedStrings> familyNameIter(tface->createFamilyNameIterator());
|
| SkTypeface::LocalizedString familyString;
|
| while (familyNameIter->next(&familyString)) {
|
|
|