• Fredrik Söderquist's avatar
    [PE] Fix text selection of <svg:text> subject to 'textLength' · 7517ac4a
    Fredrik Söderquist authored
    With 'textLength' and 'lengthAdjust' with the value 'spacingAndGlyphs',
    each SVGTextFragment is subject to an additional scale factor that
    stretches the glyphs along the x- or y-axis.
    This scale factor was not (any longer) taken into account by
    SVGInlineTextBox::OffsetForPositionInFragment, which resulted in the
    incorrect offset being calculcated.
    Apply the (inverse) length_adjust_scale from SVGTextFragment before
    querying the font for an offset.
    
    Remove the |include_partial_glyphs| argument from
    SVGInlineTextBox::OffsetForPositionInFragment since it's always true,
    and also use 'float' rather LayoutUnit for the position.
    Remove the dead |horizontal_glyph_stretch_| member variable from TextRun
    since it's no longer used (since the simple shaper path was removed.)
    
    Bug: 793075
    Change-Id: Ia7d369d914f5afd87d198b7b21077e180fc8bc59
    Reviewed-on: https://chromium-review.googlesource.com/824162
    Commit-Queue: Fredrik Söderquist <fs@opera.com>
    Reviewed-by: default avatarStephen Chenney <schenney@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#523787}
    7517ac4a
TextRun.h 9.78 KB