Changeset 125578 in webkit


Ignore:
Timestamp:
Aug 14, 2012 10:36:45 AM (12 years ago)
Author:
robert@webkit.org
Message:

CSS 2.1 failure: Word-spacing affects each space and non-breaking space
https://bugs.webkit.org/show_bug.cgi?id=89826

Reviewed by Eric Seidel.

Source/WebCore:

Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.

Test: fast/css/word-spacing-characters.html

fast/css/word-spacing-characters-complex-text.html
fast/css/word-spacing-characters-linebreak.html
css2.1/20110323/word-spacing-characters-002.htm
css2.1/20110323/word-spacing-characters-003.htm
css2.1/20110323/word-spacing-remove-space-001.htm
css2.1/20110323/word-spacing-remove-space-002.htm
css2.1/20110323/word-spacing-remove-space-003.htm
css2.1/20110323/word-spacing-remove-space-004.htm
css2.1/20110323/word-spacing-remove-space-005.htm
css2.1/20110323/word-spacing-remove-space-006.htm
css2.1/20110323/c541-word-sp-001.htm
css2.1/20110323/c541-word-sp-000.htm

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advance): All spaces (ordinary space or  ) get word-spacing added, even

if they are consecutive.

  • platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:

(WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use

m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
find it specified anywhere.

  • platform/graphics/harfbuzz/HarfBuzzShaperBase.h:

(WebCore::HarfBuzzShaperBase::isCodepointSpace):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html

LayoutTests:

  • css2.1/20110323/c541-word-sp-000-expected.html: Added.
  • css2.1/20110323/c541-word-sp-000.htm: Renamed from LayoutTests/css2.1/t1604-c541-word-sp-00-b-a.html.
  • css2.1/20110323/c541-word-sp-001-expected.html: Added.
  • css2.1/20110323/c541-word-sp-001.htm: Added. Replaces t1604-c541-word-sp-01-b-a.html below.
  • css2.1/20110323/word-spacing-characters-002-expected.html: Added.
  • css2.1/20110323/word-spacing-characters-002.htm: Added.
  • css2.1/20110323/word-spacing-characters-003-expected.html: Added.
  • css2.1/20110323/word-spacing-characters-003.htm: Added. These passed already.
  • css2.1/20110323/word-spacing-remove-space-001-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-001.htm: Added.
  • css2.1/20110323/word-spacing-remove-space-002-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-002.htm: Added.
  • css2.1/20110323/word-spacing-remove-space-003-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-003.htm: Added.
  • css2.1/20110323/word-spacing-remove-space-004-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-004.htm: Added.
  • css2.1/20110323/word-spacing-remove-space-005-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-005.htm: Added.
  • css2.1/20110323/word-spacing-remove-space-006-expected.html: Added.
  • css2.1/20110323/word-spacing-remove-space-006.htm: Added. These 6 tests are fixed by this patch.
  • css2.1/t1604-c541-word-sp-01-b-a.html: Removed. Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Jan/0029.html t1604-c541-word-sp-01-b-a.htm is now invalid and has been replaced by c541-word-sp-001.htm above.
  • fast/css/word-spacing-characters-complex-text-expected.html: Added.
  • fast/css/word-spacing-characters-complex-text.html: Added. This is a complex text version of word-spacing-characters-001.htm
  • fast/css/word-spacing-characters-expected.html: Added.
  • fast/css/word-spacing-characters.html: Added. The original test (word-spacing-characters-001.htm) has two spaces between the non-breaking spaces in the second last case. This causes WebKit to split the text into two-runs and drop the second of the two spaces. This entire test can be replaced with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.
  • fast/css/word-spacing-linebreak-expected.html: Added.
  • fast/css/word-spacing-linebreak.html: Added.
  • platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/chromium-linux/fast/css/word-space-extra-expected.png:
  • platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
  • platform/chromium-win/fast/css/word-space-extra-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
  • platform/gtk/TestExpectations:
  • platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
  • platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
  • platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
  • platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
  • platform/win/Skipped:
Location:
trunk
Files:
25 added
27 deleted
14 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r125575 r125578  
     12012-06-24  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: Word-spacing affects each space and non-breaking space
     4        https://bugs.webkit.org/show_bug.cgi?id=89826
     5
     6        Reviewed by Eric Seidel.
     7
     8        * css2.1/20110323/c541-word-sp-000-expected.html: Added.
     9        * css2.1/20110323/c541-word-sp-000.htm: Renamed from LayoutTests/css2.1/t1604-c541-word-sp-00-b-a.html.
     10        * css2.1/20110323/c541-word-sp-001-expected.html: Added.
     11        * css2.1/20110323/c541-word-sp-001.htm: Added.
     12          Replaces t1604-c541-word-sp-01-b-a.html below.
     13        * css2.1/20110323/word-spacing-characters-002-expected.html: Added.
     14        * css2.1/20110323/word-spacing-characters-002.htm: Added.
     15        * css2.1/20110323/word-spacing-characters-003-expected.html: Added.
     16        * css2.1/20110323/word-spacing-characters-003.htm: Added.
     17          These passed already.
     18        * css2.1/20110323/word-spacing-remove-space-001-expected.html: Added.
     19        * css2.1/20110323/word-spacing-remove-space-001.htm: Added.
     20        * css2.1/20110323/word-spacing-remove-space-002-expected.html: Added.
     21        * css2.1/20110323/word-spacing-remove-space-002.htm: Added.
     22        * css2.1/20110323/word-spacing-remove-space-003-expected.html: Added.
     23        * css2.1/20110323/word-spacing-remove-space-003.htm: Added.
     24        * css2.1/20110323/word-spacing-remove-space-004-expected.html: Added.
     25        * css2.1/20110323/word-spacing-remove-space-004.htm: Added.
     26        * css2.1/20110323/word-spacing-remove-space-005-expected.html: Added.
     27        * css2.1/20110323/word-spacing-remove-space-005.htm: Added.
     28        * css2.1/20110323/word-spacing-remove-space-006-expected.html: Added.
     29        * css2.1/20110323/word-spacing-remove-space-006.htm: Added.
     30          These 6 tests are fixed by this patch.
     31        * css2.1/t1604-c541-word-sp-01-b-a.html: Removed.
     32          Per http://lists.w3.org/Archives/Public/public-css-testsuite/2010Jan/0029.html t1604-c541-word-sp-01-b-a.htm is
     33          now invalid and has been replaced by c541-word-sp-001.htm above.
     34        * fast/css/word-spacing-characters-complex-text-expected.html: Added.
     35        * fast/css/word-spacing-characters-complex-text.html: Added.
     36          This is a complex text version of word-spacing-characters-001.htm
     37        * fast/css/word-spacing-characters-expected.html: Added.
     38        * fast/css/word-spacing-characters.html: Added.
     39          The original test (word-spacing-characters-001.htm) has two spaces between the non-breaking spaces in the second last case.
     40          This causes WebKit to split the text into two-runs and drop the second of the two spaces. This entire test can be replaced
     41          with word-spacing-characters-001.htm from the css test suite when https://bugs.webkit.org/show_bug.cgi?id=89827 is fixed.
     42        * fast/css/word-spacing-linebreak-expected.html: Added.
     43        * fast/css/word-spacing-linebreak.html: Added.
     44        * platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     45        * platform/chromium-linux/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     46        * platform/chromium-linux/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     47        * platform/chromium-linux/fast/css/word-space-extra-expected.png:
     48        * platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     49        * platform/chromium-mac-snowleopard/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     50        * platform/chromium-mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     51        * platform/chromium-mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     52        * platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     53        * platform/chromium-win/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     54        * platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     55        * platform/chromium-win/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
     56        * platform/chromium-win/fast/css/word-space-extra-expected.txt:
     57        * platform/chromium/TestExpectations:
     58        * platform/efl/TestExpectations:
     59        * platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     60        * platform/efl/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     61        * platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     62        * platform/efl/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
     63        * platform/gtk/TestExpectations:
     64        * platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     65        * platform/gtk/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     66        * platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     67        * platform/gtk/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
     68        * platform/mac/TestExpectations:
     69        * platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.png: Removed.
     70        * platform/mac/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     71        * platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     72        * platform/mac/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
     73        * platform/qt/TestExpectations:
     74        * platform/qt/css2.1/t1604-c541-word-sp-00-b-a-expected.txt: Removed.
     75        * platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.png: Removed.
     76        * platform/qt/css2.1/t1604-c541-word-sp-01-b-a-expected.txt: Removed.
     77        * platform/win/Skipped:
     78
    1792012-08-14  Christophe Dumez  <christophe.dumez@intel.com>
    280
  • trunk/LayoutTests/css2.1/20110323/c541-word-sp-000.htm

    • Property svn:eol-style changed from native to LF
    r125577 r125578  
    1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
     1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    22<html>
    33 <head>
    4   <title>CSS 2.1 Test Suite: word-spacing</title>
     4  <title>CSS Test: word-spacing</title>
     5  <meta name="flags" content="ahem">
     6  <link rel="help" href="http://www.w3.org/TR/REC-CSS1#word-spacing">
     7  <link rel="author" title="CSS1 Test Suite Contributors" href="http://www.w3.org/Style/CSS/Test/CSS1/current/tsack.html">
     8  <link rel="author" title="Ian Hickson" href="mailto:ian@hixie.ch">
    59  <style type="text/css">
    610   div { font: 24px/1 Ahem; width: 18em; background: yellow; color: aqua; }
     
    1822 <body>
    1923  <p>There should be a stripy pattern of yellow and aqua below (each vertical stripe should be straight and unbroken).</p>
    20   <div class="test">x  xx  xxx  xxxx</div>
    21   <div class="test">x  xx  xxx  xxxx</div>
    22   <div class="test">x  xx  xxx  xxxx</div>
     24  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
     25  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
     26  <div class="test">x&nbsp;&nbsp;xx&nbsp;&nbsp;xxx&nbsp;&nbsp;xxxx</div>
    2327  <div class="one"> x xx xxx xxxx </div>
    2428  <div class="two"> x xx xxx xxxx </div>
  • trunk/LayoutTests/platform/chromium-win/fast/css/word-space-extra-expected.txt

    r125437 r125578  
    1 layer at (0,0) size 2026x2576
     1layer at (0,0) size 2066x2576
    22  RenderView at (0,0) size 785x585
    33layer at (0,0) size 785x2576
     
    77        RenderText {#text} at (0,0) size 138x26
    88          text run at (0,0) width 138: "word-spacing"
    9       RenderBlock (floating) {PRE} at (0,59) size 1224x184
    10         RenderBlock {H3} at (0,15) size 1224x18
     9      RenderBlock (floating) {PRE} at (0,59) size 1264x184
     10        RenderBlock {H3} at (0,15) size 1264x18
    1111          RenderText {#text} at (0,0) size 204x17
    1212            text run at (0,0) width 204: "In a floated pre"
    13         RenderBlock (anonymous) at (0,47) size 1224x136
    14           RenderText {#text} at (0,0) size 220x33
     13        RenderBlock (anonymous) at (0,47) size 1264x136
     14          RenderText {#text} at (0,0) size 260x33
    1515            text run at (0,0) width 0: " "
    16             text run at (0,17) width 220: "Word   spacing test "
     16            text run at (0,17) width 260: "Word   spacing test "
    1717          RenderInline {EM} at (0,0) size 24x17
    18             RenderText {#text} at (220,16) size 24x17
    19               text run at (220,16) width 24: "for"
    20           RenderText {#text} at (264,17) size 8x16
    21             text run at (264,17) width 8: " "
     18            RenderText {#text} at (260,16) size 24x17
     19              text run at (260,16) width 24: "for"
     20          RenderText {#text} at (304,17) size 8x16
     21            text run at (304,17) width 8: " "
    2222          RenderInline {STRONG} at (0,0) size 64x16
    23             RenderText {#text} at (272,17) size 64x16
    24               text run at (272,17) width 64: "elements"
    25           RenderText {#text} at (356,17) size 8x16
    26             text run at (356,17) width 8: " "
    27           RenderInline {TT} at (0,0) size 48x16
    28             RenderText {#text} at (364,17) size 48x16
    29               text run at (364,17) width 48: "within"
    30           RenderText {#text} at (432,17) size 584x33
    31             text run at (432,17) width 132: " elements too."
    32             text run at (584,17) width 0: " "
    33             text run at (0,34) width 220: "Word   spacing test "
     23            RenderText {#text} at (312,17) size 64x16
     24              text run at (312,17) width 64: "elements"
     25          RenderText {#text} at (396,17) size 8x16
     26            text run at (396,17) width 8: " "
     27          RenderInline {TT} at (0,0) size 48x16
     28            RenderText {#text} at (404,17) size 48x16
     29              text run at (404,17) width 48: "within"
     30          RenderText {#text} at (472,17) size 624x33
     31            text run at (472,17) width 132: " elements too."
     32            text run at (624,17) width 0: " "
     33            text run at (0,34) width 260: "Word   spacing test "
    3434          RenderInline {EM} at (0,0) size 24x17
    35             RenderText {#text} at (220,33) size 24x17
    36               text run at (220,33) width 24: "for"
    37           RenderText {#text} at (264,34) size 8x16
    38             text run at (264,34) width 8: " "
     35            RenderText {#text} at (260,33) size 24x17
     36              text run at (260,33) width 24: "for"
     37          RenderText {#text} at (304,34) size 8x16
     38            text run at (304,34) width 8: " "
    3939          RenderInline {STRONG} at (0,0) size 64x16
    40             RenderText {#text} at (272,34) size 64x16
    41               text run at (272,34) width 64: "elements"
    42           RenderText {#text} at (356,34) size 8x16
    43             text run at (356,34) width 8: " "
    44           RenderInline {TT} at (0,0) size 48x16
    45             RenderText {#text} at (364,34) size 48x16
    46               text run at (364,34) width 48: "within"
    47           RenderText {#text} at (432,34) size 100x16
    48             text run at (432,34) width 100: " elements "
    49           RenderText {#text} at (532,34) size 1032x33
    50             text run at (532,34) width 480: " too. (with comment between elements and too)"
    51             text run at (1032,34) width 0: " "
    52             text run at (0,51) width 220: "Word   spacing test "
     40            RenderText {#text} at (312,34) size 64x16
     41              text run at (312,34) width 64: "elements"
     42          RenderText {#text} at (396,34) size 8x16
     43            text run at (396,34) width 8: " "
     44          RenderInline {TT} at (0,0) size 48x16
     45            RenderText {#text} at (404,34) size 48x16
     46              text run at (404,34) width 48: "within"
     47          RenderText {#text} at (472,34) size 100x16
     48            text run at (472,34) width 100: " elements "
     49          RenderText {#text} at (572,34) size 1072x33
     50            text run at (572,34) width 480: " too. (with comment between elements and too)"
     51            text run at (1072,34) width 0: " "
     52            text run at (0,51) width 260: "Word   spacing test "
    5353          RenderInline {EM} at (0,0) size 24x17
    54             RenderText {#text} at (220,50) size 24x17
    55               text run at (220,50) width 24: "for"
    56           RenderText {#text} at (264,51) size 8x16
    57             text run at (264,51) width 8: " "
     54            RenderText {#text} at (260,50) size 24x17
     55              text run at (260,50) width 24: "for"
     56          RenderText {#text} at (304,51) size 8x16
     57            text run at (304,51) width 8: " "
    5858          RenderInline {STRONG} at (0,0) size 64x16
    59             RenderText {#text} at (272,51) size 64x16
    60               text run at (272,51) width 64: "elements"
    61           RenderText {#text} at (356,51) size 8x16
    62             text run at (356,51) width 8: " "
    63           RenderInline {TT} at (0,0) size 48x16
    64             RenderText {#text} at (364,51) size 48x16
    65               text run at (364,51) width 48: "within"
    66           RenderText {#text} at (432,51) size 72x16
    67             text run at (432,51) width 72: " elements"
    68           RenderText {#text} at (524,51) size 1260x33
    69             text run at (524,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
    70             text run at (1260,51) width 0: " "
    71             text run at (0,68) width 220: "Word   spacing test "
     59            RenderText {#text} at (312,51) size 64x16
     60              text run at (312,51) width 64: "elements"
     61          RenderText {#text} at (396,51) size 8x16
     62            text run at (396,51) width 8: " "
     63          RenderInline {TT} at (0,0) size 48x16
     64            RenderText {#text} at (404,51) size 48x16
     65              text run at (404,51) width 48: "within"
     66          RenderText {#text} at (472,51) size 72x16
     67            text run at (472,51) width 72: " elements"
     68          RenderText {#text} at (564,51) size 1300x33
     69            text run at (564,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
     70            text run at (1300,51) width 0: " "
     71            text run at (0,68) width 260: "Word   spacing test "
    7272          RenderInline {EM} at (0,0) size 24x17
    73             RenderText {#text} at (220,67) size 24x17
    74               text run at (220,67) width 24: "for"
    75           RenderText {#text} at (264,68) size 8x16
    76             text run at (264,68) width 8: " "
     73            RenderText {#text} at (260,67) size 24x17
     74              text run at (260,67) width 24: "for"
     75          RenderText {#text} at (304,68) size 8x16
     76            text run at (304,68) width 8: " "
    7777          RenderInline {STRONG} at (0,0) size 64x16
    78             RenderText {#text} at (272,68) size 64x16
    79               text run at (272,68) width 64: "elements"
    80           RenderText {#text} at (356,68) size 8x16
    81             text run at (356,68) width 8: " "
    82           RenderInline {TT} at (0,0) size 48x16
    83             RenderText {#text} at (364,68) size 48x16
    84               text run at (364,68) width 48: "within"
    85           RenderText {#text} at (432,68) size 100x16
    86             text run at (432,68) width 100: " elements "
    87           RenderText {#text} at (532,68) size 712x16
    88             text run at (532,68) width 692: "too. (with comment (no trailing space) between elements and too)"
    89             text run at (1244,68) width 0: " "
    90           RenderInline {SPAN} at (0,0) size 336x16
    91             RenderText {#text} at (0,85) size 220x16
    92               text run at (0,85) width 220: "Word   spacing test "
     78            RenderText {#text} at (312,68) size 64x16
     79              text run at (312,68) width 64: "elements"
     80          RenderText {#text} at (396,68) size 8x16
     81            text run at (396,68) width 8: " "
     82          RenderInline {TT} at (0,0) size 48x16
     83            RenderText {#text} at (404,68) size 48x16
     84              text run at (404,68) width 48: "within"
     85          RenderText {#text} at (472,68) size 100x16
     86            text run at (472,68) width 100: " elements "
     87          RenderText {#text} at (572,68) size 712x16
     88            text run at (572,68) width 692: "too. (with comment (no trailing space) between elements and too)"
     89            text run at (1284,68) width 0: " "
     90          RenderInline {SPAN} at (0,0) size 376x16
     91            RenderText {#text} at (0,85) size 260x16
     92              text run at (0,85) width 260: "Word   spacing test "
    9393            RenderInline {EM} at (0,0) size 24x17
    94               RenderText {#text} at (220,84) size 24x17
    95                 text run at (220,84) width 24: "for"
    96             RenderText {#text} at (264,85) size 8x16
    97               text run at (264,85) width 8: " "
     94              RenderText {#text} at (260,84) size 24x17
     95                text run at (260,84) width 24: "for"
     96            RenderText {#text} at (304,85) size 8x16
     97              text run at (304,85) width 8: " "
    9898            RenderInline {STRONG} at (0,0) size 64x16
    99               RenderText {#text} at (272,85) size 64x16
    100                 text run at (272,85) width 64: "elements"
    101           RenderText {#text} at (356,85) size 8x16
    102             text run at (356,85) width 8: " "
    103           RenderInline {TT} at (0,0) size 48x16
    104             RenderText {#text} at (364,85) size 48x16
    105               text run at (364,85) width 48: "within"
    106           RenderText {#text} at (432,85) size 1076x33
    107             text run at (432,85) width 624: " elements too. (with monospace font from Word to elements)"
    108             text run at (1076,85) width 0: " "
    109             text run at (0,102) width 220: "Word   spacing test "
     99              RenderText {#text} at (312,85) size 64x16
     100                text run at (312,85) width 64: "elements"
     101          RenderText {#text} at (396,85) size 8x16
     102            text run at (396,85) width 8: " "
     103          RenderInline {TT} at (0,0) size 48x16
     104            RenderText {#text} at (404,85) size 48x16
     105              text run at (404,85) width 48: "within"
     106          RenderText {#text} at (472,85) size 1116x33
     107            text run at (472,85) width 624: " elements too. (with monospace font from Word to elements)"
     108            text run at (1116,85) width 0: " "
     109            text run at (0,102) width 260: "Word   spacing test "
    110110          RenderInline {SPAN} at (0,0) size 192x16
    111111            RenderInline {EM} at (0,0) size 24x17
    112               RenderText {#text} at (220,101) size 24x17
    113                 text run at (220,101) width 24: "for"
    114             RenderText {#text} at (264,102) size 8x16
    115               text run at (264,102) width 8: " "
     112              RenderText {#text} at (260,101) size 24x17
     113                text run at (260,101) width 24: "for"
     114            RenderText {#text} at (304,102) size 8x16
     115              text run at (304,102) width 8: " "
    116116            RenderInline {STRONG} at (0,0) size 64x16
    117               RenderText {#text} at (272,102) size 64x16
    118                 text run at (272,102) width 64: "elements"
    119             RenderText {#text} at (356,102) size 8x16
    120               text run at (356,102) width 8: " "
     117              RenderText {#text} at (312,102) size 64x16
     118                text run at (312,102) width 64: "elements"
     119            RenderText {#text} at (396,102) size 8x16
     120              text run at (396,102) width 8: " "
    121121            RenderInline {TT} at (0,0) size 48x16
    122               RenderText {#text} at (364,102) size 48x16
    123                 text run at (364,102) width 48: "within"
    124           RenderText {#text} at (432,102) size 1052x33
    125             text run at (432,102) width 600: " elements too. (with monospace font from for to within)"
    126             text run at (1052,102) width 0: " "
    127             text run at (0,119) width 220: "Word   spacing test "
     122              RenderText {#text} at (404,102) size 48x16
     123                text run at (404,102) width 48: "within"
     124          RenderText {#text} at (472,102) size 1092x33
     125            text run at (472,102) width 600: " elements too. (with monospace font from for to within)"
     126            text run at (1092,102) width 0: " "
     127            text run at (0,119) width 260: "Word   spacing test "
    128128          RenderInline {EM} at (0,0) size 24x17
    129             RenderText {#text} at (220,118) size 24x17
    130               text run at (220,118) width 24: "for"
    131           RenderText {#text} at (264,119) size 8x16
    132             text run at (264,119) width 8: " "
     129            RenderText {#text} at (260,118) size 24x17
     130              text run at (260,118) width 24: "for"
     131          RenderText {#text} at (304,119) size 8x16
     132            text run at (304,119) width 8: " "
    133133          RenderInline {STRONG} at (0,0) size 64x16
    134             RenderText {#text} at (272,119) size 64x16
    135               text run at (272,119) width 64: "elements"
    136           RenderText {#text} at (356,119) size 8x16
    137             text run at (356,119) width 8: " "
     134            RenderText {#text} at (312,119) size 64x16
     135              text run at (312,119) width 64: "elements"
     136          RenderText {#text} at (396,119) size 8x16
     137            text run at (396,119) width 8: " "
    138138          RenderInline {SPAN} at (0,0) size 192x16
    139139            RenderInline {TT} at (0,0) size 48x16
    140               RenderText {#text} at (364,119) size 48x16
    141                 text run at (364,119) width 48: "within"
    142             RenderText {#text} at (432,119) size 124x16
    143               text run at (432,119) width 124: " elements too"
    144           RenderText {#text} at (556,119) size 512x16
    145             text run at (556,119) width 492: ". (with monospace font from elements to too)"
    146             text run at (1068,119) width 0: " "
     140              RenderText {#text} at (404,119) size 48x16
     141                text run at (404,119) width 48: "within"
     142            RenderText {#text} at (472,119) size 124x16
     143              text run at (472,119) width 124: " elements too"
     144          RenderText {#text} at (596,119) size 512x16
     145            text run at (596,119) width 492: ". (with monospace font from elements to too)"
     146            text run at (1108,119) width 0: " "
    147147      RenderBlock (anonymous) at (0,46) size 769x210
    148         RenderBR {BR} at (1224,0) size 0x19
     148        RenderBR {BR} at (1264,0) size 0x19
    149149      RenderBlock {PRE} at (0,270) size 769x168
    150150        RenderBlock {H3} at (0,0) size 769x17
     
    152152            text run at (0,0) width 240: "In an un-floated pre"
    153153        RenderBlock (anonymous) at (0,32) size 769x136
    154           RenderText {#text} at (0,0) size 220x33
     154          RenderText {#text} at (0,0) size 260x33
    155155            text run at (0,0) width 0: " "
    156             text run at (0,17) width 220: "Word   spacing test "
     156            text run at (0,17) width 260: "Word   spacing test "
    157157          RenderInline {EM} at (0,0) size 24x17
    158             RenderText {#text} at (220,16) size 24x17
    159               text run at (220,16) width 24: "for"
    160           RenderText {#text} at (264,17) size 8x16
    161             text run at (264,17) width 8: " "
     158            RenderText {#text} at (260,16) size 24x17
     159              text run at (260,16) width 24: "for"
     160          RenderText {#text} at (304,17) size 8x16
     161            text run at (304,17) width 8: " "
    162162          RenderInline {STRONG} at (0,0) size 64x16
    163             RenderText {#text} at (272,17) size 64x16
    164               text run at (272,17) width 64: "elements"
    165           RenderText {#text} at (356,17) size 8x16
    166             text run at (356,17) width 8: " "
    167           RenderInline {TT} at (0,0) size 48x16
    168             RenderText {#text} at (364,17) size 48x16
    169               text run at (364,17) width 48: "within"
    170           RenderText {#text} at (432,17) size 584x33
    171             text run at (432,17) width 132: " elements too."
    172             text run at (584,17) width 0: " "
    173             text run at (0,34) width 220: "Word   spacing test "
     163            RenderText {#text} at (312,17) size 64x16
     164              text run at (312,17) width 64: "elements"
     165          RenderText {#text} at (396,17) size 8x16
     166            text run at (396,17) width 8: " "
     167          RenderInline {TT} at (0,0) size 48x16
     168            RenderText {#text} at (404,17) size 48x16
     169              text run at (404,17) width 48: "within"
     170          RenderText {#text} at (472,17) size 624x33
     171            text run at (472,17) width 132: " elements too."
     172            text run at (624,17) width 0: " "
     173            text run at (0,34) width 260: "Word   spacing test "
    174174          RenderInline {EM} at (0,0) size 24x17
    175             RenderText {#text} at (220,33) size 24x17
    176               text run at (220,33) width 24: "for"
    177           RenderText {#text} at (264,34) size 8x16
    178             text run at (264,34) width 8: " "
     175            RenderText {#text} at (260,33) size 24x17
     176              text run at (260,33) width 24: "for"
     177          RenderText {#text} at (304,34) size 8x16
     178            text run at (304,34) width 8: " "
    179179          RenderInline {STRONG} at (0,0) size 64x16
    180             RenderText {#text} at (272,34) size 64x16
    181               text run at (272,34) width 64: "elements"
    182           RenderText {#text} at (356,34) size 8x16
    183             text run at (356,34) width 8: " "
    184           RenderInline {TT} at (0,0) size 48x16
    185             RenderText {#text} at (364,34) size 48x16
    186               text run at (364,34) width 48: "within"
    187           RenderText {#text} at (432,34) size 100x16
    188             text run at (432,34) width 100: " elements "
    189           RenderText {#text} at (532,34) size 1032x33
    190             text run at (532,34) width 480: " too. (with comment between elements and too)"
    191             text run at (1032,34) width 0: " "
    192             text run at (0,51) width 220: "Word   spacing test "
     180            RenderText {#text} at (312,34) size 64x16
     181              text run at (312,34) width 64: "elements"
     182          RenderText {#text} at (396,34) size 8x16
     183            text run at (396,34) width 8: " "
     184          RenderInline {TT} at (0,0) size 48x16
     185            RenderText {#text} at (404,34) size 48x16
     186              text run at (404,34) width 48: "within"
     187          RenderText {#text} at (472,34) size 100x16
     188            text run at (472,34) width 100: " elements "
     189          RenderText {#text} at (572,34) size 1072x33
     190            text run at (572,34) width 480: " too. (with comment between elements and too)"
     191            text run at (1072,34) width 0: " "
     192            text run at (0,51) width 260: "Word   spacing test "
    193193          RenderInline {EM} at (0,0) size 24x17
    194             RenderText {#text} at (220,50) size 24x17
    195               text run at (220,50) width 24: "for"
    196           RenderText {#text} at (264,51) size 8x16
    197             text run at (264,51) width 8: " "
     194            RenderText {#text} at (260,50) size 24x17
     195              text run at (260,50) width 24: "for"
     196          RenderText {#text} at (304,51) size 8x16
     197            text run at (304,51) width 8: " "
    198198          RenderInline {STRONG} at (0,0) size 64x16
    199             RenderText {#text} at (272,51) size 64x16
    200               text run at (272,51) width 64: "elements"
    201           RenderText {#text} at (356,51) size 8x16
    202             text run at (356,51) width 8: " "
    203           RenderInline {TT} at (0,0) size 48x16
    204             RenderText {#text} at (364,51) size 48x16
    205               text run at (364,51) width 48: "within"
    206           RenderText {#text} at (432,51) size 72x16
    207             text run at (432,51) width 72: " elements"
    208           RenderText {#text} at (524,51) size 1260x33
    209             text run at (524,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
    210             text run at (1260,51) width 0: " "
    211             text run at (0,68) width 220: "Word   spacing test "
     199            RenderText {#text} at (312,51) size 64x16
     200              text run at (312,51) width 64: "elements"
     201          RenderText {#text} at (396,51) size 8x16
     202            text run at (396,51) width 8: " "
     203          RenderInline {TT} at (0,0) size 48x16
     204            RenderText {#text} at (404,51) size 48x16
     205              text run at (404,51) width 48: "within"
     206          RenderText {#text} at (472,51) size 72x16
     207            text run at (472,51) width 72: " elements"
     208          RenderText {#text} at (564,51) size 1300x33
     209            text run at (564,51) width 716: " too. (with comment (no preceeding space) between elements and too)"
     210            text run at (1300,51) width 0: " "
     211            text run at (0,68) width 260: "Word   spacing test "
    212212          RenderInline {EM} at (0,0) size 24x17
    213             RenderText {#text} at (220,67) size 24x17
    214               text run at (220,67) width 24: "for"
    215           RenderText {#text} at (264,68) size 8x16
    216             text run at (264,68) width 8: " "
     213            RenderText {#text} at (260,67) size 24x17
     214              text run at (260,67) width 24: "for"
     215          RenderText {#text} at (304,68) size 8x16
     216            text run at (304,68) width 8: " "
    217217          RenderInline {STRONG} at (0,0) size 64x16
    218             RenderText {#text} at (272,68) size 64x16
    219               text run at (272,68) width 64: "elements"
    220           RenderText {#text} at (356,68) size 8x16
    221             text run at (356,68) width 8: " "
    222           RenderInline {TT} at (0,0) size 48x16
    223             RenderText {#text} at (364,68) size 48x16
    224               text run at (364,68) width 48: "within"
    225           RenderText {#text} at (432,68) size 100x16
    226             text run at (432,68) width 100: " elements "
    227           RenderText {#text} at (532,68) size 712x16
    228             text run at (532,68) width 692: "too. (with comment (no trailing space) between elements and too)"
    229             text run at (1244,68) width 0: " "
    230           RenderInline {SPAN} at (0,0) size 336x16
    231             RenderText {#text} at (0,85) size 220x16
    232               text run at (0,85) width 220: "Word   spacing test "
     218            RenderText {#text} at (312,68) size 64x16
     219              text run at (312,68) width 64: "elements"
     220          RenderText {#text} at (396,68) size 8x16
     221            text run at (396,68) width 8: " "
     222          RenderInline {TT} at (0,0) size 48x16
     223            RenderText {#text} at (404,68) size 48x16
     224              text run at (404,68) width 48: "within"
     225          RenderText {#text} at (472,68) size 100x16
     226            text run at (472,68) width 100: " elements "
     227          RenderText {#text} at (572,68) size 712x16
     228            text run at (572,68) width 692: "too. (with comment (no trailing space) between elements and too)"
     229            text run at (1284,68) width 0: " "
     230          RenderInline {SPAN} at (0,0) size 376x16
     231            RenderText {#text} at (0,85) size 260x16
     232              text run at (0,85) width 260: "Word   spacing test "
    233233            RenderInline {EM} at (0,0) size 24x17
    234               RenderText {#text} at (220,84) size 24x17
    235                 text run at (220,84) width 24: "for"
    236             RenderText {#text} at (264,85) size 8x16
    237               text run at (264,85) width 8: " "
     234              RenderText {#text} at (260,84) size 24x17
     235                text run at (260,84) width 24: "for"
     236            RenderText {#text} at (304,85) size 8x16
     237              text run at (304,85) width 8: " "
    238238            RenderInline {STRONG} at (0,0) size 64x16
    239               RenderText {#text} at (272,85) size 64x16
    240                 text run at (272,85) width 64: "elements"
    241           RenderText {#text} at (356,85) size 8x16
    242             text run at (356,85) width 8: " "
    243           RenderInline {TT} at (0,0) size 48x16
    244             RenderText {#text} at (364,85) size 48x16
    245               text run at (364,85) width 48: "within"
    246           RenderText {#text} at (432,85) size 1076x33
    247             text run at (432,85) width 624: " elements too. (with monospace font from Word to elements)"
    248             text run at (1076,85) width 0: " "
    249             text run at (0,102) width 220: "Word   spacing test "
     239              RenderText {#text} at (312,85) size 64x16
     240                text run at (312,85) width 64: "elements"
     241          RenderText {#text} at (396,85) size 8x16
     242            text run at (396,85) width 8: " "
     243          RenderInline {TT} at (0,0) size 48x16
     244            RenderText {#text} at (404,85) size 48x16
     245              text run at (404,85) width 48: "within"
     246          RenderText {#text} at (472,85) size 1116x33
     247            text run at (472,85) width 624: " elements too. (with monospace font from Word to elements)"
     248            text run at (1116,85) width 0: " "
     249            text run at (0,102) width 260: "Word   spacing test "
    250250          RenderInline {SPAN} at (0,0) size 192x16
    251251            RenderInline {EM} at (0,0) size 24x17
    252               RenderText {#text} at (220,101) size 24x17
    253                 text run at (220,101) width 24: "for"
    254             RenderText {#text} at (264,102) size 8x16
    255               text run at (264,102) width 8: " "
     252              RenderText {#text} at (260,101) size 24x17
     253                text run at (260,101) width 24: "for"
     254            RenderText {#text} at (304,102) size 8x16
     255              text run at (304,102) width 8: " "
    256256            RenderInline {STRONG} at (0,0) size 64x16
    257               RenderText {#text} at (272,102) size 64x16
    258                 text run at (272,102) width 64: "elements"
    259             RenderText {#text} at (356,102) size 8x16
    260               text run at (356,102) width 8: " "
     257              RenderText {#text} at (312,102) size 64x16
     258                text run at (312,102) width 64: "elements"
     259            RenderText {#text} at (396,102) size 8x16
     260              text run at (396,102) width 8: " "
    261261            RenderInline {TT} at (0,0) size 48x16
    262               RenderText {#text} at (364,102) size 48x16
    263                 text run at (364,102) width 48: "within"
    264           RenderText {#text} at (432,102) size 1052x33
    265             text run at (432,102) width 600: " elements too. (with monospace font from for to within)"
    266             text run at (1052,102) width 0: " "
    267             text run at (0,119) width 220: "Word   spacing test "
     262              RenderText {#text} at (404,102) size 48x16
     263                text run at (404,102) width 48: "within"
     264          RenderText {#text} at (472,102) size 1092x33
     265            text run at (472,102) width 600: " elements too. (with monospace font from for to within)"
     266            text run at (1092,102) width 0: " "
     267            text run at (0,119) width 260: "Word   spacing test "
    268268          RenderInline {EM} at (0,0) size 24x17
    269             RenderText {#text} at (220,118) size 24x17
    270               text run at (220,118) width 24: "for"
    271           RenderText {#text} at (264,119) size 8x16
    272             text run at (264,119) width 8: " "
     269            RenderText {#text} at (260,118) size 24x17
     270              text run at (260,118) width 24: "for"
     271          RenderText {#text} at (304,119) size 8x16
     272            text run at (304,119) width 8: " "
    273273          RenderInline {STRONG} at (0,0) size 64x16
    274             RenderText {#text} at (272,119) size 64x16
    275               text run at (272,119) width 64: "elements"
    276           RenderText {#text} at (356,119) size 8x16
    277             text run at (356,119) width 8: " "
     274            RenderText {#text} at (312,119) size 64x16
     275              text run at (312,119) width 64: "elements"
     276          RenderText {#text} at (396,119) size 8x16
     277            text run at (396,119) width 8: " "
    278278          RenderInline {SPAN} at (0,0) size 192x16
    279279            RenderInline {TT} at (0,0) size 48x16
    280               RenderText {#text} at (364,119) size 48x16
    281                 text run at (364,119) width 48: "within"
    282             RenderText {#text} at (432,119) size 124x16
    283               text run at (432,119) width 124: " elements too"
    284           RenderText {#text} at (556,119) size 512x16
    285             text run at (556,119) width 492: ". (with monospace font from elements to too)"
    286             text run at (1068,119) width 0: " "
     280              RenderText {#text} at (404,119) size 48x16
     281                text run at (404,119) width 48: "within"
     282            RenderText {#text} at (472,119) size 124x16
     283              text run at (472,119) width 124: " elements too"
     284          RenderText {#text} at (596,119) size 512x16
     285            text run at (596,119) width 492: ". (with monospace font from elements to too)"
     286            text run at (1108,119) width 0: " "
    287287      RenderBlock (anonymous) at (0,450) size 769x1
    288288        RenderInline {SPAN} at (0,0) size 0x0
     
    442442          RenderText {#text} at (493,220) size 743x39
    443443            text run at (493,220) width 250: ". (with monospace font from"
    444             text run at (0,240) width 161: "elements to too) "
     444            text run at (0,240) width 141: "elements to too) "
    445445        RenderText {#text} at (0,0) size 0x0
    446446        RenderBR {BR} at (0,0) size 0x0
     
    894894        RenderText {#text} at (0,0) size 131x26
    895895          text run at (0,0) width 131: "both-spacing"
    896       RenderBlock (floating) {PRE} at (0,1729) size 1978x183
    897         RenderBlock {H3} at (0,15) size 1978x18
     896      RenderBlock (floating) {PRE} at (0,1729) size 2018x183
     897        RenderBlock {H3} at (0,15) size 2018x18
    898898          RenderText {#text} at (0,0) size 284x17
    899899            text run at (0,0) width 284: "In a floated pre"
    900         RenderBlock (anonymous) at (0,47) size 1978x136
    901           RenderText {#text} at (0,0) size 503x33
     900        RenderBlock (anonymous) at (0,47) size 2018x136
     901          RenderText {#text} at (0,0) size 543x33
    902902            text run at (0,0) width 0: " "
    903             text run at (0,17) width 503: "Word and letter   spacing test "
    904           RenderInline {EM} at (0,0) size 39x17
    905             RenderText {#text} at (503,16) size 39x17
    906               text run at (503,16) width 39: "for"
    907           RenderText {#text} at (562,17) size 13x16
    908             text run at (562,17) width 13: " "
    909           RenderInline {STRONG} at (0,0) size 104x16
    910             RenderText {#text} at (575,17) size 104x16
    911               text run at (575,17) width 104: "elements"
    912           RenderText {#text} at (699,17) size 13x16
    913             text run at (699,17) width 13: " "
    914           RenderInline {TT} at (0,0) size 78x16
    915             RenderText {#text} at (712,17) size 78x16
    916               text run at (712,17) width 78: "within"
    917           RenderText {#text} at (810,17) size 1032x33
    918             text run at (810,17) width 202: " elements too."
    919             text run at (1032,17) width 0: " "
    920             text run at (0,34) width 503: "Word and letter   spacing test "
    921           RenderInline {EM} at (0,0) size 39x17
    922             RenderText {#text} at (503,33) size 39x17
    923               text run at (503,33) width 39: "for"
    924           RenderText {#text} at (562,34) size 13x16
    925             text run at (562,34) width 13: " "
    926           RenderInline {STRONG} at (0,0) size 104x16
    927             RenderText {#text} at (575,34) size 104x16
    928               text run at (575,34) width 104: "elements"
    929           RenderText {#text} at (699,34) size 13x16
    930             text run at (699,34) width 13: " "
    931           RenderInline {TT} at (0,0) size 78x16
    932             RenderText {#text} at (712,34) size 78x16
    933               text run at (712,34) width 78: "within"
    934           RenderText {#text} at (810,34) size 150x16
    935             text run at (810,34) width 150: " elements "
    936           RenderText {#text} at (960,34) size 1685x33
    937             text run at (960,34) width 705: " too. (with comment between elements and too)"
    938             text run at (1685,34) width 0: " "
    939             text run at (0,51) width 503: "Word and letter   spacing test "
    940           RenderInline {EM} at (0,0) size 39x17
    941             RenderText {#text} at (503,50) size 39x17
    942               text run at (503,50) width 39: "for"
    943           RenderText {#text} at (562,51) size 13x16
    944             text run at (562,51) width 13: " "
    945           RenderInline {STRONG} at (0,0) size 104x16
    946             RenderText {#text} at (575,51) size 104x16
    947               text run at (575,51) width 104: "elements"
    948           RenderText {#text} at (699,51) size 13x16
    949             text run at (699,51) width 13: " "
    950           RenderInline {TT} at (0,0) size 78x16
    951             RenderText {#text} at (712,51) size 78x16
    952               text run at (712,51) width 78: "within"
    953           RenderText {#text} at (810,51) size 117x16
    954             text run at (810,51) width 117: " elements"
    955           RenderText {#text} at (947,51) size 2018x33
    956             text run at (947,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
    957             text run at (2018,51) width 0: " "
    958             text run at (0,68) width 503: "Word and letter   spacing test "
    959           RenderInline {EM} at (0,0) size 39x17
    960             RenderText {#text} at (503,67) size 39x17
    961               text run at (503,67) width 39: "for"
    962           RenderText {#text} at (562,68) size 13x16
    963             text run at (562,68) width 13: " "
    964           RenderInline {STRONG} at (0,0) size 104x16
    965             RenderText {#text} at (575,68) size 104x16
    966               text run at (575,68) width 104: "elements"
    967           RenderText {#text} at (699,68) size 13x16
    968             text run at (699,68) width 13: " "
    969           RenderInline {TT} at (0,0) size 78x16
    970             RenderText {#text} at (712,68) size 78x16
    971               text run at (712,68) width 78: "within"
    972           RenderText {#text} at (810,68) size 150x16
    973             text run at (810,68) width 150: " elements "
    974           RenderText {#text} at (960,68) size 1032x16
    975             text run at (960,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
    976             text run at (1992,68) width 0: " "
    977           RenderInline {SPAN} at (0,0) size 679x16
    978             RenderText {#text} at (0,85) size 503x16
    979               text run at (0,85) width 503: "Word and letter   spacing test "
     903            text run at (0,17) width 543: "Word and letter   spacing test "
     904          RenderInline {EM} at (0,0) size 39x17
     905            RenderText {#text} at (543,16) size 39x17
     906              text run at (543,16) width 39: "for"
     907          RenderText {#text} at (602,17) size 13x16
     908            text run at (602,17) width 13: " "
     909          RenderInline {STRONG} at (0,0) size 104x16
     910            RenderText {#text} at (615,17) size 104x16
     911              text run at (615,17) width 104: "elements"
     912          RenderText {#text} at (739,17) size 13x16
     913            text run at (739,17) width 13: " "
     914          RenderInline {TT} at (0,0) size 78x16
     915            RenderText {#text} at (752,17) size 78x16
     916              text run at (752,17) width 78: "within"
     917          RenderText {#text} at (850,17) size 1072x33
     918            text run at (850,17) width 202: " elements too."
     919            text run at (1072,17) width 0: " "
     920            text run at (0,34) width 543: "Word and letter   spacing test "
     921          RenderInline {EM} at (0,0) size 39x17
     922            RenderText {#text} at (543,33) size 39x17
     923              text run at (543,33) width 39: "for"
     924          RenderText {#text} at (602,34) size 13x16
     925            text run at (602,34) width 13: " "
     926          RenderInline {STRONG} at (0,0) size 104x16
     927            RenderText {#text} at (615,34) size 104x16
     928              text run at (615,34) width 104: "elements"
     929          RenderText {#text} at (739,34) size 13x16
     930            text run at (739,34) width 13: " "
     931          RenderInline {TT} at (0,0) size 78x16
     932            RenderText {#text} at (752,34) size 78x16
     933              text run at (752,34) width 78: "within"
     934          RenderText {#text} at (850,34) size 150x16
     935            text run at (850,34) width 150: " elements "
     936          RenderText {#text} at (1000,34) size 1725x33
     937            text run at (1000,34) width 705: " too. (with comment between elements and too)"
     938            text run at (1725,34) width 0: " "
     939            text run at (0,51) width 543: "Word and letter   spacing test "
     940          RenderInline {EM} at (0,0) size 39x17
     941            RenderText {#text} at (543,50) size 39x17
     942              text run at (543,50) width 39: "for"
     943          RenderText {#text} at (602,51) size 13x16
     944            text run at (602,51) width 13: " "
     945          RenderInline {STRONG} at (0,0) size 104x16
     946            RenderText {#text} at (615,51) size 104x16
     947              text run at (615,51) width 104: "elements"
     948          RenderText {#text} at (739,51) size 13x16
     949            text run at (739,51) width 13: " "
     950          RenderInline {TT} at (0,0) size 78x16
     951            RenderText {#text} at (752,51) size 78x16
     952              text run at (752,51) width 78: "within"
     953          RenderText {#text} at (850,51) size 117x16
     954            text run at (850,51) width 117: " elements"
     955          RenderText {#text} at (987,51) size 2058x33
     956            text run at (987,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
     957            text run at (2058,51) width 0: " "
     958            text run at (0,68) width 543: "Word and letter   spacing test "
     959          RenderInline {EM} at (0,0) size 39x17
     960            RenderText {#text} at (543,67) size 39x17
     961              text run at (543,67) width 39: "for"
     962          RenderText {#text} at (602,68) size 13x16
     963            text run at (602,68) width 13: " "
     964          RenderInline {STRONG} at (0,0) size 104x16
     965            RenderText {#text} at (615,68) size 104x16
     966              text run at (615,68) width 104: "elements"
     967          RenderText {#text} at (739,68) size 13x16
     968            text run at (739,68) width 13: " "
     969          RenderInline {TT} at (0,0) size 78x16
     970            RenderText {#text} at (752,68) size 78x16
     971              text run at (752,68) width 78: "within"
     972          RenderText {#text} at (850,68) size 150x16
     973            text run at (850,68) width 150: " elements "
     974          RenderText {#text} at (1000,68) size 1032x16
     975            text run at (1000,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
     976            text run at (2032,68) width 0: " "
     977          RenderInline {SPAN} at (0,0) size 719x16
     978            RenderText {#text} at (0,85) size 543x16
     979              text run at (0,85) width 543: "Word and letter   spacing test "
    980980            RenderInline {EM} at (0,0) size 39x17
    981               RenderText {#text} at (503,84) size 39x17
    982                 text run at (503,84) width 39: "for"
    983             RenderText {#text} at (562,85) size 13x16
    984               text run at (562,85) width 13: " "
     981              RenderText {#text} at (543,84) size 39x17
     982                text run at (543,84) width 39: "for"
     983            RenderText {#text} at (602,85) size 13x16
     984              text run at (602,85) width 13: " "
    985985            RenderInline {STRONG} at (0,0) size 104x16
    986               RenderText {#text} at (575,85) size 104x16
    987                 text run at (575,85) width 104: "elements"
    988           RenderText {#text} at (699,85) size 13x16
    989             text run at (699,85) width 13: " "
    990           RenderInline {TT} at (0,0) size 78x16
    991             RenderText {#text} at (712,85) size 78x16
    992               text run at (712,85) width 78: "within"
    993           RenderText {#text} at (810,85) size 1744x33
    994             text run at (810,85) width 914: " elements too. (with monospace font from Word to elements)"
    995             text run at (1744,85) width 0: " "
    996             text run at (0,102) width 503: "Word and letter   spacing test "
     986              RenderText {#text} at (615,85) size 104x16
     987                text run at (615,85) width 104: "elements"
     988          RenderText {#text} at (739,85) size 13x16
     989            text run at (739,85) width 13: " "
     990          RenderInline {TT} at (0,0) size 78x16
     991            RenderText {#text} at (752,85) size 78x16
     992              text run at (752,85) width 78: "within"
     993          RenderText {#text} at (850,85) size 1784x33
     994            text run at (850,85) width 914: " elements too. (with monospace font from Word to elements)"
     995            text run at (1784,85) width 0: " "
     996            text run at (0,102) width 543: "Word and letter   spacing test "
    997997          RenderInline {SPAN} at (0,0) size 287x16
    998998            RenderInline {EM} at (0,0) size 39x17
    999               RenderText {#text} at (503,101) size 39x17
    1000                 text run at (503,101) width 39: "for"
    1001             RenderText {#text} at (562,102) size 13x16
    1002               text run at (562,102) width 13: " "
     999              RenderText {#text} at (543,101) size 39x17
     1000                text run at (543,101) width 39: "for"
     1001            RenderText {#text} at (602,102) size 13x16
     1002              text run at (602,102) width 13: " "
    10031003            RenderInline {STRONG} at (0,0) size 104x16
    1004               RenderText {#text} at (575,102) size 104x16
    1005                 text run at (575,102) width 104: "elements"
    1006             RenderText {#text} at (699,102) size 13x16
    1007               text run at (699,102) width 13: " "
     1004              RenderText {#text} at (615,102) size 104x16
     1005                text run at (615,102) width 104: "elements"
     1006            RenderText {#text} at (739,102) size 13x16
     1007              text run at (739,102) width 13: " "
    10081008            RenderInline {TT} at (0,0) size 78x16
    1009               RenderText {#text} at (712,102) size 78x16
    1010                 text run at (712,102) width 78: "within"
    1011           RenderText {#text} at (810,102) size 1705x33
    1012             text run at (810,102) width 875: " elements too. (with monospace font from for to within)"
    1013             text run at (1705,102) width 0: " "
    1014             text run at (0,119) width 503: "Word and letter   spacing test "
    1015           RenderInline {EM} at (0,0) size 39x17
    1016             RenderText {#text} at (503,118) size 39x17
    1017               text run at (503,118) width 39: "for"
    1018           RenderText {#text} at (562,119) size 13x16
    1019             text run at (562,119) width 13: " "
    1020           RenderInline {STRONG} at (0,0) size 104x16
    1021             RenderText {#text} at (575,119) size 104x16
    1022               text run at (575,119) width 104: "elements"
    1023           RenderText {#text} at (699,119) size 13x16
    1024             text run at (699,119) width 13: " "
     1009              RenderText {#text} at (752,102) size 78x16
     1010                text run at (752,102) width 78: "within"
     1011          RenderText {#text} at (850,102) size 1745x33
     1012            text run at (850,102) width 875: " elements too. (with monospace font from for to within)"
     1013            text run at (1745,102) width 0: " "
     1014            text run at (0,119) width 543: "Word and letter   spacing test "
     1015          RenderInline {EM} at (0,0) size 39x17
     1016            RenderText {#text} at (543,118) size 39x17
     1017              text run at (543,118) width 39: "for"
     1018          RenderText {#text} at (602,119) size 13x16
     1019            text run at (602,119) width 13: " "
     1020          RenderInline {STRONG} at (0,0) size 104x16
     1021            RenderText {#text} at (615,119) size 104x16
     1022              text run at (615,119) width 104: "elements"
     1023          RenderText {#text} at (739,119) size 13x16
     1024            text run at (739,119) width 13: " "
    10251025          RenderInline {SPAN} at (0,0) size 287x16
    10261026            RenderInline {TT} at (0,0) size 78x16
    1027               RenderText {#text} at (712,119) size 78x16
    1028                 text run at (712,119) width 78: "within"
    1029             RenderText {#text} at (810,119) size 189x16
    1030               text run at (810,119) width 189: " elements too"
    1031           RenderText {#text} at (999,119) size 732x16
    1032             text run at (999,119) width 712: ". (with monospace font from elements to too)"
    1033             text run at (1731,119) width 0: " "
     1027              RenderText {#text} at (752,119) size 78x16
     1028                text run at (752,119) width 78: "within"
     1029            RenderText {#text} at (850,119) size 189x16
     1030              text run at (850,119) width 189: " elements too"
     1031          RenderText {#text} at (1039,119) size 732x16
     1032            text run at (1039,119) width 712: ". (with monospace font from elements to too)"
     1033            text run at (1771,119) width 0: " "
    10341034      RenderBlock (anonymous) at (0,1716) size 769x209
    1035         RenderBR {BR} at (1978,0) size 0x19
     1035        RenderBR {BR} at (2018,0) size 0x19
    10361036      RenderBlock {PRE} at (0,1939) size 769x168
    10371037        RenderBlock {H3} at (0,0) size 769x17
     
    10391039            text run at (0,0) width 340: "In an un-floated pre"
    10401040        RenderBlock (anonymous) at (0,32) size 769x136
    1041           RenderText {#text} at (0,0) size 503x33
     1041          RenderText {#text} at (0,0) size 543x33
    10421042            text run at (0,0) width 0: " "
    1043             text run at (0,17) width 503: "Word and letter   spacing test "
    1044           RenderInline {EM} at (0,0) size 39x17
    1045             RenderText {#text} at (503,16) size 39x17
    1046               text run at (503,16) width 39: "for"
    1047           RenderText {#text} at (562,17) size 13x16
    1048             text run at (562,17) width 13: " "
    1049           RenderInline {STRONG} at (0,0) size 104x16
    1050             RenderText {#text} at (575,17) size 104x16
    1051               text run at (575,17) width 104: "elements"
    1052           RenderText {#text} at (699,17) size 13x16
    1053             text run at (699,17) width 13: " "
    1054           RenderInline {TT} at (0,0) size 78x16
    1055             RenderText {#text} at (712,17) size 78x16
    1056               text run at (712,17) width 78: "within"
    1057           RenderText {#text} at (810,17) size 1032x33
    1058             text run at (810,17) width 202: " elements too."
    1059             text run at (1032,17) width 0: " "
    1060             text run at (0,34) width 503: "Word and letter   spacing test "
    1061           RenderInline {EM} at (0,0) size 39x17
    1062             RenderText {#text} at (503,33) size 39x17
    1063               text run at (503,33) width 39: "for"
    1064           RenderText {#text} at (562,34) size 13x16
    1065             text run at (562,34) width 13: " "
    1066           RenderInline {STRONG} at (0,0) size 104x16
    1067             RenderText {#text} at (575,34) size 104x16
    1068               text run at (575,34) width 104: "elements"
    1069           RenderText {#text} at (699,34) size 13x16
    1070             text run at (699,34) width 13: " "
    1071           RenderInline {TT} at (0,0) size 78x16
    1072             RenderText {#text} at (712,34) size 78x16
    1073               text run at (712,34) width 78: "within"
    1074           RenderText {#text} at (810,34) size 150x16
    1075             text run at (810,34) width 150: " elements "
    1076           RenderText {#text} at (960,34) size 1685x33
    1077             text run at (960,34) width 705: " too. (with comment between elements and too)"
    1078             text run at (1685,34) width 0: " "
    1079             text run at (0,51) width 503: "Word and letter   spacing test "
    1080           RenderInline {EM} at (0,0) size 39x17
    1081             RenderText {#text} at (503,50) size 39x17
    1082               text run at (503,50) width 39: "for"
    1083           RenderText {#text} at (562,51) size 13x16
    1084             text run at (562,51) width 13: " "
    1085           RenderInline {STRONG} at (0,0) size 104x16
    1086             RenderText {#text} at (575,51) size 104x16
    1087               text run at (575,51) width 104: "elements"
    1088           RenderText {#text} at (699,51) size 13x16
    1089             text run at (699,51) width 13: " "
    1090           RenderInline {TT} at (0,0) size 78x16
    1091             RenderText {#text} at (712,51) size 78x16
    1092               text run at (712,51) width 78: "within"
    1093           RenderText {#text} at (810,51) size 117x16
    1094             text run at (810,51) width 117: " elements"
    1095           RenderText {#text} at (947,51) size 2018x33
    1096             text run at (947,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
    1097             text run at (2018,51) width 0: " "
    1098             text run at (0,68) width 503: "Word and letter   spacing test "
    1099           RenderInline {EM} at (0,0) size 39x17
    1100             RenderText {#text} at (503,67) size 39x17
    1101               text run at (503,67) width 39: "for"
    1102           RenderText {#text} at (562,68) size 13x16
    1103             text run at (562,68) width 13: " "
    1104           RenderInline {STRONG} at (0,0) size 104x16
    1105             RenderText {#text} at (575,68) size 104x16
    1106               text run at (575,68) width 104: "elements"
    1107           RenderText {#text} at (699,68) size 13x16
    1108             text run at (699,68) width 13: " "
    1109           RenderInline {TT} at (0,0) size 78x16
    1110             RenderText {#text} at (712,68) size 78x16
    1111               text run at (712,68) width 78: "within"
    1112           RenderText {#text} at (810,68) size 150x16
    1113             text run at (810,68) width 150: " elements "
    1114           RenderText {#text} at (960,68) size 1032x16
    1115             text run at (960,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
    1116             text run at (1992,68) width 0: " "
    1117           RenderInline {SPAN} at (0,0) size 679x16
    1118             RenderText {#text} at (0,85) size 503x16
    1119               text run at (0,85) width 503: "Word and letter   spacing test "
     1043            text run at (0,17) width 543: "Word and letter   spacing test "
     1044          RenderInline {EM} at (0,0) size 39x17
     1045            RenderText {#text} at (543,16) size 39x17
     1046              text run at (543,16) width 39: "for"
     1047          RenderText {#text} at (602,17) size 13x16
     1048            text run at (602,17) width 13: " "
     1049          RenderInline {STRONG} at (0,0) size 104x16
     1050            RenderText {#text} at (615,17) size 104x16
     1051              text run at (615,17) width 104: "elements"
     1052          RenderText {#text} at (739,17) size 13x16
     1053            text run at (739,17) width 13: " "
     1054          RenderInline {TT} at (0,0) size 78x16
     1055            RenderText {#text} at (752,17) size 78x16
     1056              text run at (752,17) width 78: "within"
     1057          RenderText {#text} at (850,17) size 1072x33
     1058            text run at (850,17) width 202: " elements too."
     1059            text run at (1072,17) width 0: " "
     1060            text run at (0,34) width 543: "Word and letter   spacing test "
     1061          RenderInline {EM} at (0,0) size 39x17
     1062            RenderText {#text} at (543,33) size 39x17
     1063              text run at (543,33) width 39: "for"
     1064          RenderText {#text} at (602,34) size 13x16
     1065            text run at (602,34) width 13: " "
     1066          RenderInline {STRONG} at (0,0) size 104x16
     1067            RenderText {#text} at (615,34) size 104x16
     1068              text run at (615,34) width 104: "elements"
     1069          RenderText {#text} at (739,34) size 13x16
     1070            text run at (739,34) width 13: " "
     1071          RenderInline {TT} at (0,0) size 78x16
     1072            RenderText {#text} at (752,34) size 78x16
     1073              text run at (752,34) width 78: "within"
     1074          RenderText {#text} at (850,34) size 150x16
     1075            text run at (850,34) width 150: " elements "
     1076          RenderText {#text} at (1000,34) size 1725x33
     1077            text run at (1000,34) width 705: " too. (with comment between elements and too)"
     1078            text run at (1725,34) width 0: " "
     1079            text run at (0,51) width 543: "Word and letter   spacing test "
     1080          RenderInline {EM} at (0,0) size 39x17
     1081            RenderText {#text} at (543,50) size 39x17
     1082              text run at (543,50) width 39: "for"
     1083          RenderText {#text} at (602,51) size 13x16
     1084            text run at (602,51) width 13: " "
     1085          RenderInline {STRONG} at (0,0) size 104x16
     1086            RenderText {#text} at (615,51) size 104x16
     1087              text run at (615,51) width 104: "elements"
     1088          RenderText {#text} at (739,51) size 13x16
     1089            text run at (739,51) width 13: " "
     1090          RenderInline {TT} at (0,0) size 78x16
     1091            RenderText {#text} at (752,51) size 78x16
     1092              text run at (752,51) width 78: "within"
     1093          RenderText {#text} at (850,51) size 117x16
     1094            text run at (850,51) width 117: " elements"
     1095          RenderText {#text} at (987,51) size 2058x33
     1096            text run at (987,51) width 1051: " too. (with comment (no preceeding space) between elements and too)"
     1097            text run at (2058,51) width 0: " "
     1098            text run at (0,68) width 543: "Word and letter   spacing test "
     1099          RenderInline {EM} at (0,0) size 39x17
     1100            RenderText {#text} at (543,67) size 39x17
     1101              text run at (543,67) width 39: "for"
     1102          RenderText {#text} at (602,68) size 13x16
     1103            text run at (602,68) width 13: " "
     1104          RenderInline {STRONG} at (0,0) size 104x16
     1105            RenderText {#text} at (615,68) size 104x16
     1106              text run at (615,68) width 104: "elements"
     1107          RenderText {#text} at (739,68) size 13x16
     1108            text run at (739,68) width 13: " "
     1109          RenderInline {TT} at (0,0) size 78x16
     1110            RenderText {#text} at (752,68) size 78x16
     1111              text run at (752,68) width 78: "within"
     1112          RenderText {#text} at (850,68) size 150x16
     1113            text run at (850,68) width 150: " elements "
     1114          RenderText {#text} at (1000,68) size 1032x16
     1115            text run at (1000,68) width 1012: "too. (with comment (no trailing space) between elements and too)"
     1116            text run at (2032,68) width 0: " "
     1117          RenderInline {SPAN} at (0,0) size 719x16
     1118            RenderText {#text} at (0,85) size 543x16
     1119              text run at (0,85) width 543: "Word and letter   spacing test "
    11201120            RenderInline {EM} at (0,0) size 39x17
    1121               RenderText {#text} at (503,84) size 39x17
    1122                 text run at (503,84) width 39: "for"
    1123             RenderText {#text} at (562,85) size 13x16
    1124               text run at (562,85) width 13: " "
     1121              RenderText {#text} at (543,84) size 39x17
     1122                text run at (543,84) width 39: "for"
     1123            RenderText {#text} at (602,85) size 13x16
     1124              text run at (602,85) width 13: " "
    11251125            RenderInline {STRONG} at (0,0) size 104x16
    1126               RenderText {#text} at (575,85) size 104x16
    1127                 text run at (575,85) width 104: "elements"
    1128           RenderText {#text} at (699,85) size 13x16
    1129             text run at (699,85) width 13: " "
    1130           RenderInline {TT} at (0,0) size 78x16
    1131             RenderText {#text} at (712,85) size 78x16
    1132               text run at (712,85) width 78: "within"
    1133           RenderText {#text} at (810,85) size 1744x33
    1134             text run at (810,85) width 914: " elements too. (with monospace font from Word to elements)"
    1135             text run at (1744,85) width 0: " "
    1136             text run at (0,102) width 503: "Word and letter   spacing test "
     1126              RenderText {#text} at (615,85) size 104x16
     1127                text run at (615,85) width 104: "elements"
     1128          RenderText {#text} at (739,85) size 13x16
     1129            text run at (739,85) width 13: " "
     1130          RenderInline {TT} at (0,0) size 78x16
     1131            RenderText {#text} at (752,85) size 78x16
     1132              text run at (752,85) width 78: "within"
     1133          RenderText {#text} at (850,85) size 1784x33
     1134            text run at (850,85) width 914: " elements too. (with monospace font from Word to elements)"
     1135            text run at (1784,85) width 0: " "
     1136            text run at (0,102) width 543: "Word and letter   spacing test "
    11371137          RenderInline {SPAN} at (0,0) size 287x16
    11381138            RenderInline {EM} at (0,0) size 39x17
    1139               RenderText {#text} at (503,101) size 39x17
    1140                 text run at (503,101) width 39: "for"
    1141             RenderText {#text} at (562,102) size 13x16
    1142               text run at (562,102) width 13: " "
     1139              RenderText {#text} at (543,101) size 39x17
     1140                text run at (543,101) width 39: "for"
     1141            RenderText {#text} at (602,102) size 13x16
     1142              text run at (602,102) width 13: " "
    11431143            RenderInline {STRONG} at (0,0) size 104x16
    1144               RenderText {#text} at (575,102) size 104x16
    1145                 text run at (575,102) width 104: "elements"
    1146             RenderText {#text} at (699,102) size 13x16
    1147               text run at (699,102) width 13: " "
     1144              RenderText {#text} at (615,102) size 104x16
     1145                text run at (615,102) width 104: "elements"
     1146            RenderText {#text} at (739,102) size 13x16
     1147              text run at (739,102) width 13: " "
    11481148            RenderInline {TT} at (0,0) size 78x16
    1149               RenderText {#text} at (712,102) size 78x16
    1150                 text run at (712,102) width 78: "within"
    1151           RenderText {#text} at (810,102) size 1705x33
    1152             text run at (810,102) width 875: " elements too. (with monospace font from for to within)"
    1153             text run at (1705,102) width 0: " "
    1154             text run at (0,119) width 503: "Word and letter   spacing test "
    1155           RenderInline {EM} at (0,0) size 39x17
    1156             RenderText {#text} at (503,118) size 39x17
    1157               text run at (503,118) width 39: "for"
    1158           RenderText {#text} at (562,119) size 13x16
    1159             text run at (562,119) width 13: " "
    1160           RenderInline {STRONG} at (0,0) size 104x16
    1161             RenderText {#text} at (575,119) size 104x16
    1162               text run at (575,119) width 104: "elements"
    1163           RenderText {#text} at (699,119) size 13x16
    1164             text run at (699,119) width 13: " "
     1149              RenderText {#text} at (752,102) size 78x16
     1150                text run at (752,102) width 78: "within"
     1151          RenderText {#text} at (850,102) size 1745x33
     1152            text run at (850,102) width 875: " elements too. (with monospace font from for to within)"
     1153            text run at (1745,102) width 0: " "
     1154            text run at (0,119) width 543: "Word and letter   spacing test "
     1155          RenderInline {EM} at (0,0) size 39x17
     1156            RenderText {#text} at (543,118) size 39x17
     1157              text run at (543,118) width 39: "for"
     1158          RenderText {#text} at (602,119) size 13x16
     1159            text run at (602,119) width 13: " "
     1160          RenderInline {STRONG} at (0,0) size 104x16
     1161            RenderText {#text} at (615,119) size 104x16
     1162              text run at (615,119) width 104: "elements"
     1163          RenderText {#text} at (739,119) size 13x16
     1164            text run at (739,119) width 13: " "
    11651165          RenderInline {SPAN} at (0,0) size 287x16
    11661166            RenderInline {TT} at (0,0) size 78x16
    1167               RenderText {#text} at (712,119) size 78x16
    1168                 text run at (712,119) width 78: "within"
    1169             RenderText {#text} at (810,119) size 189x16
    1170               text run at (810,119) width 189: " elements too"
    1171           RenderText {#text} at (999,119) size 732x16
    1172             text run at (999,119) width 712: ". (with monospace font from elements to too)"
    1173             text run at (1731,119) width 0: " "
     1167              RenderText {#text} at (752,119) size 78x16
     1168                text run at (752,119) width 78: "within"
     1169            RenderText {#text} at (850,119) size 189x16
     1170              text run at (850,119) width 189: " elements too"
     1171          RenderText {#text} at (1039,119) size 732x16
     1172            text run at (1039,119) width 712: ". (with monospace font from elements to too)"
     1173            text run at (1771,119) width 0: " "
    11741174      RenderBlock (anonymous) at (0,2119) size 769x21
    11751175        RenderBR {BR} at (0,0) size 0x19
  • trunk/LayoutTests/platform/chromium/TestExpectations

    r125575 r125578  
    34813481BUGWK93938 LION RELEASE : fast/forms/range/slider-mouse-events.html = PASS TEXT
    34823482BUGWK93938 WIN LINUX DEBUG : fast/forms/range/slider-onchange-event.html = PASS TEXT
     3483
     3484// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     3485BUGWK89826 MAC WIN : fast/css/word-space-extra.html = IMAGE+TEXT
     3486
  • trunk/LayoutTests/platform/efl/TestExpectations

    r125567 r125578  
    854854
    855855BUGWK93247 DEBUG : fast/lists/list-marker-remove-crash.html = CRASH
     856
     857// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     858BUGWK89826 : fast/css/word-space-extra.html = TEXT
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r125575 r125578  
    3636// Tests that require new results.
    3737//////////////////////////////////////////////////////////////////////////////////////////
     38
     39// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     40BUGWK89826 : fast/css/word-space-extra.html = TEXT
    3841
    3942
  • trunk/LayoutTests/platform/mac/TestExpectations

    r125560 r125578  
    374374BUGWK93840 : canvas/philip/tests/2d.text.font.parse.size.percentage.html = TEXT
    375375BUGWK93840 : canvas/philip/tests/2d.text.font.parse.size.percentage.default.html = TEXT
     376
     377// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     378BUGWK89826 : fast/css/word-space-extra.html = TEXT
     379
  • trunk/LayoutTests/platform/qt/TestExpectations

    r125557 r125578  
    174174
    175175BUGWK93654 DEBUG : fast/events/keyevent-iframe-removed-crash.html = CRASH
     176
     177// Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     178BUGWK89826 : fast/css/word-space-extra.html = TEXT
  • trunk/LayoutTests/platform/win/Skipped

    r125437 r125578  
    19771977# This test causes any following plugins test to crash
    19781978plugins/nested-plugin-objects.html
     1979
     1980#Require rebaselining after  https://bugs.webkit.org/show_bug.cgi?id=89826
     1981fast/css/word-space-extra.html
  • trunk/Source/WebCore/ChangeLog

    r125577 r125578  
     12012-06-24  Robert Hogan  <robert@webkit.org>
     2
     3        CSS 2.1 failure: Word-spacing affects each space and non-breaking space
     4        https://bugs.webkit.org/show_bug.cgi?id=89826
     5
     6        Reviewed by Eric Seidel.
     7
     8        Add word spacing to consecutive spaces in a run per http://www.w3.org/TR/CSS21/text.html#spacing-props.
     9
     10        Test: fast/css/word-spacing-characters.html
     11              fast/css/word-spacing-characters-complex-text.html
     12              fast/css/word-spacing-characters-linebreak.html
     13              css2.1/20110323/word-spacing-characters-002.htm
     14              css2.1/20110323/word-spacing-characters-003.htm
     15              css2.1/20110323/word-spacing-remove-space-001.htm
     16              css2.1/20110323/word-spacing-remove-space-002.htm
     17              css2.1/20110323/word-spacing-remove-space-003.htm
     18              css2.1/20110323/word-spacing-remove-space-004.htm
     19              css2.1/20110323/word-spacing-remove-space-005.htm
     20              css2.1/20110323/word-spacing-remove-space-006.htm
     21              css2.1/20110323/c541-word-sp-001.htm
     22              css2.1/20110323/c541-word-sp-000.htm
     23
     24        * platform/graphics/WidthIterator.cpp:
     25        (WebCore::WidthIterator::advance): All spaces (ordinary space or &nbsp;) get word-spacing added, even
     26          if they are consecutive.
     27        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
     28        (WebCore::HarfBuzzShaperBase::isWordEnd): ditto, but for the complex text case on Chromium. Had to use
     29          m_run rather than m_normalizedBuffer here as m_normalizedBuffer turns tabs into spaces! Unlike the simple
     30          text path, '\n' gets word-spacing - I observed this from fast/text/atsui-spacing-features.html but can't
     31          find it specified anywhere.
     32        * platform/graphics/harfbuzz/HarfBuzzShaperBase.h:
     33        (WebCore::HarfBuzzShaperBase::isCodepointSpace):
     34        * rendering/RenderBlockLineLayout.cpp:
     35        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Tested by word-spacing-linebreak.html
     36
    1372012-08-14  Antoine Labour  <piman@chromium.org>
    238
  • trunk/Source/WebCore/platform/graphics/WidthIterator.cpp

    r125437 r125578  
    186186                // Account for word spacing.
    187187                // We apply additional space between "words" by adding width to the space character.
    188                 if (treatAsSpace && textIterator.currentCharacter() && !Font::treatAsSpace(textIterator.characters()[-1]) && m_font->wordSpacing())
     188                // Word-spacing affects each space (U+0020) and non-breaking space (U+00A0).
     189                if ((character == noBreakSpace || character == ' ') && textIterator.currentCharacter() && m_font->wordSpacing())
    189190                    width += m_font->wordSpacing();
    190191            } else
  • trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp

    r125437 r125578  
    122122{
    123123    // This could refer a high-surrogate, but should work.
    124     return index && isCodepointSpace(m_normalizedBuffer[index]) && !isCodepointSpace(m_normalizedBuffer[index - 1]);
     124    return index && isCodepointSpace(m_run[index]);
    125125}
    126126
  • trunk/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.h

    r125437 r125578  
    3434#include "TextRun.h"
    3535#include <wtf/OwnArrayPtr.h>
     36#include <wtf/unicode/CharacterNames.h>
    3637
    3738namespace WebCore {
     
    5859    void setPadding(int);
    5960
    60     // This matches the logic in RenderBlock::findNextLineBreak
    61     static bool isCodepointSpace(UChar c) { return c == ' ' || c == '\t'; }
     61    // In complex text word-spacing affects each line-break, space (U+0020) and non-breaking space (U+00A0).
     62    static bool isCodepointSpace(UChar c) { return c == ' ' || c == noBreakSpace || c == '\n'; }
    6263
    6364    const Font* m_font;
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r125503 r125578  
    24272427                    }
    24282428
    2429                     applyWordSpacing =  wordSpacing && currentCharacterIsSpace && !previousCharacterIsSpace;
     2429                    applyWordSpacing =  wordSpacing && currentCharacterIsSpace;
    24302430
    24312431                    if (!width.committedWidth() && autoWrap && !width.fitsOnLine())
Note: See TracChangeset for help on using the changeset viewer.