| Index: src/pdf/SkPDFDevice.cpp
|
| diff --git a/src/pdf/SkPDFDevice.cpp b/src/pdf/SkPDFDevice.cpp
|
| index 9b9b16b04e19f8ec6a02eae8db792d5eec2e537e..0dc8fef8ddf15a3049492043c58167f702a94f06 100644
|
| --- a/src/pdf/SkPDFDevice.cpp
|
| +++ b/src/pdf/SkPDFDevice.cpp
|
| @@ -1079,6 +1079,14 @@ void SkPDFDevice::internalDrawText(
|
| // making text unreadable (e.g. same text twice when using CSS shadows).
|
| return;
|
| }
|
| + NOT_IMPLEMENTED(srcPaint.isVerticalText(), false);
|
| + if (srcPaint.isVerticalText()) {
|
| + // Don't pretend we support drawing vertical text. It is not
|
| + // clear to me how to switch to "vertical writing" mode in PDF.
|
| + // Currently neither Chromium or Android set this flag.
|
| + // https://bug.skia.org/5665
|
| + return;
|
| + }
|
| SkPaint paint = calculate_text_paint(srcPaint);
|
| replace_srcmode_on_opaque_paint(&paint);
|
| if (!paint.getTypeface()) {
|
| @@ -1126,7 +1134,6 @@ void SkPDFDevice::internalDrawText(
|
| SkAutoGlyphCache glyphCache(paint, nullptr, nullptr);
|
|
|
| SkPaint::Align alignment = paint.getTextAlign();
|
| - bool verticalText = paint.isVerticalText();
|
| if (defaultPositioning && alignment != SkPaint::kLeft_Align) {
|
| SkScalar advance{0};
|
| for (int i = 0; i < glyphCount; ++i) {
|
| @@ -1134,7 +1141,7 @@ void SkPDFDevice::internalDrawText(
|
| }
|
| SkScalar m = alignment == SkPaint::kCenter_Align
|
| ? 0.5f * advance : advance;
|
| - offset -= verticalText ? SkPoint{0, m} : SkPoint{m, 0};
|
| + offset -= SkPoint{m, 0};
|
| }
|
| ScopedContentEntry content(this, d, paint, true);
|
| if (!content.entry()) {
|
| @@ -1200,7 +1207,7 @@ void SkPDFDevice::internalDrawText(
|
| if (alignment != SkPaint::kLeft_Align) {
|
| SkScalar m = alignment == SkPaint::kCenter_Align
|
| ? 0.5f * advance : advance;
|
| - xy -= verticalText ? SkPoint{0, m} : SkPoint{m, 0};
|
| + xy -= SkPoint{m, 0};
|
| }
|
| (void)font->glyphsToPDFFontEncoding(glyphs, 1);
|
| glyphPositioner.writeGlyph(xy.x(), xy.y(), advance, *glyphs);
|
|
|