| Differences between
and this patch
- a/LayoutTests/ChangeLog +12 lines
Lines 1-3 a/LayoutTests/ChangeLog_sec1
1
2019-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3
        [FreeType] Incorrect application of glyph positioning in the Y direction
4
        https://bugs.webkit.org/show_bug.cgi?id=161493
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Rebaseline fast/text/international/hebrew-vowels.html.
9
10
        * platform/gtk/fast/text/international/hebrew-vowels-expected.png:
11
        * platform/gtk/fast/text/international/hebrew-vowels-expected.txt:
12
1
2019-03-26  Chris Dumez  <cdumez@apple.com>
13
2019-03-26  Chris Dumez  <cdumez@apple.com>
2
14
3
        Add basic layout test coverage for File Picker on iOS
15
        Add basic layout test coverage for File Picker on iOS
- a/LayoutTests/platform/gtk/fast/text/international/hebrew-vowels-expected.txt -4 / +4 lines
Lines 11-20 layer at (0,0) size 800x600 a/LayoutTests/platform/gtk/fast/text/international/hebrew-vowels-expected.txt_sec1
11
        RenderText {#text} at (0,0) size 458x17
11
        RenderText {#text} at (0,0) size 458x17
12
          text run at (0,0) width 458: "The vowel (two vertical dots) should be centered beneath the main letter."
12
          text run at (0,0) width 458: "The vowel (two vertical dots) should be centered beneath the main letter."
13
      RenderBlock {DIV} at (0,86) size 784x91
13
      RenderBlock {DIV} at (0,86) size 784x91
14
        RenderText {#text} at (33,1) size 67x88
14
        RenderText {#text} at (57,1) size 66x88
15
          text run at (33,1) width 67 RTL: "\x{5E1}\x{5B0} "
15
          text run at (57,1) width 66 RTL: "\x{5E1}\x{5B0} "
16
        RenderText {#text} at (0,1) size 34x88
16
        RenderText {#text} at (0,1) size 57x88
17
          text run at (0,1) width 34 RTL: "\x{5E9}\x{5B0}"
17
          text run at (0,1) width 57 RTL: "\x{5E9}\x{5B0}"
18
        RenderText {#text} at (0,0) size 0x0
18
        RenderText {#text} at (0,0) size 0x0
19
      RenderBlock {HR} at (0,185) size 784x2 [border: (1px inset #000000)]
19
      RenderBlock {HR} at (0,185) size 784x2 [border: (1px inset #000000)]
20
      RenderBlock {P} at (0,203) size 784x18
20
      RenderBlock {P} at (0,203) size 784x18
- a/Source/WebCore/ChangeLog +16 lines
Lines 1-3 a/Source/WebCore/ChangeLog_sec1
1
2019-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
2
3
        [FreeType] Incorrect application of glyph positioning in the Y direction
4
        https://bugs.webkit.org/show_bug.cgi?id=161493
5
6
        Reviewed by NOBODY (OOPS!).
7
8
        Use the first glyph origin as the initial advance of every complex text run.
9
10
        * platform/graphics/cairo/FontCairo.cpp:
11
        (WebCore::FontCascade::drawGlyphs): Update the yOffset using the height advance.
12
        * platform/graphics/cairo/GraphicsContextImplCairo.cpp:
13
        (WebCore::GraphicsContextImplCairo::drawGlyphs): Ditto.
14
        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
15
        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Set the initial advance.
16
1
2019-03-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
17
2019-03-26  Said Abou-Hallawa  <sabouhallawa@apple.com>
2
18
3
        Unreviewed Windows build fix
19
        Unreviewed Windows build fix
- a/Source/WebCore/platform/graphics/cairo/FontCairo.cpp +1 lines
Lines 65-70 void FontCascade::drawGlyphs(GraphicsContext& context, const Font& font, const G a/Source/WebCore/platform/graphics/cairo/FontCairo.cpp_sec1
65
        for (size_t i = 0; i < numGlyphs; ++i) {
65
        for (size_t i = 0; i < numGlyphs; ++i) {
66
            glyphs[i] = { glyphsData[i], xOffset, yOffset };
66
            glyphs[i] = { glyphsData[i], xOffset, yOffset };
67
            xOffset += advances[i].width();
67
            xOffset += advances[i].width();
68
            yOffset -= advances[i].height();
68
        }
69
        }
69
    }
70
    }
70
71
- a/Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.cpp +1 lines
Lines 248-253 void GraphicsContextImplCairo::drawGlyphs(const Font& font, const GlyphBuffer& g a/Source/WebCore/platform/graphics/cairo/GraphicsContextImplCairo.cpp_sec1
248
        for (size_t i = 0; i < numGlyphs; ++i) {
248
        for (size_t i = 0; i < numGlyphs; ++i) {
249
            glyphs[i] = { glyphsData[i], xOffset, yOffset };
249
            glyphs[i] = { glyphsData[i], xOffset, yOffset };
250
            xOffset += advances[i].width();
250
            xOffset += advances[i].width();
251
            yOffset -= advances[i].height();
251
        }
252
        }
252
    }
253
    }
253
254
- a/Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp +3 lines
Lines 168-173 ComplexTextController::ComplexTextRun::ComplexTextRun(hb_buffer_t* buffer, const a/Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp_sec1
168
        float advanceX = harfBuzzPositionToFloat(glyphPositions[i].x_advance);
168
        float advanceX = harfBuzzPositionToFloat(glyphPositions[i].x_advance);
169
        float advanceY = harfBuzzPositionToFloat(glyphPositions[i].y_advance);
169
        float advanceY = harfBuzzPositionToFloat(glyphPositions[i].y_advance);
170
170
171
        if (!i)
172
            m_initialAdvance = { offsetX, -offsetY };
173
171
        m_glyphs[i] = glyph;
174
        m_glyphs[i] = glyph;
172
        m_baseAdvances[i] = { advanceX, advanceY };
175
        m_baseAdvances[i] = { advanceX, advanceY };
173
        m_glyphOrigins[i] = { offsetX, offsetY };
176
        m_glyphOrigins[i] = { offsetX, offsetY };

Return to Bug 161493