Tatechuyoko following ruby is drawn too far to the right
Created attachment 264843 [details] Patch
Comment on attachment 264843 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=264843&action=review > Source/WebCore/rendering/RenderBlockLineLayout.cpp:721 > + return ForbidLeadingExpansion | ForbidTrailingExpansion; This actually isn't quite right, for two reasons: 1. There may be a span inside the tatechuyoko 2. If an expansion opportunity is found inside the tatechuyoko, it should be forced to its neighbor (similar to ruby).
Created attachment 264845 [details] Patch
<rdar://problem/22728382>
Comment on attachment 264845 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=264845&action=review > Source/WebCore/rendering/RenderBlockLineLayout.cpp:783 > + if (FontCascade::leadingExpansionOpportunity(downcast<RenderText>(previousRun->renderer()).stringView(), previousRun->box()->direction())) { Trailing
Comment on attachment 264845 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=264845&action=review > Source/WebCore/rendering/RenderBlockLineLayout.cpp:801 > + ASSERT(textBox.renderer().style().textCombine() == TextCombineHorizontal); > + if (nextRun && nextRun->renderer().style().textCombine() == TextCombineNone && textBox.renderer().style().collapseWhiteSpace()) { > + ASSERT(!setTrailingExpansion); > + setTrailingExpansion = true; > + result |= ForbidTrailingExpansion; > + } > + if (previousRun && previousRun->renderer().style().textCombine() == TextCombineNone && textBox.renderer().style().collapseWhiteSpace()) { > + ASSERT(!setLeadingExpansion); > + setLeadingExpansion = true; > + result |= ForbidLeadingExpansion; > + } Turns out this is all dead code, since tatechuyoko, once combined, is modeled as the Object Replacement Character (U+FFFC), which will never have any expansion opportunities either inside it or directly adjacent to it. The first patch works just as well as this one, and is much simpler.
Created attachment 264920 [details] Patch for committing
Committed r192120: <http://trac.webkit.org/changeset/192120>