SkPDF: fix fTextScaleX error

BUG=skia:7315
Change-Id: Ic613cb6fb8faed5b0840db4f500940bd6823de66
Reviewed-on: https://skia-review.googlesource.com/76981
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
This commit is contained in:
Hal Canary 2017-11-28 15:10:13 -05:00 committed by Skia Commit-Bot
parent 725d9dbfa5
commit 9b491b23bb
3 changed files with 29 additions and 1 deletions

27
gm/text_scale_skew.cpp Normal file
View File

@ -0,0 +1,27 @@
/*
* Copyright 2017 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "gm.h"
// http://bug.skia.org/7315
DEF_SIMPLE_GM(text_scale_skew, canvas, 256, 128) {
SkPaint p;
p.setTextSize(18.0f);
p.setAntiAlias(true);
p.setTextAlign(SkPaint::kCenter_Align);
float y = 10.0f;
for (float scale : { 0.5f, 0.71f, 1.0f, 1.41f, 2.0f }) {
p.setTextScaleX(scale);
y += p.getFontSpacing();
float x = 50.0f;
for (float skew : { -0.5f, 0.0f, 0.5f }) {
p.setTextSkewX(skew);
canvas->drawString("Skia", x, y, p);
x += 78.0f;
}
}
}

View File

@ -306,6 +306,7 @@ gm_sources = [
"$_gm/textblobtransforms.cpp",
"$_gm/textblobuseaftergpufree.cpp",
"$_gm/texteffects.cpp",
"$_gm/text_scale_skew.cpp",
"$_gm/texturedomaineffect.cpp",
"$_gm/thinconcavepaths.cpp",
"$_gm/thinrects.cpp",

View File

@ -414,7 +414,7 @@ void GraphicStackState::updateDrawingState(const SkPDFDevice::GraphicStateEntry&
if (state.fTextScaleX) {
if (state.fTextScaleX != currentEntry()->fTextScaleX) {
SkScalar pdfScale = state.fTextScaleX * 1000;
SkScalar pdfScale = state.fTextScaleX * 100;
SkPDFUtils::AppendScalar(pdfScale, fContentStream);
fContentStream->writeText(" Tz\n");
currentEntry()->fTextScaleX = state.fTextScaleX;