[webkit-changes] cvs commit: WebCore/layout-tests/fast/css word-space-extra-expected.txt word-space-extra.html

Darin darin at opensource.apple.com
Sun Aug 14 21:31:10 PDT 2005


darin       05/08/14 21:31:09

  Modified:    .        ChangeLog WebCore-tests.exp
               khtml/rendering bidi.cpp font.cpp font.h render_line.cpp
                        render_line.h render_text.cpp render_text.h
  Added:       layout-tests/fast/css word-space-extra-expected.txt
                        word-space-extra.html
  Log:
          Reviewed and landed by Darin.
  
          - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3692
            Word-spacing doesn't work as expected
  
          Test cases added:
          * layout-tests/fast/css/word-space-extra-expected.txt: Added.
          * layout-tests/fast/css/word-space-extra.html: Added.
  
          * khtml/rendering/bidi.cpp:
          (khtml::RenderBlock::constructLine):
          (khtml::RenderBlock::computeHorizontalPositionsForLine):
          (khtml::RenderBlock::findNextLineBreak):
          * khtml/rendering/font.cpp:
          (Font::drawText):
          * khtml/rendering/font.h:
          (khtml::Font::getWordSpacing):
          * khtml/rendering/render_line.cpp:
          (khtml::InlineFlowBox::placeBoxesHorizontally):
          * khtml/rendering/render_line.h:
          * khtml/rendering/render_text.cpp:
          (RenderText::widthFromCache):
          (RenderText::trimmedMinMaxWidth):
          (RenderText::calcMinMaxWidth):
          * khtml/rendering/render_text.h:
          (khtml::InlineTextBox::setStart):
          (khtml::InlineTextBox::setLen):
  
  Revision  Changes    Path
  1.4574    +30 -0     WebCore/ChangeLog
  
  Index: ChangeLog
  ===================================================================
  RCS file: /cvs/root/WebCore/ChangeLog,v
  retrieving revision 1.4573
  retrieving revision 1.4574
  diff -u -r1.4573 -r1.4574
  --- ChangeLog	15 Aug 2005 03:39:24 -0000	1.4573
  +++ ChangeLog	15 Aug 2005 04:30:54 -0000	1.4574
  @@ -1,3 +1,33 @@
  +2005-08-14  Oliver Hunt  <ojh16 at student.canterbury.ac.nz>
  +
  +        Reviewed and landed by Darin.
  +
  +        - fixed http://bugzilla.opendarwin.org/show_bug.cgi?id=3692
  +          Word-spacing doesn't work as expected
  +
  +        Test cases added:
  +        * layout-tests/fast/css/word-space-extra-expected.txt: Added.
  +        * layout-tests/fast/css/word-space-extra.html: Added.
  +
  +        * khtml/rendering/bidi.cpp:
  +        (khtml::RenderBlock::constructLine):
  +        (khtml::RenderBlock::computeHorizontalPositionsForLine):
  +        (khtml::RenderBlock::findNextLineBreak):
  +        * khtml/rendering/font.cpp:
  +        (Font::drawText):
  +        * khtml/rendering/font.h:
  +        (khtml::Font::getWordSpacing):
  +        * khtml/rendering/render_line.cpp:
  +        (khtml::InlineFlowBox::placeBoxesHorizontally):
  +        * khtml/rendering/render_line.h:
  +        * khtml/rendering/render_text.cpp:
  +        (RenderText::widthFromCache):
  +        (RenderText::trimmedMinMaxWidth):
  +        (RenderText::calcMinMaxWidth):
  +        * khtml/rendering/render_text.h:
  +        (khtml::InlineTextBox::setStart):
  +        (khtml::InlineTextBox::setLen):
  +
   2005-08-14  Maciej Stachowiak  <mjs at apple.com>
   
           - updated test cases for new editing delegate output
  
  
  
  1.35      +0 -10     WebCore/WebCore-tests.exp
  
  Index: WebCore-tests.exp
  ===================================================================
  RCS file: /cvs/root/WebCore/WebCore-tests.exp,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- WebCore-tests.exp	27 May 2005 21:39:39 -0000	1.34
  +++ WebCore-tests.exp	15 Aug 2005 04:30:59 -0000	1.35
  @@ -87,20 +87,12 @@
   __ZN19KWQListIteratorImplaSERKS_
   __ZN19KWQListIteratorImplmmEv
   __ZN19KWQListIteratorImplppEv
  -__ZN20KWQValueListNodeImplC2Ev
   __ZN22KWQPtrDictIteratorImpl7toFirstEv
   __ZN22KWQPtrDictIteratorImplC1ERK14KWQPtrDictImpl
   __ZN22KWQPtrDictIteratorImplC2ERK14KWQPtrDictImpl
   __ZN22KWQPtrDictIteratorImplD1Ev
   __ZN22KWQPtrDictIteratorImplD2Ev
   __ZN22KWQPtrDictIteratorImplppEv
  -__ZN24KWQValueListIteratorImpl4nodeEv
  -__ZN24KWQValueListIteratorImplC1Ev
  -__ZN24KWQValueListIteratorImpleqERKS_
  -__ZN24KWQValueListIteratorImplmmEv
  -__ZN24KWQValueListIteratorImplneERKS_
  -__ZN24KWQValueListIteratorImplppEi
  -__ZN24KWQValueListIteratorImplppEv
   __ZN3DOM13DOMStringImplD1Ev
   __ZN4KURL11setProtocolERK7QString
   __ZN4KURL13decode_stringERK7QStringPK10QTextCodec
  @@ -177,7 +169,6 @@
   __ZNK11KWQListImpl7getLastEv
   __ZNK11QStringList4joinERK7QString
   __ZNK12KWQArrayImpl4dataEv
  -__ZNK12KWQArrayImpl4sizeEv
   __ZNK12KWQArrayImpleqERKS_
   __ZNK14KWQPtrDictImpl4findEPv
   __ZNK14KWQPtrDictImpl5countEv
  @@ -193,7 +184,6 @@
   __ZNK22KWQPtrDictIteratorImpl10currentKeyEv
   __ZNK22KWQPtrDictIteratorImpl5countEv
   __ZNK22KWQPtrDictIteratorImpl7currentEv
  -__ZNK24KWQValueListIteratorImpl4nodeEv
   __ZNK3DOM11ElementImpl17formatForDebuggerEPcj
   __ZNK3DOM8NodeImpl17formatForDebuggerEPcj
   __ZNK3DOM8Position17formatForDebuggerEPcj
  
  
  
  1.139     +26 -10    WebCore/khtml/rendering/bidi.cpp
  
  Index: bidi.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/bidi.cpp,v
  retrieving revision 1.138
  retrieving revision 1.139
  diff -u -r1.138 -r1.139
  --- bidi.cpp	9 Aug 2005 00:13:49 -0000	1.138
  +++ bidi.cpp	15 Aug 2005 04:31:06 -0000	1.139
  @@ -693,6 +693,13 @@
   
               // Append the inline box to this line.
               parentBox->addToLine(r->box);
  +            
  +            if (r->box->isInlineTextBox()) {
  +                InlineTextBox *text = static_cast<InlineTextBox*>(r->box);
  +                text->setStart(r->start);
  +                text->setLen(r->stop-r->start);
  +            }
  +              
           }
       }
   
  @@ -740,26 +747,34 @@
       int availableWidth = lineWidth(m_height);
       int totWidth = lineBox->getFlowSpacingWidth();
       BidiRun* r = 0;
  +    bool needsWordSpacing = false;
       for (r = sFirstBidiRun; r; r = r->nextRun) {
           if (!r->box || r->obj->isPositioned())
               continue; // Positioned objects are only participating to figure out their
                         // correct static x position.  They have no effect on the width.
           if (r->obj->isText()) {
  -            int textWidth = static_cast<RenderText *>(r->obj)->width(r->start, r->stop-r->start, totWidth, m_firstLine);
  +            RenderText *rt = static_cast<RenderText *>(r->obj);
  +            int textWidth = rt->width(r->start, r->stop-r->start, totWidth, m_firstLine);
  +            int effectiveWidth = textWidth;
  +            int rtLength = rt->length();
  +            if (rtLength != 0) {
  +                if (r->start == 0 && needsWordSpacing && rt->text()[r->start].isSpace())
  +                    effectiveWidth += rt->htmlFont(m_firstLine)->getWordSpacing();
  +                needsWordSpacing = !rt->text()[r->stop-1].isSpace() && r->stop == rtLength;          
  +            }
               if (!r->compact) {
                   RenderStyle *style = r->obj->style();
                   if (style->whiteSpace() == NORMAL && style->khtmlLineBreak() == AFTER_WHITE_SPACE) {
                       // shrink the box as needed to keep the line from overflowing the available width
  -                    textWidth = kMin(textWidth, availableWidth - totWidth + style->borderLeftWidth());
  +                    textWidth = kMin(effectiveWidth, availableWidth - totWidth + style->borderLeftWidth());
                   }
               }
               r->box->setWidth(textWidth);
  -        }
  -        else if (!r->obj->isInlineFlow()) {
  +        } else if (!r->obj->isInlineFlow()) {
               r->obj->calcWidth();
               r->box->setWidth(r->obj->width());
               if (!r->compact)
  -                totWidth += r->obj->marginLeft() + r->obj->marginRight();
  +                 totWidth += r->obj->marginLeft() + r->obj->marginRight();
           }
   
           // Compacts don't contribute to the width of the line, since they are placed in the margin.
  @@ -838,7 +853,8 @@
       // compute accurate widths for the inline flow boxes).
       int leftPosition = x;
       int rightPosition = x;
  -    lineBox->placeBoxesHorizontally(x, leftPosition, rightPosition);
  +    needsWordSpacing = false;
  +    lineBox->placeBoxesHorizontally(x, leftPosition, rightPosition, needsWordSpacing);
       lineBox->setHorizontalOverflowPositions(leftPosition, rightPosition);
   }
   
  @@ -2155,7 +2171,7 @@
                       if (o->style()->whiteSpace() == NORMAL || breakWords) {
                           // In AFTER_WHITE_SPACE mode, consider the current character
                           // as candidate width for this line.
  -                        int charWidth = o->style()->khtmlLineBreak() == AFTER_WHITE_SPACE ? t->width(pos, 1, f, w+tmpW) : 0;
  +                        int charWidth = o->style()->khtmlLineBreak() == AFTER_WHITE_SPACE ? t->width(pos, 1, f, w + tmpW) : 0;
                           if (w + tmpW + charWidth > width) {
                               if (o->style()->khtmlLineBreak() == AFTER_WHITE_SPACE) {
                                   // Check if line is too big even without the extra space
  @@ -2268,14 +2284,14 @@
                       QChar *str = nextText->text();
                       if (strlen &&
                           ((str[0].unicode() == ' ') ||
  -                            (next->style()->whiteSpace() != PRE && str[0] == '\n')))
  +                            (next->style()->whiteSpace() != PRE && str[0] == '\n'))) {
                           // If the next item on the line is text, and if we did not end with
                           // a space, then the next text run continues our word (and so it needs to
                           // keep adding to |tmpW|.  Just update and continue.
                           checkForBreak = true;
  -                    else
  +                        tmpW += nextText->htmlFont(m_firstLine)->getWordSpacing();
  +                    } else
                           checkForBreak = false;
  -
                       bool canPlaceOnLine = (w + tmpW <= width+1) || !isNormal;
                       if (canPlaceOnLine && checkForBreak) {
                           w += tmpW;
  
  
  
  1.43      +1 -1      WebCore/khtml/rendering/font.cpp
  
  Index: font.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/font.cpp,v
  retrieving revision 1.42
  retrieving revision 1.43
  diff -u -r1.42 -r1.43
  --- font.cpp	29 Jul 2005 23:42:48 -0000	1.42
  +++ font.cpp	15 Aug 2005 04:31:06 -0000	1.43
  @@ -88,7 +88,7 @@
               int chw = fm.charWidth( qstr, pos+i );
               if ( letterSpacing )
                   chw += letterSpacing;
  -            if ( (wordSpacing || toAdd) && str[i+pos].isSpace() ) {
  +            if (i > 0 && (wordSpacing || toAdd) && str[i+pos].isSpace() && !str[i+pos-1].isSpace()) {
                   chw += wordSpacing;
                   if ( numSpaces ) {
                       int a = toAdd/numSpaces;
  
  
  
  1.33      +1 -1      WebCore/khtml/rendering/font.h
  
  Index: font.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/font.h,v
  retrieving revision 1.32
  retrieving revision 1.33
  diff -u -r1.32 -r1.33
  --- font.h	29 Jul 2005 23:42:49 -0000	1.32
  +++ font.h	15 Aug 2005 04:31:06 -0000	1.33
  @@ -138,7 +138,7 @@
       int width( QChar *str, int slen, int tabWidth, int xpos ) const;
   
       bool isSmallCaps() const { return fontDef.smallCaps; }
  -    
  +    short getWordSpacing() const { return wordSpacing; }
   private:
       FontDef fontDef;
       mutable QFont f;
  
  
  
  1.46      +10 -4     WebCore/khtml/rendering/render_line.cpp
  
  Index: render_line.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_line.cpp,v
  retrieving revision 1.45
  retrieving revision 1.46
  diff -u -r1.45 -r1.46
  --- render_line.cpp	29 Jul 2005 23:42:50 -0000	1.45
  +++ render_line.cpp	15 Aug 2005 04:31:06 -0000	1.46
  @@ -461,7 +461,7 @@
       }
   }
   
  -int InlineFlowBox::placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition)
  +int InlineFlowBox::placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition, bool & needsWordSpacing)
   {
       // Set our x position.
       setXPos(x);
  @@ -472,7 +472,13 @@
       
       for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) {
           if (curr->object()->isText()) {
  -            InlineTextBox* text = static_cast<InlineTextBox*>(curr);
  +            InlineTextBox *text = static_cast<InlineTextBox*>(curr);
  +            RenderText *rt = static_cast<RenderText*>(text->object());
  +            if (rt->length()) {
  +                if (needsWordSpacing && rt->text()[text->start()].isSpace())
  +                    x += rt->htmlFont(m_firstLine)->getWordSpacing();
  +                needsWordSpacing = !rt->text()[text->end()].isSpace();
  +            }
               text->setXPos(x);
               leftPosition = kMin(x, leftPosition);
               rightPosition = kMax(x + text->width(), rightPosition);
  @@ -493,11 +499,11 @@
                   InlineFlowBox* flow = static_cast<InlineFlowBox*>(curr);
                   if (curr->object()->isCompact()) {
                       int ignoredX = x;
  -                    flow->placeBoxesHorizontally(ignoredX, leftPosition, rightPosition);
  +                    flow->placeBoxesHorizontally(ignoredX, leftPosition, rightPosition, needsWordSpacing);
                   }
                   else {
                       x += flow->marginLeft();
  -                    x = flow->placeBoxesHorizontally(x, leftPosition, rightPosition);
  +                    x = flow->placeBoxesHorizontally(x, leftPosition, rightPosition, needsWordSpacing);
                       x += flow->marginRight();
                   }
               }
  
  
  
  1.30      +1 -1      WebCore/khtml/rendering/render_line.h
  
  Index: render_line.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_line.h,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- render_line.h	29 Jul 2005 23:42:50 -0000	1.29
  +++ render_line.h	15 Aug 2005 04:31:06 -0000	1.30
  @@ -270,7 +270,7 @@
       void determineSpacingForFlowBoxes(bool lastLine, RenderObject* endObject);
       int getFlowSpacingWidth();
       bool onEndChain(RenderObject* endObject);
  -    int placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition);
  +    int placeBoxesHorizontally(int x, int& leftPosition, int& rightPosition, bool& needsWordSpacing);
       void verticallyAlignBoxes(int& heightOfBlock);
       void computeLogicalBoxHeights(int& maxPositionTop, int& maxPositionBottom,
                                     int& maxAscent, int& maxDescent, bool strictMode);
  
  
  
  1.189     +8 -1      WebCore/khtml/rendering/render_text.cpp
  
  Index: render_text.cpp
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_text.cpp,v
  retrieving revision 1.188
  retrieving revision 1.189
  diff -u -r1.188 -r1.189
  --- render_text.cpp	29 Jul 2005 23:42:51 -0000	1.188
  +++ render_text.cpp	15 Aug 2005 04:31:06 -0000	1.189
  @@ -1179,6 +1179,8 @@
                       w += tabWidth - ((xpos + w) % tabWidth);
                   } else
                       w += m_monospaceCharacterWidth;
  +                if (c.isSpace() && i>start && !str->s[i-1].isSpace())
  +                    w += f->getWordSpacing();        
               }
           }
   
  @@ -1238,7 +1240,7 @@
           const Font *f = htmlFont( false );
           QChar space[1]; space[0] = ' ';
           int spaceWidth = f->width(space, 1, 0, 0);
  -        maxW -= spaceWidth;
  +        maxW -= spaceWidth + f->getWordSpacing();
       }
       
       stripFrontSpaces = !isPre && m_hasEndWS;
  @@ -1312,6 +1314,7 @@
       const Font *f = htmlFont( false );
       int wordSpacing = style()->wordSpacing();
       int len = str->l;
  +    bool needsWordSpacing = false;
       bool ignoringSpaces = false;
       bool isSpace = false;
       bool isPre = style()->whiteSpace() == PRE;
  @@ -1424,10 +1427,14 @@
               else
               {
                   currMaxWidth += f->width(str->s, str->l, i + wordlen, 1, tabWidth(), leadWidth + currMaxWidth);
  +                needsWordSpacing = isSpace && !previousCharacterIsSpace && i + wordlen == len-1;
               }
           }
       }
   
  +    if (needsWordSpacing && len > 1) 
  +        currMaxWidth += wordSpacing;
  +    
       if(currMinWidth > m_minWidth) m_minWidth = currMinWidth;
       if(currMaxWidth > m_maxWidth) m_maxWidth = currMaxWidth;
           
  
  
  
  1.83      +3 -0      WebCore/khtml/rendering/render_text.h
  
  Index: render_text.h
  ===================================================================
  RCS file: /cvs/root/WebCore/khtml/rendering/render_text.h,v
  retrieving revision 1.82
  retrieving revision 1.83
  diff -u -r1.82 -r1.83
  --- render_text.h	29 Jul 2005 23:42:51 -0000	1.82
  +++ render_text.h	15 Aug 2005 04:31:07 -0000	1.83
  @@ -73,6 +73,9 @@
       uint start() const { return m_start; }
       uint end() const { return m_len ? m_start+m_len-1 : m_start; }
       uint len() const { return m_len; }
  +  
  +    void setStart(uint start) { m_start = start; }
  +    void setLen(uint len) { m_len = len; }
   
       void offsetRun(int d) { m_start += d; }
   
  
  
  
  1.1                  WebCore/layout-tests/fast/css/word-space-extra-expected.txt
  
  Index: word-space-extra-expected.txt
  ===================================================================
  layer at (0,0) size 2006x2375
    RenderCanvas at (0,0) size 800x585
  layer at (0,0) size 2006x2375
    RenderBlock {HTML} at (0,0) size 800x2375
      RenderBody {BODY} at (8,8) size 784x2359
        RenderBlock {H2} at (0,0) size 784x28
          RenderText {TEXT} at (0,0) size 138x28
            text run at (0,0) width 138: "word-spacing"
        RenderBlock (floating) {PRE} at (0,60) size 1164x167
          RenderBlock {H3} at (0,15) size 1164x17
            RenderText {TEXT} at (0,0) size 204x17
              text run at (0,0) width 204: "In a floated pre"
          RenderBlock (anonymous) at (0,47) size 1164x120
            RenderText {TEXT} at (0,15) size 220x15
              text run at (0,15) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,15) size 24x15
                text run at (220,15) width 24: "for"
            RenderText {TEXT} at (264,15) size 8x15
              text run at (264,15) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,15) size 64x15
                text run at (272,15) width 64: "elements"
            RenderText {TEXT} at (356,15) size 8x15
              text run at (356,15) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,15) size 48x15
                text run at (364,15) width 48: "within"
            RenderText {TEXT} at (432,15) size 564x30
              text run at (432,15) width 132: " elements too."
              text run at (0,30) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,30) size 24x15
                text run at (220,30) width 24: "for"
            RenderText {TEXT} at (264,30) size 8x15
              text run at (264,30) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,30) size 64x15
                text run at (272,30) width 64: "elements"
            RenderText {TEXT} at (356,30) size 8x15
              text run at (356,30) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,30) size 48x15
                text run at (364,30) width 48: "within"
            RenderText {TEXT} at (432,30) size 100x15
              text run at (432,30) width 100: " elements "
            RenderText {TEXT} at (532,30) size 1012x30
              text run at (532,30) width 480: " too. (with comment between elements and too)"
              text run at (0,45) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,45) size 24x15
                text run at (220,45) width 24: "for"
            RenderText {TEXT} at (264,45) size 8x15
              text run at (264,45) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,45) size 64x15
                text run at (272,45) width 64: "elements"
            RenderText {TEXT} at (356,45) size 8x15
              text run at (356,45) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,45) size 48x15
                text run at (364,45) width 48: "within"
            RenderText {TEXT} at (432,45) size 72x15
              text run at (432,45) width 72: " elements"
            RenderText {TEXT} at (524,45) size 1240x30
              text run at (524,45) width 716: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,60) size 24x15
                text run at (220,60) width 24: "for"
            RenderText {TEXT} at (264,60) size 8x15
              text run at (264,60) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,60) size 64x15
                text run at (272,60) width 64: "elements"
            RenderText {TEXT} at (356,60) size 8x15
              text run at (356,60) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,60) size 48x15
                text run at (364,60) width 48: "within"
            RenderText {TEXT} at (432,60) size 100x15
              text run at (432,60) width 100: " elements "
            RenderText {TEXT} at (532,60) size 692x15
              text run at (532,60) width 692: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 336x15
              RenderText {TEXT} at (0,75) size 220x15
                text run at (0,75) width 220: "Word   spacing test "
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (220,75) size 24x15
                  text run at (220,75) width 24: "for"
              RenderText {TEXT} at (264,75) size 8x15
                text run at (264,75) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (272,75) size 64x15
                  text run at (272,75) width 64: "elements"
            RenderText {TEXT} at (356,75) size 8x15
              text run at (356,75) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,75) size 48x15
                text run at (364,75) width 48: "within"
            RenderText {TEXT} at (432,75) size 1056x30
              text run at (432,75) width 624: " elements too. (with monospace font from Word to elements)"
              text run at (0,90) width 220: "Word   spacing test "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (220,90) size 24x15
                  text run at (220,90) width 24: "for"
              RenderText {TEXT} at (264,90) size 8x15
                text run at (264,90) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (272,90) size 64x15
                  text run at (272,90) width 64: "elements"
              RenderText {TEXT} at (356,90) size 8x15
                text run at (356,90) width 8: " "
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (364,90) size 48x15
                  text run at (364,90) width 48: "within"
            RenderText {TEXT} at (432,90) size 1032x30
              text run at (432,90) width 600: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,105) size 24x15
                text run at (220,105) width 24: "for"
            RenderText {TEXT} at (264,105) size 8x15
              text run at (264,105) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,105) size 64x15
                text run at (272,105) width 64: "elements"
            RenderText {TEXT} at (356,105) size 8x15
              text run at (356,105) width 8: " "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (364,105) size 48x15
                  text run at (364,105) width 48: "within"
              RenderText {TEXT} at (432,105) size 124x15
                text run at (432,105) width 124: " elements too"
            RenderText {TEXT} at (556,105) size 492x15
              text run at (556,105) width 492: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,47) size 784x193
          RenderBR {BR} at (1164,0) size 0x18
        RenderBlock {PRE} at (0,255) size 784x152
          RenderBlock {H3} at (0,0) size 784x17
            RenderText {TEXT} at (0,0) size 240x17
              text run at (0,0) width 240: "In an un-floated pre"
          RenderBlock (anonymous) at (0,32) size 784x120
            RenderText {TEXT} at (0,15) size 220x15
              text run at (0,15) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,15) size 24x15
                text run at (220,15) width 24: "for"
            RenderText {TEXT} at (264,15) size 8x15
              text run at (264,15) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,15) size 64x15
                text run at (272,15) width 64: "elements"
            RenderText {TEXT} at (356,15) size 8x15
              text run at (356,15) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,15) size 48x15
                text run at (364,15) width 48: "within"
            RenderText {TEXT} at (432,15) size 564x30
              text run at (432,15) width 132: " elements too."
              text run at (0,30) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,30) size 24x15
                text run at (220,30) width 24: "for"
            RenderText {TEXT} at (264,30) size 8x15
              text run at (264,30) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,30) size 64x15
                text run at (272,30) width 64: "elements"
            RenderText {TEXT} at (356,30) size 8x15
              text run at (356,30) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,30) size 48x15
                text run at (364,30) width 48: "within"
            RenderText {TEXT} at (432,30) size 100x15
              text run at (432,30) width 100: " elements "
            RenderText {TEXT} at (532,30) size 1012x30
              text run at (532,30) width 480: " too. (with comment between elements and too)"
              text run at (0,45) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,45) size 24x15
                text run at (220,45) width 24: "for"
            RenderText {TEXT} at (264,45) size 8x15
              text run at (264,45) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,45) size 64x15
                text run at (272,45) width 64: "elements"
            RenderText {TEXT} at (356,45) size 8x15
              text run at (356,45) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,45) size 48x15
                text run at (364,45) width 48: "within"
            RenderText {TEXT} at (432,45) size 72x15
              text run at (432,45) width 72: " elements"
            RenderText {TEXT} at (524,45) size 1240x30
              text run at (524,45) width 716: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,60) size 24x15
                text run at (220,60) width 24: "for"
            RenderText {TEXT} at (264,60) size 8x15
              text run at (264,60) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,60) size 64x15
                text run at (272,60) width 64: "elements"
            RenderText {TEXT} at (356,60) size 8x15
              text run at (356,60) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,60) size 48x15
                text run at (364,60) width 48: "within"
            RenderText {TEXT} at (432,60) size 100x15
              text run at (432,60) width 100: " elements "
            RenderText {TEXT} at (532,60) size 692x15
              text run at (532,60) width 692: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 336x15
              RenderText {TEXT} at (0,75) size 220x15
                text run at (0,75) width 220: "Word   spacing test "
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (220,75) size 24x15
                  text run at (220,75) width 24: "for"
              RenderText {TEXT} at (264,75) size 8x15
                text run at (264,75) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (272,75) size 64x15
                  text run at (272,75) width 64: "elements"
            RenderText {TEXT} at (356,75) size 8x15
              text run at (356,75) width 8: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (364,75) size 48x15
                text run at (364,75) width 48: "within"
            RenderText {TEXT} at (432,75) size 1056x30
              text run at (432,75) width 624: " elements too. (with monospace font from Word to elements)"
              text run at (0,90) width 220: "Word   spacing test "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (220,90) size 24x15
                  text run at (220,90) width 24: "for"
              RenderText {TEXT} at (264,90) size 8x15
                text run at (264,90) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (272,90) size 64x15
                  text run at (272,90) width 64: "elements"
              RenderText {TEXT} at (356,90) size 8x15
                text run at (356,90) width 8: " "
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (364,90) size 48x15
                  text run at (364,90) width 48: "within"
            RenderText {TEXT} at (432,90) size 1032x30
              text run at (432,90) width 600: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 220: "Word   spacing test "
            RenderInline {EM} at (0,0) size 24x15
              RenderText {TEXT} at (220,105) size 24x15
                text run at (220,105) width 24: "for"
            RenderText {TEXT} at (264,105) size 8x15
              text run at (264,105) width 8: " "
            RenderInline {STRONG} at (0,0) size 64x15
              RenderText {TEXT} at (272,105) size 64x15
                text run at (272,105) width 64: "elements"
            RenderText {TEXT} at (356,105) size 8x15
              text run at (356,105) width 8: " "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (364,105) size 48x15
                  text run at (364,105) width 48: "within"
              RenderText {TEXT} at (432,105) size 124x15
                text run at (432,105) width 124: " elements too"
            RenderText {TEXT} at (556,105) size 492x15
              text run at (556,105) width 492: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,420) size 784x0
          RenderInline {SPAN} at (0,0) size 0x0
            RenderText {TEXT} at (0,0) size 0x0
        RenderBlock (anonymous) at (0,425) size 784x22
          RenderBlock {H3} at (0,0) size 784x22
            RenderText {TEXT} at (0,0) size 117x22
              text run at (0,0) width 117: "In a span"
        RenderBlock (anonymous) at (0,465) size 784x270
          RenderInline {SPAN} at (0,0) size 792x234
            RenderText {TEXT} at (0,0) size 177x18
              text run at (0,0) width 60: "Word "
              text run at (60,0) width 117: "spacing test "
            RenderInline {EM} at (0,0) size 18x18
              RenderText {TEXT} at (177,0) size 18x18
                text run at (177,0) width 18: "for"
            RenderText {TEXT} at (215,0) size 4x18
              text run at (215,0) width 4: " "
            RenderInline {STRONG} at (0,0) size 58x18
              RenderText {TEXT} at (219,0) size 58x18
                text run at (219,0) width 58: "elements"
            RenderText {TEXT} at (297,0) size 4x18
              text run at (297,0) width 4: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (301,2) size 48x15
                text run at (301,2) width 48: "within"
            RenderText {TEXT} at (369,0) size 107x18
              text run at (369,0) width 107: " elements too."
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,18) size 177x18
              text run at (0,18) width 60: "Word "
              text run at (60,18) width 117: "spacing test "
            RenderInline {EM} at (0,0) size 18x18
              RenderText {TEXT} at (177,18) size 18x18
                text run at (177,18) width 18: "for"
            RenderText {TEXT} at (215,18) size 4x18
              text run at (215,18) width 4: " "
            RenderInline {STRONG} at (0,0) size 58x18
              RenderText {TEXT} at (219,18) size 58x18
                text run at (219,18) width 58: "elements"
            RenderText {TEXT} at (297,18) size 4x18
              text run at (297,18) width 4: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (301,20) size 48x15
                text run at (301,20) width 48: "within"
            RenderText {TEXT} at (369,18) size 83x18
              text run at (369,18) width 83: " elements "
            RenderText {TEXT} at (452,18) size 771x36
              text run at (452,18) width 319: "too. (with comment between elements"
              text run at (0,36) width 72: "and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,54) size 177x18
              text run at (0,54) width 60: "Word "
              text run at (60,54) width 117: "spacing test "
            RenderInline {EM} at (0,0) size 18x18
              RenderText {TEXT} at (177,54) size 18x18
                text run at (177,54) width 18: "for"
            RenderText {TEXT} at (215,54) size 4x18
              text run at (215,54) width 4: " "
            RenderInline {STRONG} at (0,0) size 58x18
              RenderText {TEXT} at (219,54) size 58x18
                text run at (219,54) width 58: "elements"
            RenderText {TEXT} at (297,54) size 4x18
              text run at (297,54) width 4: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (301,56) size 48x15
                text run at (301,56) width 48: "within"
            RenderText {TEXT} at (369,54) size 59x18
              text run at (369,54) width 59: " elements"
            RenderText {TEXT} at (448,54) size 753x36
              text run at (448,54) width 305: " too. (with comment (no preceeding"
              text run at (0,72) width 292: "space) between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,90) size 177x18
              text run at (0,90) width 60: "Word "
              text run at (60,90) width 117: "spacing test "
            RenderInline {EM} at (0,0) size 18x18
              RenderText {TEXT} at (177,90) size 18x18
                text run at (177,90) width 18: "for"
            RenderText {TEXT} at (215,90) size 4x18
              text run at (215,90) width 4: " "
            RenderInline {STRONG} at (0,0) size 58x18
              RenderText {TEXT} at (219,90) size 58x18
                text run at (219,90) width 58: "elements"
            RenderText {TEXT} at (297,90) size 4x18
              text run at (297,90) width 4: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (301,92) size 48x15
                text run at (301,92) width 48: "within"
            RenderText {TEXT} at (369,90) size 83x18
              text run at (369,90) width 83: " elements "
            RenderText {TEXT} at (452,90) size 792x36
              text run at (452,90) width 340: "too. (with comment (no trailing space)"
              text run at (0,108) width 228: "between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderInline {SPAN} at (0,0) size 320x15
              RenderText {TEXT} at (0,128) size 204x15
                text run at (0,128) width 60: "Word "
                text run at (60,128) width 144: "spacing test "
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (204,128) size 24x15
                  text run at (204,128) width 24: "for"
              RenderText {TEXT} at (248,128) size 8x15
                text run at (248,128) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (256,128) size 64x15
                  text run at (256,128) width 64: "elements"
            RenderText {TEXT} at (340,126) size 4x18
              text run at (340,126) width 4: " "
            RenderInline {TT} at (0,0) size 48x15
              RenderText {TEXT} at (344,128) size 48x15
                text run at (344,128) width 48: "within"
            RenderText {TEXT} at (412,126) size 774x36
              text run at (412,126) width 362: " elements too. (with monospace font from"
              text run at (0,144) width 156: "Word to elements)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,162) size 177x18
              text run at (0,162) width 60: "Word "
              text run at (60,162) width 117: "spacing test "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {EM} at (0,0) size 24x15
                RenderText {TEXT} at (177,164) size 24x15
                  text run at (177,164) width 24: "for"
              RenderText {TEXT} at (221,164) size 8x15
                text run at (221,164) width 8: " "
              RenderInline {STRONG} at (0,0) size 64x15
                RenderText {TEXT} at (229,164) size 64x15
                  text run at (229,164) width 64: "elements"
              RenderText {TEXT} at (313,164) size 8x15
                text run at (313,164) width 8: " "
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (321,164) size 48x15
                  text run at (321,164) width 48: "within"
            RenderText {TEXT} at (389,162) size 751x36
              text run at (389,162) width 362: " elements too. (with monospace font from"
              text run at (0,180) width 123: "for to within)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,198) size 177x18
              text run at (0,198) width 60: "Word "
              text run at (60,198) width 117: "spacing test "
            RenderInline {EM} at (0,0) size 18x18
              RenderText {TEXT} at (177,198) size 18x18
                text run at (177,198) width 18: "for"
            RenderText {TEXT} at (215,198) size 4x18
              text run at (215,198) width 4: " "
            RenderInline {STRONG} at (0,0) size 58x18
              RenderText {TEXT} at (219,198) size 58x18
                text run at (219,198) width 58: "elements"
            RenderText {TEXT} at (297,198) size 4x18
              text run at (297,198) width 4: " "
            RenderInline {SPAN} at (0,0) size 192x15
              RenderInline {TT} at (0,0) size 48x15
                RenderText {TEXT} at (301,200) size 48x15
                  text run at (301,200) width 48: "within"
              RenderText {TEXT} at (369,200) size 124x15
                text run at (369,200) width 124: " elements too"
            RenderText {TEXT} at (493,198) size 752x36
              text run at (493,198) width 259: ". (with monospace font from"
              text run at (0,216) width 164: "elements to too) "
          RenderText {TEXT} at (0,0) size 0x0
          RenderBR {BR} at (0,0) size 0x0
          RenderBR {BR} at (0,234) size 0x18
          RenderBR {BR} at (0,252) size 0x18
        RenderBlock {H2} at (0,754) size 784x28
          RenderText {TEXT} at (0,0) size 141x28
            text run at (0,0) width 141: "letter-spacing"
        RenderBlock (floating) {PRE} at (0,814) size 1521x167
          RenderBlock {H3} at (0,15) size 1521x17
            RenderText {TEXT} at (0,0) size 224x17
              text run at (0,0) width 224: "In a floated pre"
          RenderBlock (anonymous) at (0,47) size 1521x120
            RenderText {TEXT} at (0,15) size 286x15
              text run at (0,15) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,15) size 39x15
                text run at (286,15) width 39: "for"
            RenderText {TEXT} at (325,15) size 13x15
              text run at (325,15) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,15) size 104x15
                text run at (338,15) width 104: "elements"
            RenderText {TEXT} at (442,15) size 13x15
              text run at (442,15) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,15) size 78x15
                text run at (455,15) width 78: "within"
            RenderText {TEXT} at (533,15) size 715x30
              text run at (533,15) width 182: " elements too."
              text run at (0,30) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,30) size 39x15
                text run at (286,30) width 39: "for"
            RenderText {TEXT} at (325,30) size 13x15
              text run at (325,30) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,30) size 104x15
                text run at (338,30) width 104: "elements"
            RenderText {TEXT} at (442,30) size 13x15
              text run at (442,30) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,30) size 78x15
                text run at (455,30) width 78: "within"
            RenderText {TEXT} at (533,30) size 130x15
              text run at (533,30) width 130: " elements "
            RenderText {TEXT} at (663,30) size 1248x30
              text run at (663,30) width 585: " too. (with comment between elements and too)"
              text run at (0,45) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,45) size 39x15
                text run at (286,45) width 39: "for"
            RenderText {TEXT} at (325,45) size 13x15
              text run at (325,45) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,45) size 104x15
                text run at (338,45) width 104: "elements"
            RenderText {TEXT} at (442,45) size 13x15
              text run at (442,45) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,45) size 78x15
                text run at (455,45) width 78: "within"
            RenderText {TEXT} at (533,45) size 117x15
              text run at (533,45) width 117: " elements"
            RenderText {TEXT} at (650,45) size 1521x30
              text run at (650,45) width 871: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,60) size 39x15
                text run at (286,60) width 39: "for"
            RenderText {TEXT} at (325,60) size 13x15
              text run at (325,60) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,60) size 104x15
                text run at (338,60) width 104: "elements"
            RenderText {TEXT} at (442,60) size 13x15
              text run at (442,60) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,60) size 78x15
                text run at (455,60) width 78: "within"
            RenderText {TEXT} at (533,60) size 130x15
              text run at (533,60) width 130: " elements "
            RenderText {TEXT} at (663,60) size 832x15
              text run at (663,60) width 832: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 442x15
              RenderText {TEXT} at (0,75) size 286x15
                text run at (0,75) width 286: "Letter   spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (286,75) size 39x15
                  text run at (286,75) width 39: "for"
              RenderText {TEXT} at (325,75) size 13x15
                text run at (325,75) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (338,75) size 104x15
                  text run at (338,75) width 104: "elements"
            RenderText {TEXT} at (442,75) size 13x15
              text run at (442,75) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,75) size 78x15
                text run at (455,75) width 78: "within"
            RenderText {TEXT} at (533,75) size 1313x30
              text run at (533,75) width 780: " elements too. (with monospace font from Letter to elements)"
              text run at (0,90) width 286: "Letter   spacing test "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (286,90) size 39x15
                  text run at (286,90) width 39: "for"
              RenderText {TEXT} at (325,90) size 13x15
                text run at (325,90) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (338,90) size 104x15
                  text run at (338,90) width 104: "elements"
              RenderText {TEXT} at (442,90) size 13x15
                text run at (442,90) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (455,90) size 78x15
                  text run at (455,90) width 78: "within"
            RenderText {TEXT} at (533,90) size 1248x30
              text run at (533,90) width 715: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,105) size 39x15
                text run at (286,105) width 39: "for"
            RenderText {TEXT} at (325,105) size 13x15
              text run at (325,105) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,105) size 104x15
                text run at (338,105) width 104: "elements"
            RenderText {TEXT} at (442,105) size 13x15
              text run at (442,105) width 13: " "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (455,105) size 78x15
                  text run at (455,105) width 78: "within"
              RenderText {TEXT} at (533,105) size 169x15
                text run at (533,105) width 169: " elements too"
            RenderText {TEXT} at (702,105) size 572x15
              text run at (702,105) width 572: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,801) size 784x193
          RenderBR {BR} at (1521,0) size 0x18
        RenderBlock {PRE} at (0,1009) size 784x152
          RenderBlock {H3} at (0,0) size 784x17
            RenderText {TEXT} at (0,0) size 280x17
              text run at (0,0) width 280: "In an un-floated pre"
          RenderBlock (anonymous) at (0,32) size 784x120
            RenderText {TEXT} at (0,15) size 286x15
              text run at (0,15) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,15) size 39x15
                text run at (286,15) width 39: "for"
            RenderText {TEXT} at (325,15) size 13x15
              text run at (325,15) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,15) size 104x15
                text run at (338,15) width 104: "elements"
            RenderText {TEXT} at (442,15) size 13x15
              text run at (442,15) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,15) size 78x15
                text run at (455,15) width 78: "within"
            RenderText {TEXT} at (533,15) size 715x30
              text run at (533,15) width 182: " elements too."
              text run at (0,30) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,30) size 39x15
                text run at (286,30) width 39: "for"
            RenderText {TEXT} at (325,30) size 13x15
              text run at (325,30) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,30) size 104x15
                text run at (338,30) width 104: "elements"
            RenderText {TEXT} at (442,30) size 13x15
              text run at (442,30) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,30) size 78x15
                text run at (455,30) width 78: "within"
            RenderText {TEXT} at (533,30) size 130x15
              text run at (533,30) width 130: " elements "
            RenderText {TEXT} at (663,30) size 1248x30
              text run at (663,30) width 585: " too. (with comment between elements and too)"
              text run at (0,45) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,45) size 39x15
                text run at (286,45) width 39: "for"
            RenderText {TEXT} at (325,45) size 13x15
              text run at (325,45) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,45) size 104x15
                text run at (338,45) width 104: "elements"
            RenderText {TEXT} at (442,45) size 13x15
              text run at (442,45) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,45) size 78x15
                text run at (455,45) width 78: "within"
            RenderText {TEXT} at (533,45) size 117x15
              text run at (533,45) width 117: " elements"
            RenderText {TEXT} at (650,45) size 1521x30
              text run at (650,45) width 871: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,60) size 39x15
                text run at (286,60) width 39: "for"
            RenderText {TEXT} at (325,60) size 13x15
              text run at (325,60) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,60) size 104x15
                text run at (338,60) width 104: "elements"
            RenderText {TEXT} at (442,60) size 13x15
              text run at (442,60) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,60) size 78x15
                text run at (455,60) width 78: "within"
            RenderText {TEXT} at (533,60) size 130x15
              text run at (533,60) width 130: " elements "
            RenderText {TEXT} at (663,60) size 832x15
              text run at (663,60) width 832: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 442x15
              RenderText {TEXT} at (0,75) size 286x15
                text run at (0,75) width 286: "Letter   spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (286,75) size 39x15
                  text run at (286,75) width 39: "for"
              RenderText {TEXT} at (325,75) size 13x15
                text run at (325,75) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (338,75) size 104x15
                  text run at (338,75) width 104: "elements"
            RenderText {TEXT} at (442,75) size 13x15
              text run at (442,75) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (455,75) size 78x15
                text run at (455,75) width 78: "within"
            RenderText {TEXT} at (533,75) size 1313x30
              text run at (533,75) width 780: " elements too. (with monospace font from Letter to elements)"
              text run at (0,90) width 286: "Letter   spacing test "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (286,90) size 39x15
                  text run at (286,90) width 39: "for"
              RenderText {TEXT} at (325,90) size 13x15
                text run at (325,90) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (338,90) size 104x15
                  text run at (338,90) width 104: "elements"
              RenderText {TEXT} at (442,90) size 13x15
                text run at (442,90) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (455,90) size 78x15
                  text run at (455,90) width 78: "within"
            RenderText {TEXT} at (533,90) size 1248x30
              text run at (533,90) width 715: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 286: "Letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (286,105) size 39x15
                text run at (286,105) width 39: "for"
            RenderText {TEXT} at (325,105) size 13x15
              text run at (325,105) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (338,105) size 104x15
                text run at (338,105) width 104: "elements"
            RenderText {TEXT} at (442,105) size 13x15
              text run at (442,105) width 13: " "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (455,105) size 78x15
                  text run at (455,105) width 78: "within"
              RenderText {TEXT} at (533,105) size 169x15
                text run at (533,105) width 169: " elements too"
            RenderText {TEXT} at (702,105) size 572x15
              text run at (702,105) width 572: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,1174) size 784x18
          RenderBR {BR} at (0,0) size 0x18
          RenderInline {SPAN} at (0,0) size 0x0
            RenderText {TEXT} at (0,0) size 0x0
        RenderBlock (anonymous) at (0,1210) size 784x22
          RenderBlock {H3} at (0,0) size 784x22
            RenderText {TEXT} at (0,0) size 122x22
              text run at (0,0) width 122: "In a span"
        RenderBlock (anonymous) at (0,1250) size 784x270
          RenderInline {SPAN} at (0,0) size 771x234
            RenderText {TEXT} at (0,0) size 218x18
              text run at (0,0) width 76: "Letter "
              text run at (76,0) width 142: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (218,0) size 33x18
                text run at (218,0) width 33: "for"
            RenderText {TEXT} at (251,0) size 9x18
              text run at (251,0) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (260,0) size 98x18
                text run at (260,0) width 98: "elements"
            RenderText {TEXT} at (358,0) size 9x18
              text run at (358,0) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (367,2) size 78x15
                text run at (367,2) width 78: "within"
            RenderText {TEXT} at (445,0) size 157x18
              text run at (445,0) width 157: " elements too."
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,18) size 218x18
              text run at (0,18) width 76: "Letter "
              text run at (76,18) width 142: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (218,18) size 33x18
                text run at (218,18) width 33: "for"
            RenderText {TEXT} at (251,18) size 9x18
              text run at (251,18) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (260,18) size 98x18
                text run at (260,18) width 98: "elements"
            RenderText {TEXT} at (358,18) size 9x18
              text run at (358,18) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (367,20) size 78x15
                text run at (367,20) width 78: "within"
            RenderText {TEXT} at (445,18) size 113x18
              text run at (445,18) width 113: " elements "
            RenderText {TEXT} at (558,18) size 771x36
              text run at (558,18) width 213: "too. (with comment"
              text run at (0,36) width 293: "between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,54) size 218x18
              text run at (0,54) width 76: "Letter "
              text run at (76,54) width 142: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (218,54) size 33x18
                text run at (218,54) width 33: "for"
            RenderText {TEXT} at (251,54) size 9x18
              text run at (251,54) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (260,54) size 98x18
                text run at (260,54) width 98: "elements"
            RenderText {TEXT} at (358,54) size 9x18
              text run at (358,54) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (367,56) size 78x15
                text run at (367,56) width 78: "within"
            RenderText {TEXT} at (445,54) size 104x18
              text run at (445,54) width 104: " elements"
            RenderText {TEXT} at (549,54) size 771x36
              text run at (549,54) width 222: " too. (with comment"
              text run at (0,72) width 545: "(no preceeding space) between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,90) size 218x18
              text run at (0,90) width 76: "Letter "
              text run at (76,90) width 142: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (218,90) size 33x18
                text run at (218,90) width 33: "for"
            RenderText {TEXT} at (251,90) size 9x18
              text run at (251,90) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (260,90) size 98x18
                text run at (260,90) width 98: "elements"
            RenderText {TEXT} at (358,90) size 9x18
              text run at (358,90) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (367,92) size 78x15
                text run at (367,92) width 78: "within"
            RenderText {TEXT} at (445,90) size 113x18
              text run at (445,90) width 113: " elements "
            RenderText {TEXT} at (558,90) size 771x36
              text run at (558,90) width 213: "too. (with comment"
              text run at (0,108) width 510: "(no trailing space) between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderInline {SPAN} at (0,0) size 416x15
              RenderText {TEXT} at (0,128) size 260x15
                text run at (0,128) width 91: "Letter "
                text run at (91,128) width 169: "spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (260,128) size 39x15
                  text run at (260,128) width 39: "for"
              RenderText {TEXT} at (299,128) size 13x15
                text run at (299,128) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (312,128) size 104x15
                  text run at (312,128) width 104: "elements"
            RenderText {TEXT} at (416,126) size 9x18
              text run at (416,126) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (425,128) size 78x15
                text run at (425,128) width 78: "within"
            RenderText {TEXT} at (503,126) size 727x36
              text run at (503,126) width 224: " elements too. (with"
              text run at (0,144) width 450: "monospace font from Letter to elements)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,162) size 218x18
              text run at (0,162) width 76: "Letter "
              text run at (76,162) width 142: "spacing test "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (218,164) size 39x15
                  text run at (218,164) width 39: "for"
              RenderText {TEXT} at (257,164) size 13x15
                text run at (257,164) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (270,164) size 104x15
                  text run at (270,164) width 104: "elements"
              RenderText {TEXT} at (374,164) size 13x15
                text run at (374,164) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (387,164) size 78x15
                  text run at (387,164) width 78: "within"
            RenderText {TEXT} at (465,162) size 689x36
              text run at (465,162) width 224: " elements too. (with"
              text run at (0,180) width 391: "monospace font from for to within)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,198) size 218x18
              text run at (0,198) width 76: "Letter "
              text run at (76,198) width 142: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (218,198) size 33x18
                text run at (218,198) width 33: "for"
            RenderText {TEXT} at (251,198) size 9x18
              text run at (251,198) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (260,198) size 98x18
                text run at (260,198) width 98: "elements"
            RenderText {TEXT} at (358,198) size 9x18
              text run at (358,198) width 9: " "
            RenderInline {SPAN} at (0,0) size 247x15
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (367,200) size 78x15
                  text run at (367,200) width 78: "within"
              RenderText {TEXT} at (445,200) size 169x15
                text run at (445,200) width 169: " elements too"
            RenderText {TEXT} at (614,198) size 690x36
              text run at (614,198) width 76: ". (with"
              text run at (0,216) width 427: "monospace font from elements to too) "
          RenderText {TEXT} at (0,0) size 0x0
          RenderBR {BR} at (0,0) size 0x0
          RenderBR {BR} at (0,234) size 0x18
          RenderBR {BR} at (0,252) size 0x18
        RenderBlock {H2} at (0,1539) size 784x28
          RenderText {TEXT} at (0,0) size 131x28
            text run at (0,0) width 131: "both-spacing"
        RenderBlock (floating) {PRE} at (0,1599) size 1918x167
          RenderBlock {H3} at (0,15) size 1918x17
            RenderText {TEXT} at (0,0) size 284x17
              text run at (0,0) width 284: "In a floated pre"
          RenderBlock (anonymous) at (0,47) size 1918x120
            RenderText {TEXT} at (0,15) size 503x15
              text run at (0,15) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,15) size 39x15
                text run at (503,15) width 39: "for"
            RenderText {TEXT} at (562,15) size 13x15
              text run at (562,15) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,15) size 104x15
                text run at (575,15) width 104: "elements"
            RenderText {TEXT} at (699,15) size 13x15
              text run at (699,15) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,15) size 78x15
                text run at (712,15) width 78: "within"
            RenderText {TEXT} at (810,15) size 1012x30
              text run at (810,15) width 202: " elements too."
              text run at (0,30) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,30) size 39x15
                text run at (503,30) width 39: "for"
            RenderText {TEXT} at (562,30) size 13x15
              text run at (562,30) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,30) size 104x15
                text run at (575,30) width 104: "elements"
            RenderText {TEXT} at (699,30) size 13x15
              text run at (699,30) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,30) size 78x15
                text run at (712,30) width 78: "within"
            RenderText {TEXT} at (810,30) size 150x15
              text run at (810,30) width 150: " elements "
            RenderText {TEXT} at (960,30) size 1665x30
              text run at (960,30) width 705: " too. (with comment between elements and too)"
              text run at (0,45) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,45) size 39x15
                text run at (503,45) width 39: "for"
            RenderText {TEXT} at (562,45) size 13x15
              text run at (562,45) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,45) size 104x15
                text run at (575,45) width 104: "elements"
            RenderText {TEXT} at (699,45) size 13x15
              text run at (699,45) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,45) size 78x15
                text run at (712,45) width 78: "within"
            RenderText {TEXT} at (810,45) size 117x15
              text run at (810,45) width 117: " elements"
            RenderText {TEXT} at (947,45) size 1998x30
              text run at (947,45) width 1051: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,60) size 39x15
                text run at (503,60) width 39: "for"
            RenderText {TEXT} at (562,60) size 13x15
              text run at (562,60) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,60) size 104x15
                text run at (575,60) width 104: "elements"
            RenderText {TEXT} at (699,60) size 13x15
              text run at (699,60) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,60) size 78x15
                text run at (712,60) width 78: "within"
            RenderText {TEXT} at (810,60) size 150x15
              text run at (810,60) width 150: " elements "
            RenderText {TEXT} at (960,60) size 1012x15
              text run at (960,60) width 1012: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 679x15
              RenderText {TEXT} at (0,75) size 503x15
                text run at (0,75) width 503: "Word and letter   spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (503,75) size 39x15
                  text run at (503,75) width 39: "for"
              RenderText {TEXT} at (562,75) size 13x15
                text run at (562,75) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (575,75) size 104x15
                  text run at (575,75) width 104: "elements"
            RenderText {TEXT} at (699,75) size 13x15
              text run at (699,75) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,75) size 78x15
                text run at (712,75) width 78: "within"
            RenderText {TEXT} at (810,75) size 1724x30
              text run at (810,75) width 914: " elements too. (with monospace font from Word to elements)"
              text run at (0,90) width 503: "Word and letter   spacing test "
            RenderInline {SPAN} at (0,0) size 287x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (503,90) size 39x15
                  text run at (503,90) width 39: "for"
              RenderText {TEXT} at (562,90) size 13x15
                text run at (562,90) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (575,90) size 104x15
                  text run at (575,90) width 104: "elements"
              RenderText {TEXT} at (699,90) size 13x15
                text run at (699,90) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (712,90) size 78x15
                  text run at (712,90) width 78: "within"
            RenderText {TEXT} at (810,90) size 1685x30
              text run at (810,90) width 875: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,105) size 39x15
                text run at (503,105) width 39: "for"
            RenderText {TEXT} at (562,105) size 13x15
              text run at (562,105) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,105) size 104x15
                text run at (575,105) width 104: "elements"
            RenderText {TEXT} at (699,105) size 13x15
              text run at (699,105) width 13: " "
            RenderInline {SPAN} at (0,0) size 287x15
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (712,105) size 78x15
                  text run at (712,105) width 78: "within"
              RenderText {TEXT} at (810,105) size 189x15
                text run at (810,105) width 189: " elements too"
            RenderText {TEXT} at (999,105) size 712x15
              text run at (999,105) width 712: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,1586) size 784x193
          RenderBR {BR} at (1918,0) size 0x18
        RenderBlock {PRE} at (0,1794) size 784x152
          RenderBlock {H3} at (0,0) size 784x17
            RenderText {TEXT} at (0,0) size 340x17
              text run at (0,0) width 340: "In an un-floated pre"
          RenderBlock (anonymous) at (0,32) size 784x120
            RenderText {TEXT} at (0,15) size 503x15
              text run at (0,15) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,15) size 39x15
                text run at (503,15) width 39: "for"
            RenderText {TEXT} at (562,15) size 13x15
              text run at (562,15) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,15) size 104x15
                text run at (575,15) width 104: "elements"
            RenderText {TEXT} at (699,15) size 13x15
              text run at (699,15) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,15) size 78x15
                text run at (712,15) width 78: "within"
            RenderText {TEXT} at (810,15) size 1012x30
              text run at (810,15) width 202: " elements too."
              text run at (0,30) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,30) size 39x15
                text run at (503,30) width 39: "for"
            RenderText {TEXT} at (562,30) size 13x15
              text run at (562,30) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,30) size 104x15
                text run at (575,30) width 104: "elements"
            RenderText {TEXT} at (699,30) size 13x15
              text run at (699,30) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,30) size 78x15
                text run at (712,30) width 78: "within"
            RenderText {TEXT} at (810,30) size 150x15
              text run at (810,30) width 150: " elements "
            RenderText {TEXT} at (960,30) size 1665x30
              text run at (960,30) width 705: " too. (with comment between elements and too)"
              text run at (0,45) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,45) size 39x15
                text run at (503,45) width 39: "for"
            RenderText {TEXT} at (562,45) size 13x15
              text run at (562,45) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,45) size 104x15
                text run at (575,45) width 104: "elements"
            RenderText {TEXT} at (699,45) size 13x15
              text run at (699,45) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,45) size 78x15
                text run at (712,45) width 78: "within"
            RenderText {TEXT} at (810,45) size 117x15
              text run at (810,45) width 117: " elements"
            RenderText {TEXT} at (947,45) size 1998x30
              text run at (947,45) width 1051: " too. (with comment (no preceeding space) between elements and too)"
              text run at (0,60) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,60) size 39x15
                text run at (503,60) width 39: "for"
            RenderText {TEXT} at (562,60) size 13x15
              text run at (562,60) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,60) size 104x15
                text run at (575,60) width 104: "elements"
            RenderText {TEXT} at (699,60) size 13x15
              text run at (699,60) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,60) size 78x15
                text run at (712,60) width 78: "within"
            RenderText {TEXT} at (810,60) size 150x15
              text run at (810,60) width 150: " elements "
            RenderText {TEXT} at (960,60) size 1012x15
              text run at (960,60) width 1012: "too. (with comment (no trailing space) between elements and too)"
            RenderInline {SPAN} at (0,0) size 679x15
              RenderText {TEXT} at (0,75) size 503x15
                text run at (0,75) width 503: "Word and letter   spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (503,75) size 39x15
                  text run at (503,75) width 39: "for"
              RenderText {TEXT} at (562,75) size 13x15
                text run at (562,75) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (575,75) size 104x15
                  text run at (575,75) width 104: "elements"
            RenderText {TEXT} at (699,75) size 13x15
              text run at (699,75) width 13: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (712,75) size 78x15
                text run at (712,75) width 78: "within"
            RenderText {TEXT} at (810,75) size 1724x30
              text run at (810,75) width 914: " elements too. (with monospace font from Word to elements)"
              text run at (0,90) width 503: "Word and letter   spacing test "
            RenderInline {SPAN} at (0,0) size 287x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (503,90) size 39x15
                  text run at (503,90) width 39: "for"
              RenderText {TEXT} at (562,90) size 13x15
                text run at (562,90) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (575,90) size 104x15
                  text run at (575,90) width 104: "elements"
              RenderText {TEXT} at (699,90) size 13x15
                text run at (699,90) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (712,90) size 78x15
                  text run at (712,90) width 78: "within"
            RenderText {TEXT} at (810,90) size 1685x30
              text run at (810,90) width 875: " elements too. (with monospace font from for to within)"
              text run at (0,105) width 503: "Word and letter   spacing test "
            RenderInline {EM} at (0,0) size 39x15
              RenderText {TEXT} at (503,105) size 39x15
                text run at (503,105) width 39: "for"
            RenderText {TEXT} at (562,105) size 13x15
              text run at (562,105) width 13: " "
            RenderInline {STRONG} at (0,0) size 104x15
              RenderText {TEXT} at (575,105) size 104x15
                text run at (575,105) width 104: "elements"
            RenderText {TEXT} at (699,105) size 13x15
              text run at (699,105) width 13: " "
            RenderInline {SPAN} at (0,0) size 287x15
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (712,105) size 78x15
                  text run at (712,105) width 78: "within"
              RenderText {TEXT} at (810,105) size 189x15
                text run at (810,105) width 189: " elements too"
            RenderText {TEXT} at (999,105) size 712x15
              text run at (999,105) width 712: ". (with monospace font from elements to too)"
        RenderBlock (anonymous) at (0,1959) size 784x18
          RenderBR {BR} at (0,0) size 0x18
          RenderInline {SPAN} at (0,0) size 0x0
            RenderText {TEXT} at (0,0) size 0x0
        RenderBlock (anonymous) at (0,1995) size 784x22
          RenderBlock {H3} at (0,0) size 784x22
            RenderText {TEXT} at (0,0) size 162x22
              text run at (0,0) width 162: "In a span"
        RenderBlock (anonymous) at (0,2035) size 784x324
          RenderInline {SPAN} at (0,0) size 795x324
            RenderText {TEXT} at (0,0) size 424x18
              text run at (0,0) width 242: "Word and letter "
              text run at (242,0) width 182: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (424,0) size 33x18
                text run at (424,0) width 33: "for"
            RenderText {TEXT} at (477,0) size 9x18
              text run at (477,0) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (486,0) size 98x18
                text run at (486,0) width 98: "elements"
            RenderText {TEXT} at (604,0) size 9x18
              text run at (604,0) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (613,2) size 78x15
                text run at (613,2) width 78: "within"
            RenderText {TEXT} at (0,18) size 168x18
              text run at (0,18) width 168: "elements too."
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,36) size 424x18
              text run at (0,36) width 242: "Word and letter "
              text run at (242,36) width 182: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (424,36) size 33x18
                text run at (424,36) width 33: "for"
            RenderText {TEXT} at (477,36) size 9x18
              text run at (477,36) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (486,36) size 98x18
                text run at (486,36) width 98: "elements"
            RenderText {TEXT} at (604,36) size 9x18
              text run at (604,36) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (613,38) size 78x15
                text run at (613,38) width 78: "within"
            RenderText {TEXT} at (0,54) size 124x18
              text run at (0,54) width 124: "elements "
            RenderText {TEXT} at (124,54) size 635x18
              text run at (124,54) width 635: "too. (with comment between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,72) size 424x18
              text run at (0,72) width 242: "Word and letter "
              text run at (242,72) width 182: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (424,72) size 33x18
                text run at (424,72) width 33: "for"
            RenderText {TEXT} at (477,72) size 9x18
              text run at (477,72) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (486,72) size 98x18
                text run at (486,72) width 98: "elements"
            RenderText {TEXT} at (604,72) size 9x18
              text run at (604,72) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (613,74) size 78x15
                text run at (613,74) width 78: "within"
            RenderText {TEXT} at (0,90) size 95x18
              text run at (0,90) width 95: "elements"
            RenderText {TEXT} at (115,90) size 689x36
              text run at (115,90) width 574: " too. (with comment (no preceeding space)"
              text run at (0,108) width 353: "between elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,126) size 424x18
              text run at (0,126) width 242: "Word and letter "
              text run at (242,126) width 182: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (424,126) size 33x18
                text run at (424,126) width 33: "for"
            RenderText {TEXT} at (477,126) size 9x18
              text run at (477,126) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (486,126) size 98x18
                text run at (486,126) width 98: "elements"
            RenderText {TEXT} at (604,126) size 9x18
              text run at (604,126) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (613,128) size 78x15
                text run at (613,128) width 78: "within"
            RenderText {TEXT} at (0,144) size 124x18
              text run at (0,144) width 124: "elements "
            RenderText {TEXT} at (124,144) size 771x36
              text run at (124,144) width 647: "too. (with comment (no trailing space) between"
              text run at (0,162) width 236: "elements and too)"
            RenderBR {BR} at (0,0) size 0x0
            RenderInline {SPAN} at (0,0) size 653x15
              RenderText {TEXT} at (0,182) size 477x15
                text run at (0,182) width 268: "Word and letter "
                text run at (268,182) width 209: "spacing test "
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (477,182) size 39x15
                  text run at (477,182) width 39: "for"
              RenderText {TEXT} at (536,182) size 13x15
                text run at (536,182) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (549,182) size 104x15
                  text run at (549,182) width 104: "elements"
            RenderText {TEXT} at (673,180) size 9x18
              text run at (673,180) width 9: " "
            RenderInline {TT} at (0,0) size 78x15
              RenderText {TEXT} at (682,182) size 78x15
                text run at (682,182) width 78: "within"
            RenderText {TEXT} at (0,198) size 689x36
              text run at (0,198) width 689: "elements too. (with monospace font from Word to"
              text run at (0,216) width 105: "elements)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,234) size 424x18
              text run at (0,234) width 242: "Word and letter "
              text run at (242,234) width 182: "spacing test "
            RenderInline {SPAN} at (0,0) size 287x15
              RenderInline {EM} at (0,0) size 39x15
                RenderText {TEXT} at (424,236) size 39x15
                  text run at (424,236) width 39: "for"
              RenderText {TEXT} at (483,236) size 13x15
                text run at (483,236) width 13: " "
              RenderInline {STRONG} at (0,0) size 104x15
                RenderText {TEXT} at (496,236) size 104x15
                  text run at (496,236) width 104: "elements"
              RenderText {TEXT} at (620,236) size 13x15
                text run at (620,236) width 13: " "
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (633,236) size 78x15
                  text run at (633,236) width 78: "within"
            RenderText {TEXT} at (0,252) size 775x18
              text run at (0,252) width 775: "elements too. (with monospace font from for to within)"
            RenderBR {BR} at (0,0) size 0x0
            RenderText {TEXT} at (0,270) size 424x18
              text run at (0,270) width 242: "Word and letter "
              text run at (242,270) width 182: "spacing test "
            RenderInline {EM} at (0,0) size 33x18
              RenderText {TEXT} at (424,270) size 33x18
                text run at (424,270) width 33: "for"
            RenderText {TEXT} at (477,270) size 9x18
              text run at (477,270) width 9: " "
            RenderInline {STRONG} at (0,0) size 98x18
              RenderText {TEXT} at (486,270) size 98x18
                text run at (486,270) width 98: "elements"
            RenderText {TEXT} at (604,270) size 9x18
              text run at (604,270) width 9: " "
            RenderInline {SPAN} at (0,0) size 691x33
              RenderInline {TT} at (0,0) size 78x15
                RenderText {TEXT} at (613,272) size 78x15
                  text run at (613,272) width 78: "within"
              RenderText {TEXT} at (0,290) size 176x15
                text run at (0,290) width 176: "elements too"
            RenderText {TEXT} at (176,288) size 745x36
              text run at (176,288) width 569: ". (with monospace font from elements to"
              text run at (0,306) width 45: "too)"
          RenderText {TEXT} at (0,0) size 0x0
          RenderText {TEXT} at (0,0) size 0x0
  
  
  
  1.1                  WebCore/layout-tests/fast/css/word-space-extra.html
  
  Index: word-space-extra.html
  ===================================================================
  <html>
  
  <head>
      <title>word-spacing and letter-spacing &uuml;ber-test</title>
      <!--
         This tests wordspacing under a variety of conditions.  Things to note:
         * Within a <pre> block multiple spaces only have the word-spacing applied once,
           eg. the distance between 'foo' and 'bar' in <pre>foo bar</pre>, will not be doubled
           in <pre>foo  bar</pre>.  The block size should be approximately 
           numchars*(charwidth+letter_spacing)+(numwords-1)*word_spacing.
         * <pre>elements too</pre>, <pre>elements <!-- comment -- > too</pre> have a different
           number of spaces seperating 'elements' and 'too', hence will have different sized gaps
         * <pre> blocks are already using a monospace font so no difference may be visible in
           the monospace sections within them.
       -->
  </head>
  
  <body>
  
  <h2>word-spacing</h2>
  
  <pre style="word-spacing: 20px; float: left;">
  <h3>In a floated pre</h3>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Word   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)
  Word   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Word   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <br style="clear:both;"/>
  
  <pre style="word-spacing: 20px;">
  <h3>In an un-floated pre</h3>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Word   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)
  Word   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Word   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <span style="word-spacing: 20px;">
  <h3>In a span</h3>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.<br/>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)<br/>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)<br/>
  Word   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)<br/>
  <span style="font-family: monospace">Word   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)<br/>
  Word   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)<br/>
  Word   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </span>
  
  <br/>
  <br/>
  <br/>
  
  <h2>letter-spacing</h2>
  <pre style="letter-spacing: 5px; float: left;">
  <h3>In a floated pre</h3>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Letter to elements)
  Letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <br style="clear:both;"/>
  
  <pre style="letter-spacing: 5px;">
  <h3>In an un-floated pre</h3>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Letter to elements)
  Letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <br style="clear:both;"/>
  
  <span style="letter-spacing: 5px;">
  <h3>In a span</h3>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.<br/>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)<br/>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)<br/>
  Letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)<br/>
  <span style="font-family: monospace">Letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Letter to elements)<br/>
  Letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)<br/>
  Letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </span>
  
  <br/>
  <br/>
  <br/>
  
  <h2>both-spacing</h2>
  <pre style="word-spacing: 20px; letter-spacing: 5px; float: left;">
  <h3>In a floated pre</h3>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Word and letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)
  Word and letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <br style="clear:both;"/>
  
  <pre style="word-spacing: 20px; letter-spacing: 5px;">
  <h3>In an un-floated pre</h3>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)
  <span style="font-family: monospace">Word and letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)
  Word and letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </pre>
  
  <br style="clear:both;"/>
  
  <span style="word-spacing: 20px; letter-spacing: 5px;">
  <h3>In a span</h3>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements too.<br/>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment --> too. (with comment between elements and too)<br/>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements<!-- comment --> too. (with comment (no preceeding space) between elements and too)<br/>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <tt>within</tt> elements <!-- comment -->too. (with comment (no trailing space) between elements and too)<br/>
  <span style="font-family: monospace">Word and letter   spacing test <em>for</em> <strong>elements</strong></span> <tt>within</tt> elements too. (with monospace font from Word to elements)<br/>
  Word and letter   spacing test <span style="font-family: monospace"><em>for</em> <strong>elements</strong> <tt>within</tt></span> elements too. (with monospace font from for to within)<br/>
  Word and letter   spacing test <em>for</em> <strong>elements</strong> <span style="font-family: monospace"><tt>within</tt> elements too</span>. (with monospace font from elements to too)
  </span>
  
  </body>
  
  </html>
  
  
  



More information about the webkit-changes mailing list