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

Unified Diff: Source/core/paint/InlineTextBoxPainter.cpp

Issue 799123003: text-combine should scale rather than fall back to none when wide (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: All comments fixed Created 5 years, 11 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
Index: Source/core/paint/InlineTextBoxPainter.cpp
diff --git a/Source/core/paint/InlineTextBoxPainter.cpp b/Source/core/paint/InlineTextBoxPainter.cpp
index da82452c85bb6e9c7b73f535b654df63a13fcdee..7ba8e9e40235341ad97756ccc93c1413fbd9593b 100644
--- a/Source/core/paint/InlineTextBoxPainter.cpp
+++ b/Source/core/paint/InlineTextBoxPainter.cpp
@@ -107,11 +107,21 @@ void InlineTextBoxPainter::paint(const PaintInfo& paintInfo, const LayoutPoint&
boxOrigin.move(adjustedPaintOffset.x().toFloat(), adjustedPaintOffset.y().toFloat());
FloatRect boxRect(boxOrigin, FloatSize(m_inlineTextBox.logicalWidth(), m_inlineTextBox.logicalHeight()));
- RenderCombineText* combinedText = styleToUse->hasTextCombine() && m_inlineTextBox.renderer().isCombineText() && toRenderCombineText(m_inlineTextBox.renderer()).isCombined() ? &toRenderCombineText(m_inlineTextBox.renderer()) : 0;
-
- bool shouldRotate = !m_inlineTextBox.isHorizontal() && !combinedText;
- if (shouldRotate)
- context->concatCTM(TextPainter::rotation(boxRect, TextPainter::Clockwise));
+ bool shouldRotate = false;
+ RenderCombineText* combinedText = nullptr;
+ if (!m_inlineTextBox.isHorizontal()) {
+ if (styleToUse->hasTextCombine() && m_inlineTextBox.renderer().isCombineText()) {
+ combinedText = &toRenderCombineText(m_inlineTextBox.renderer());
+ if (!combinedText->isCombined())
+ combinedText = nullptr;
+ }
+ if (combinedText) {
+ combinedText->updateFont();
+ } else {
+ shouldRotate = true;
+ context->concatCTM(TextPainter::rotation(boxRect, TextPainter::Clockwise));
+ }
+ }
// Determine whether or not we have composition underlines to draw.
bool containsComposition = m_inlineTextBox.renderer().node() && m_inlineTextBox.renderer().frame()->inputMethodController().compositionNode() == m_inlineTextBox.renderer().node();

Powered by Google App Engine
This is Rietveld 408576698