Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Unified Diff: src/pdf/SkPDFDevice.cpp

Issue 2274153002: SkPDF: vertical writing: draw nothing (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698