Changeset 128693 in webkit


Ignore:
Timestamp:
Sep 15, 2012 3:26:16 PM (12 years ago)
Author:
mitz@apple.com
Message:

REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
https://bugs.webkit.org/show_bug.cgi?id=96869

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/text/word-space-monospace.html
This also fixes fast/css/word-spacing-characters.html

  • rendering/RenderText.cpp:

(WebCore::RenderText::widthFromCache): Made the conditions for adding word spacing match the
ones in WidthIterator.

LayoutTests:

  • fast/text/word-space-monospace-expected.html: Added.
  • fast/text/word-space-monospace.html: Added.
  • platform/mac/TestExpectations: Removed fast/css/word-spacing-characters.html.
  • platform/mac/fast/css/word-space-extra-expected.png: Updated.
  • platform/mac/fast/css/word-space-extra-expected.txt: Updated.
Location:
trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r128692 r128693  
     12012-09-15  Dan Bernstein  <mitz@apple.com>
     2
     3        REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
     4        https://bugs.webkit.org/show_bug.cgi?id=96869
     5
     6        Reviewed by Eric Seidel.
     7
     8        * fast/text/word-space-monospace-expected.html: Added.
     9        * fast/text/word-space-monospace.html: Added.
     10        * platform/mac/TestExpectations: Removed fast/css/word-spacing-characters.html.
     11        * platform/mac/fast/css/word-space-extra-expected.png: Updated.
     12        * platform/mac/fast/css/word-space-extra-expected.txt: Updated.
     13
    1142012-09-15  Dan Bernstein  <mitz@apple.com>
    215
  • trunk/LayoutTests/platform/mac/TestExpectations

    r128692 r128693  
    318318BUGWK93636 : http/tests/images/jpg-img-partial-load.html = TEXT
    319319
    320 // Added by bug 89826
    321 BUGWK94008 : fast/css/word-spacing-characters.html = IMAGE
    322 
    323320// (r125790): Newly added test inspector/timeline/timeline-decode-resize.html is failing on mac
    324321BUGWK94374 : inspector/timeline/timeline-decode-resize.html = TEXT
  • trunk/LayoutTests/platform/mac/fast/css/word-space-extra-expected.txt

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

    r128692 r128693  
     12012-09-15  Dan Bernstein  <mitz@apple.com>
     2
     3        REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
     4        https://bugs.webkit.org/show_bug.cgi?id=96869
     5
     6        Reviewed by Eric Seidel.
     7
     8        Test: fast/text/word-space-monospace.html
     9        This also fixes fast/css/word-spacing-characters.html
     10
     11        * rendering/RenderText.cpp:
     12        (WebCore::RenderText::widthFromCache): Made the conditions for adding word spacing match the
     13        ones in WidthIterator.
     14
    1152012-09-15  Dan Bernstein  <mitz@apple.com>
    216
  • trunk/Source/WebCore/rendering/RenderText.cpp

    r127801 r128693  
    728728        float w = 0;
    729729        bool isSpace;
    730         bool previousCharWasSpace = true; // FIXME: Preserves historical behavior, but seems wrong for start > 0.
    731730        ASSERT(m_text);
    732731        StringImpl& text = *m_text.impl();
     
    738737                    isSpace = true;
    739738                } else if (c == '\t') {
    740                     w += style()->collapseWhiteSpace() ? monospaceCharacterWidth : f.tabWidth(style()->tabSize(), xPos + w);
    741                     isSpace = true;
     739                    if (style()->collapseWhiteSpace()) {
     740                        w += monospaceCharacterWidth;
     741                        isSpace = true;
     742                    } else {
     743                        w += f.tabWidth(style()->tabSize(), xPos + w);
     744                        isSpace = false;
     745                    }
    742746                } else
    743747                    isSpace = false;
     
    746750                isSpace = false;
    747751            }
    748             if (isSpace && !previousCharWasSpace)
     752            if (isSpace && i > start)
    749753                w += f.wordSpacing();
    750             previousCharWasSpace = isSpace;
    751754        }
    752755        return w;
Note: See TracChangeset for help on using the changeset viewer.