Reviewed by Hyatt
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Sep 2004 21:55:48 +0000 (21:55 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 29 Sep 2004 21:55:48 +0000 (21:55 +0000)
        Fix for this bug:

        <rdar://problem/3705894> REGRESSION (Mail): if a single word is wider than the window,
        it doesn't break and just runs off the right side

        * khtml/css/css_computedstyle.cpp:
        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue): Ditto.
        * khtml/css/cssproperties.c: Generated file.
        * khtml/css/cssproperties.h: Ditto.
        * khtml/css/cssproperties.in: Add word-wrap property.
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
        * khtml/css/cssvalues.c: Generated file.
        * khtml/css/cssvalues.h: Ditto.
        * khtml/css/cssvalues.in: Add break-word value.
        * khtml/rendering/bidi.cpp:
        (khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
        * khtml/rendering/render_style.cpp:
        (StyleCSS3InheritedData): Add support for new wordWrap property.
        (StyleCSS3InheritedData::operator==): Ditto.
        (RenderStyle::diff): Ditto.
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::wordWrap): Ditto.
        (khtml::RenderStyle::setWordWrap): Ditto.
        (khtml::RenderStyle::initialWordWrap): Ditto.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@7731 268f45cc-cd09-0410-ab3c-d52691b4dbfc

13 files changed:
WebCore/ChangeLog-2005-08-23
WebCore/khtml/css/css_computedstyle.cpp
WebCore/khtml/css/cssparser.cpp
WebCore/khtml/css/cssproperties.c
WebCore/khtml/css/cssproperties.h
WebCore/khtml/css/cssproperties.in
WebCore/khtml/css/cssstyleselector.cpp
WebCore/khtml/css/cssvalues.c
WebCore/khtml/css/cssvalues.h
WebCore/khtml/css/cssvalues.in
WebCore/khtml/rendering/bidi.cpp
WebCore/khtml/rendering/render_style.cpp
WebCore/khtml/rendering/render_style.h

index d5c067ca9744928e779c8056b5448cea6316df44..9bdb060cca44d997e669046df404daf80714cdaa 100644 (file)
@@ -1,3 +1,35 @@
+2004-09-29  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Hyatt
+        
+        Fix for this bug:
+        
+        <rdar://problem/3705894> REGRESSION (Mail): if a single word is wider than the window, 
+        it doesn't break and just runs off the right side
+
+        * khtml/css/css_computedstyle.cpp:
+        (DOM::CSSComputedStyleDeclarationImpl::getPropertyCSSValue): Add support for CSS_PROP_WORD_WRAP.
+        * khtml/css/cssparser.cpp:
+        (CSSParser::parseValue): Ditto.
+        * khtml/css/cssproperties.c: Generated file.
+        * khtml/css/cssproperties.h: Ditto.
+        * khtml/css/cssproperties.in: Add word-wrap property.
+        * khtml/css/cssstyleselector.cpp:
+        (khtml::CSSStyleSelector::applyProperty): Add support for CSS_PROP_WORD_WRAP.
+        * khtml/css/cssvalues.c: Generated file.
+        * khtml/css/cssvalues.h: Ditto.
+        * khtml/css/cssvalues.in: Add break-word value.
+        * khtml/rendering/bidi.cpp:
+        (khtml::RenderBlock::findNextLineBreak): Add code to implement new word wrapping feature.
+        * khtml/rendering/render_style.cpp:
+        (StyleCSS3InheritedData): Add support for new wordWrap property.
+        (StyleCSS3InheritedData::operator==): Ditto.
+        (RenderStyle::diff): Ditto.
+        * khtml/rendering/render_style.h:
+        (khtml::RenderStyle::wordWrap): Ditto.
+        (khtml::RenderStyle::setWordWrap): Ditto.
+        (khtml::RenderStyle::initialWordWrap): Ditto.
+
 2004-09-29  Maciej Stachowiak  <mjs@apple.com>
 
         Reviewed by John.
index 0f83860c8f28355254c93c68e63d50d6b10aa8b6..b77559a1097f85fef7d4ab5af3b8ce7e258e22bb 100644 (file)
@@ -724,6 +724,15 @@ CSSValueImpl *CSSComputedStyleDeclarationImpl::getPropertyCSSValue(int propertyI
         return new CSSPrimitiveValueImpl(m_renderer->contentWidth(), CSSPrimitiveValue::CSS_PX);
     case CSS_PROP_WORD_SPACING:
         return new CSSPrimitiveValueImpl(style->wordSpacing(), CSSPrimitiveValue::CSS_PX);
+    case CSS_PROP_WORD_WRAP:
+        switch (style->wordWrap()) {
+            case khtml::WBNORMAL:
+                return new CSSPrimitiveValueImpl(CSS_VAL_NORMAL);
+            case khtml::BREAK_WORD:
+                return new CSSPrimitiveValueImpl(CSS_VAL_BREAK_WORD);
+        }
+        ASSERT_NOT_REACHED();
+        return 0;
     case CSS_PROP_Z_INDEX:
         // FIXME: unimplemented
         break;
index a4b3122ab1b0c8eb4235e57bc2a4c3e37437fa2b..9763e8054dfcb41ebfbf0a6ef9fe5325e0eeb5fc 100644 (file)
@@ -851,6 +851,11 @@ bool CSSParser::parseValue( int propId, bool important )
             valid_primitive = validUnit( value, FLength, strict );
        break;
 
+    case CSS_PROP_WORD_WRAP:           // normal | break-word
+       if (id == CSS_VAL_NORMAL || id == CSS_VAL_BREAK_WORD)
+           valid_primitive = true;
+       break;
+
     case CSS_PROP_TEXT_INDENT:          // <length> | <percentage> | inherit
     case CSS_PROP_PADDING_TOP:          //// <padding-width> | inherit
     case CSS_PROP_PADDING_RIGHT:        //   Which is defined as
index fe6362fb6b89da3c75fcc8d6c023568d98919181..73c177c6f614f82ed44b38af0ad05d84a74843d2 100644 (file)
@@ -7,7 +7,7 @@ struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 1638, duplicates = 0 */
+/* maximum key range = 1488, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -21,32 +21,32 @@ hash_prop (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643,    0, 1643, 1643, 1643, 1643,
-      1643,    0, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643,   35,   35,    0,
-         0,    0,  325,   10,    0,    0,    0,   15,    0,   35,
-       510,    0,   20,   55,    0,   95,    0,   60,   65,  320,
-       170,  180,   20, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643, 1643,
-      1643, 1643, 1643, 1643, 1643, 1643
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493,    0, 1493, 1493, 1493, 1493,
+      1493,    0, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493,   35,   35,    0,
+         0,    0,  215,   10,    0,    0,    0,   15,    0,   35,
+       460,    0,   20,   55,    0,   95,    0,   60,   45,  310,
+       170,  190,    0, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493, 1493,
+      1493, 1493, 1493, 1493, 1493, 1493
     };
   register int hval = len;
 
@@ -130,11 +130,11 @@ findProp (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 156,
+      TOTAL_KEYWORDS = 157,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
       MIN_HASH_VALUE = 5,
-      MAX_HASH_VALUE = 1642
+      MAX_HASH_VALUE = 1492
     };
 
   static const struct props wordlist_prop[] =
@@ -153,145 +153,146 @@ findProp (register const char *str, register unsigned int len)
       {"page", CSS_PROP_PAGE},
       {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
       {"bottom", CSS_PROP_BOTTOM},
-      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
       {"size", CSS_PROP_SIZE},
+      {"border-bottom", CSS_PROP_BORDER_BOTTOM},
       {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR},
       {"cursor", CSS_PROP_CURSOR},
       {"scrollbar-3dlight-color", CSS_PROP_SCROLLBAR_3DLIGHT_COLOR},
       {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
       {"scrollbar-highlight-color", CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR},
       {"quotes", CSS_PROP_QUOTES},
+      {"left", CSS_PROP_LEFT},
       {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
-      {"opacity", CSS_PROP_OPACITY},
       {"-khtml-marquee", CSS_PROP__KHTML_MARQUEE},
+      {"opacity", CSS_PROP_OPACITY},
+      {"float", CSS_PROP_FLOAT},
       {"max-height", CSS_PROP_MAX_HEIGHT},
+      {"border-left", CSS_PROP_BORDER_LEFT},
       {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
+      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
+      {"width", CSS_PROP_WIDTH},
       {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
       {"border-style", CSS_PROP_BORDER_STYLE},
-      {"width", CSS_PROP_WIDTH},
-      {"left", CSS_PROP_LEFT},
+      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
       {"display", CSS_PROP_DISPLAY},
       {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
-      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
       {"empty-cells", CSS_PROP_EMPTY_CELLS},
       {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
-      {"table-layout", CSS_PROP_TABLE_LAYOUT},
-      {"float", CSS_PROP_FLOAT},
       {"border-width", CSS_PROP_BORDER_WIDTH},
+      {"table-layout", CSS_PROP_TABLE_LAYOUT},
       {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
-      {"border-left", CSS_PROP_BORDER_LEFT},
-      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
-      {"list-style", CSS_PROP_LIST_STYLE},
       {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH},
       {"visibility", CSS_PROP_VISIBILITY},
       {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH},
+      {"list-style", CSS_PROP_LIST_STYLE},
       {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
-      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
-      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
-      {"white-space", CSS_PROP_WHITE_SPACE},
-      {"direction", CSS_PROP_DIRECTION},
       {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
       {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
-      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
-      {"line-height", CSS_PROP_LINE_HEIGHT},
-      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
+      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"direction", CSS_PROP_DIRECTION},
+      {"white-space", CSS_PROP_WHITE_SPACE},
+      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+      {"line-height", CSS_PROP_LINE_HEIGHT},
       {"min-height", CSS_PROP_MIN_HEIGHT},
-      {"max-width", CSS_PROP_MAX_WIDTH},
-      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
       {"outline", CSS_PROP_OUTLINE},
+      {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
       {"padding", CSS_PROP_PADDING},
       {"outline-color", CSS_PROP_OUTLINE_COLOR},
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"-khtml-marquee-style", CSS_PROP__KHTML_MARQUEE_STYLE},
       {"margin", CSS_PROP_MARGIN},
       {"padding-right", CSS_PROP_PADDING_RIGHT},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
       {"padding-top", CSS_PROP_PADDING_TOP},
+      {"max-width", CSS_PROP_MAX_WIDTH},
       {"margin-right", CSS_PROP_MARGIN_RIGHT},
       {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
       {"margin-top", CSS_PROP_MARGIN_TOP},
-      {"text-shadow", CSS_PROP_TEXT_SHADOW},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"overflow", CSS_PROP_OVERFLOW},
       {"position", CSS_PROP_POSITION},
-      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
-      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
       {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
       {"orphans", CSS_PROP_ORPHANS},
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
       {"caption-side", CSS_PROP_CAPTION_SIDE},
       {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
       {"background", CSS_PROP_BACKGROUND},
+      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
       {"counter-reset", CSS_PROP_COUNTER_RESET},
       {"background-color", CSS_PROP_BACKGROUND_COLOR},
       {"letter-spacing", CSS_PROP_LETTER_SPACING},
-      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
-      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
       {"z-index", CSS_PROP_Z_INDEX},
-      {"overflow", CSS_PROP_OVERFLOW},
+      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
       {"border-spacing", CSS_PROP_BORDER_SPACING},
+      {"font", CSS_PROP_FONT},
       {"text-decoration", CSS_PROP_TEXT_DECORATION},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
+      {"word-wrap", CSS_PROP_WORD_WRAP},
       {"text-align", CSS_PROP_TEXT_ALIGN},
       {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
-      {"widows", CSS_PROP_WIDOWS},
-      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
       {"text-overline", CSS_PROP_TEXT_OVERLINE},
-      {"background-image", CSS_PROP_BACKGROUND_IMAGE},
-      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
       {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"background-image", CSS_PROP_BACKGROUND_IMAGE},
       {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
       {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
+      {"widows", CSS_PROP_WIDOWS},
       {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
       {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
       {"-khtml-padding-start", CSS_PROP__KHTML_PADDING_START},
+      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
       {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
       {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
       {"-khtml-margin-start", CSS_PROP__KHTML_MARGIN_START},
       {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
-      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
+      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
+      {"padding-left", CSS_PROP_PADDING_LEFT},
+      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
       {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
       {"-khtml-margin-collapse", CSS_PROP__KHTML_MARGIN_COLLAPSE},
+      {"margin-left", CSS_PROP_MARGIN_LEFT},
       {"-apple-dashboard-region", CSS_PROP__APPLE_DASHBOARD_REGION},
       {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
+      {"font-size", CSS_PROP_FONT_SIZE},
+      {"font-stretch", CSS_PROP_FONT_STRETCH},
       {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
-      {"font", CSS_PROP_FONT},
-      {"outline-style", CSS_PROP_OUTLINE_STYLE},
-      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
       {"min-width", CSS_PROP_MIN_WIDTH},
-      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
       {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
+      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
       {"-khtml-margin-bottom-collapse", CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE},
-      {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
       {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-      {"padding-left", CSS_PROP_PADDING_LEFT},
       {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
-      {"margin-left", CSS_PROP_MARGIN_LEFT},
-      {"font-stretch", CSS_PROP_FONT_STRETCH},
-      {"font-size", CSS_PROP_FONT_SIZE},
+      {"content", CSS_PROP_CONTENT},
       {"word-spacing", CSS_PROP_WORD_SPACING},
+      {"font-style", CSS_PROP_FONT_STYLE},
       {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
-      {"content", CSS_PROP_CONTENT},
+      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
       {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
-      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
       {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
-      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
-      {"font-style", CSS_PROP_FONT_STYLE},
-      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
-      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
       {"font-weight", CSS_PROP_FONT_WEIGHT},
+      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
       {"text-transform", CSS_PROP_TEXT_TRANSFORM},
+      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
+      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
+      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
       {"text-indent", CSS_PROP_TEXT_INDENT},
+      {"font-family", CSS_PROP_FONT_FAMILY},
       {"text-underline", CSS_PROP_TEXT_UNDERLINE},
       {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
       {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
       {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
       {"background-position", CSS_PROP_BACKGROUND_POSITION},
       {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
-      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
       {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
-      {"font-family", CSS_PROP_FONT_FAMILY},
+      {"font-variant", CSS_PROP_FONT_VARIANT},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
       {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
-      {"font-variant", CSS_PROP_FONT_VARIANT},
       {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
       {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
       {"counter-increment", CSS_PROP_COUNTER_INCREMENT}
@@ -308,9 +309,9 @@ findProp (register const char *str, register unsigned int len)
        -1,  -1,  -1,   9,  -1,  10,  -1,  -1,  -1,  11,
        -1,  12,  -1,  -1,  -1,  -1,  13,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  14,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  14,  15,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  15,  -1,
        -1,  -1,  -1,  -1,  16,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
@@ -320,150 +321,135 @@ findProp (register const char *str, register unsigned int len)
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  18,  -1,
        19,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       20,  -1,  -1,  -1,  -1,  -1,  21,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  22,  -1,  -1,  -1,
-       -1,  -1,  23,  -1,  -1,  -1,  -1,  -1,  -1,  24,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       25,  -1,  -1,  -1,  -1,  -1,  26,  -1,  -1,  -1,
+       20,  -1,  -1,  -1,  -1,  -1,  21,  -1,  -1,  22,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  23,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  24,
+       -1,  -1,  25,  -1,  -1,  26,  -1,  -1,  -1,  -1,
+       27,  28,  -1,  -1,  -1,  -1,  29,  30,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  27,  -1,
-       -1,  -1,  28,  -1,  -1,  29,  -1,  -1,  -1,  30,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  31,  32,  -1,
-       33,  34,  -1,  -1,  -1,  -1,  35,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  36,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  37,  -1,  38,  -1,  -1,
-       39,  40,  -1,  -1,  -1,  -1,  -1,  41,  -1,  -1,
-       42,  -1,  -1,  43,  -1,  44,  -1,  -1,  -1,  -1,
-       -1,  45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  46,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  31,  -1,  -1,  32,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  33,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       34,  -1,  -1,  -1,  -1,  -1,  -1,  35,  36,  -1,
+       -1,  37,  -1,  -1,  -1,  -1,  38,  39,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  40,  -1,  -1,
+       41,  -1,  -1,  42,  -1,  43,  -1,  -1,  -1,  -1,
+       -1,  44,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       45,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  46,
+       -1,  -1,  -1,  -1,  -1,  -1,  47,  48,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  49,  50,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  47,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  48,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  51,
+       -1,  52,  -1,  -1,  -1,  -1,  53,  -1,  -1,  -1,
+       -1,  54,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  49,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  50,
-       -1,  -1,  -1,  -1,  -1,  -1,  51,  52,  -1,  -1,
-       53,  54,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  55,  -1,  -1,  -1,  56,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  57,  -1,  -1,  -1,  58,
-       -1,  -1,  -1,  59,  -1,  -1,  -1,  60,  -1,  -1,
-       -1,  -1,  61,  62,  -1,  63,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  64,  -1,  65,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  66,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  55,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  56,  -1,  -1,
+       -1,  57,  58,  59,  -1,  -1,  -1,  -1,  -1,  -1,
+       60,  -1,  -1,  -1,  -1,  -1,  61,  -1,  62,  -1,
+       -1,  -1,  63,  64,  -1,  -1,  65,  -1,  -1,  66,
        -1,  -1,  67,  -1,  -1,  -1,  -1,  68,  -1,  -1,
-       69,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  70,  -1,  71,  -1,  -1,  -1,  72,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  73,  -1,  -1,  -1,  -1,  -1,  -1,  74,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  75,  -1,  76,
-       -1,  -1,  77,  78,  -1,  79,  -1,  -1,  80,  -1,
-       -1,  81,  -1,  -1,  82,  -1,  -1,  -1,  -1,  -1,
-       -1,  83,  84,  -1,  -1,  -1,  -1,  85,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  86,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  87,  88,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       89,  -1,  -1,  -1,  -1,  90,  -1,  91,  -1,  -1,
-       -1,  92,  -1,  -1,  -1,  -1,  93,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  94,  -1,
-       -1,  95,  -1,  96,  97,  98,  -1,  99,  -1, 100,
-       -1,  -1, 101, 102,  -1, 103,  -1,  -1,  -1,  -1,
-       -1,  -1, 104,  -1,  -1, 105,  -1,  -1,  -1, 106,
-      107,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 108,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 109,  -1,  -1,
-       -1,  -1, 110,  -1,  -1,  -1,  -1,  -1, 111,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 112,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 113,  -1,  -1, 114,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 115,  -1,
-       -1, 116,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 117,  -1, 118,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 119,  -1,  -1,  -1, 120,
-       -1,  -1,  -1, 121,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 122,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 123,  -1, 124,  -1,  -1,  -1,  -1,  -1,
+       69,  -1,  -1,  -1,  -1,  -1,  -1,  70,  71,  -1,
+       -1,  -1,  -1,  72,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  73,
+       -1,  -1,  -1,  -1,  -1,  74,  -1,  -1,  -1,  75,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  76,  -1,  -1,
+       -1,  77,  78,  79,  -1,  80,  81,  82,  83,  -1,
+       -1,  84,  -1,  -1,  85,  -1,  -1,  86,  -1,  -1,
+       -1,  -1,  87,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  88,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  89,  -1,  -1,  -1,  -1,  -1,  90,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  91,
+       92,  93,  -1,  -1,  94,  95,  -1,  96,  97,  -1,
+       -1,  -1,  -1,  -1,  98,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  99,  -1,  -1,  -1,  -1,  -1, 100,  -1, 101,
+       -1, 102, 103, 104,  -1, 105,  -1,  -1, 106,  -1,
+       -1,  -1, 107,  -1,  -1, 108,  -1,  -1,  -1, 109,
+      110,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 111, 112, 113,  -1,  -1,  -1, 114,  -1,  -1,
+       -1,  -1, 115,  -1,  -1,  -1, 116,  -1, 117,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 118,  -1,  -1, 119,
+       -1,  -1, 120,  -1,  -1,  -1, 121,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 122, 123,  -1,  -1, 124,  -1,
        -1,  -1,  -1,  -1,  -1,  -1, 125,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 126,
+       -1,  -1,  -1, 127,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 126,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 127,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 128,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 128,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 129,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1, 130,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 131,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 132,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 129,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 133,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1, 134,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      135,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 136,
+      131,  -1,  -1,  -1, 132,  -1, 133,  -1,  -1, 134,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 137,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 135,  -1, 136,  -1, 137,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1, 138,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 139,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 138,  -1,  -1,  -1,  -1, 139,
+       -1,  -1,  -1, 140,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 140,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 141,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 142,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1, 141,  -1,  -1,  -1,  -1,  -1,
-      142,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 143,  -1,  -1, 144,  -1,  -1,  -1,  -1, 145,
-       -1,  -1,  -1,  -1, 146,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 147,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 148,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 143,  -1,  -1, 144,  -1,  -1,  -1,  -1,  -1,
+      145,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 146,  -1,  -1, 147,  -1,  -1,  -1,  -1, 148,
+       -1,  -1,  -1,  -1, 149,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 150,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 151,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 149,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 150,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1, 151, 152,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1, 153,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 152,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 153,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      154,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 154,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 155
+      155,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 156
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -619,6 +605,7 @@ static const char * const propertyList[] = {
 "white-space", 
 "widows", 
 "width", 
+"word-wrap", 
 "word-spacing", 
 "z-index", 
 "background", 
index 5671ea6ba97c052acc204d9a6753bc7f23e10268..c0b856268bca839816fcb961f7768bc11ec7b844 100644 (file)
 #define CSS_PROP_WHITE_SPACE 130
 #define CSS_PROP_WIDOWS 131
 #define CSS_PROP_WIDTH 132
-#define CSS_PROP_WORD_SPACING 133
-#define CSS_PROP_Z_INDEX 134
-#define CSS_PROP_BACKGROUND 135
-#define CSS_PROP_BORDER 136
-#define CSS_PROP_BORDER_COLOR 137
-#define CSS_PROP_BORDER_STYLE 138
-#define CSS_PROP_BORDER_TOP 139
-#define CSS_PROP_BORDER_RIGHT 140
-#define CSS_PROP_BORDER_BOTTOM 141
-#define CSS_PROP_BORDER_LEFT 142
-#define CSS_PROP_BORDER_WIDTH 143
-#define CSS_PROP_FONT 144
-#define CSS_PROP_LIST_STYLE 145
-#define CSS_PROP_MARGIN 146
-#define CSS_PROP_OUTLINE 147
-#define CSS_PROP_PADDING 148
-#define CSS_PROP_SCROLLBAR_FACE_COLOR 149
-#define CSS_PROP_SCROLLBAR_SHADOW_COLOR 150
-#define CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR 151
-#define CSS_PROP_SCROLLBAR_3DLIGHT_COLOR 152
-#define CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR 153
-#define CSS_PROP_SCROLLBAR_TRACK_COLOR 154
-#define CSS_PROP_SCROLLBAR_ARROW_COLOR 155
-#define CSS_PROP__KHTML_FLOW_MODE 156
+#define CSS_PROP_WORD_WRAP 133
+#define CSS_PROP_WORD_SPACING 134
+#define CSS_PROP_Z_INDEX 135
+#define CSS_PROP_BACKGROUND 136
+#define CSS_PROP_BORDER 137
+#define CSS_PROP_BORDER_COLOR 138
+#define CSS_PROP_BORDER_STYLE 139
+#define CSS_PROP_BORDER_TOP 140
+#define CSS_PROP_BORDER_RIGHT 141
+#define CSS_PROP_BORDER_BOTTOM 142
+#define CSS_PROP_BORDER_LEFT 143
+#define CSS_PROP_BORDER_WIDTH 144
+#define CSS_PROP_FONT 145
+#define CSS_PROP_LIST_STYLE 146
+#define CSS_PROP_MARGIN 147
+#define CSS_PROP_OUTLINE 148
+#define CSS_PROP_PADDING 149
+#define CSS_PROP_SCROLLBAR_FACE_COLOR 150
+#define CSS_PROP_SCROLLBAR_SHADOW_COLOR 151
+#define CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR 152
+#define CSS_PROP_SCROLLBAR_3DLIGHT_COLOR 153
+#define CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR 154
+#define CSS_PROP_SCROLLBAR_TRACK_COLOR 155
+#define CSS_PROP_SCROLLBAR_ARROW_COLOR 156
+#define CSS_PROP__KHTML_FLOW_MODE 157
 
 #define CSS_PROP_MAX CSS_PROP_Z_INDEX
-#define CSS_PROP_TOTAL 157
+#define CSS_PROP_TOTAL 158
 #endif
 
index a1258048fdc6e8f0ace6a4af3d0254b927673288..02c6fc46da111d2340b41890bc9119ac29d5f5a9 100644 (file)
@@ -144,6 +144,7 @@ visibility
 white-space
 widows
 width
+word-wrap
 word-spacing
 z-index
 background
index 63394b6a8ceca3dd2249663e31faf89ffb421aae..80151b5ac8962fafaab3938f8fad801fe9131262 100644 (file)
@@ -2510,6 +2510,26 @@ void CSSStyleSelector::applyProperty( int id, DOM::CSSValueImpl *value )
         return;
     }
 
+    case CSS_PROP_WORD_WRAP:
+    {
+        HANDLE_INHERIT_AND_INITIAL(wordWrap, WordWrap)
+
+        if(!primitiveValue->getIdent()) return;
+
+        EWordWrap s;
+        switch(primitiveValue->getIdent()) {
+        case CSS_VAL_BREAK_WORD:
+            s = BREAK_WORD;
+            break;
+        case CSS_VAL_NORMAL:
+        default:
+            s = WBNORMAL;
+            break;
+        }
+        style->setWordWrap(s);
+        break;
+    }
+
         // length, percent
     case CSS_PROP_MAX_WIDTH:
         // +none +inherit
index 30656c3581e7056acc18f115193a68b7118f0699..e1ca624cc119ae9acdb7bc384988939226065b49 100644 (file)
@@ -7,7 +7,7 @@ struct css_value {
     const char *name;
     int id;
 };
-/* maximum key range = 3615, duplicates = 1 */
+/* maximum key range = 3788, duplicates = 1 */
 
 #ifdef __GNUC__
 __inline
@@ -21,32 +21,32 @@ hash_val (register const char *str, register unsigned int len)
 {
   static const unsigned short asso_values[] =
     {
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615,   15, 3615, 3615,    0,    5,
-        10,   15,   20,   25,   30,   35,   40,    0, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615,    0,   28,    3,
-       400,  300,  275,  450,  388,   35,    0,  265,    0,   13,
-        55,    5,    8,   90,   65,   10,    0,  465,  258,  485,
-       118,  125,   50, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615, 3615,
-      3615, 3615, 3615, 3615, 3615, 3615
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788,   15, 3788, 3788,    0,    5,
+        10,   15,   20,   25,   35,   40,   45,    0, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788,    0,   28,    3,
+       400,  300,   20,  450,  438,   35,    0,  265,    0,   13,
+        55,    5,    8,   50,   65,   10,    0,  465,  303,  131,
+       403,   45,    5, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788, 3788,
+      3788, 3788, 3788, 3788, 3788, 3788
     };
   register int hval = 0;
 
@@ -110,11 +110,11 @@ findValue (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 268,
+      TOTAL_KEYWORDS = 269,
       MIN_WORD_LENGTH = 2,
       MAX_WORD_LENGTH = 22,
       MIN_HASH_VALUE = 0,
-      MAX_HASH_VALUE = 3614
+      MAX_HASH_VALUE = 3787
     };
 
   static const struct css_value wordlist_value[] =
@@ -127,8 +127,9 @@ findValue (register const char *str, register unsigned int len)
       {"400", CSS_VAL_400},
       {"small", CSS_VAL_SMALL},
       {"500", CSS_VAL_500},
-      {"600", CSS_VAL_600},
+      {"fast", CSS_VAL_FAST},
       {"compact", CSS_VAL_COMPACT},
+      {"600", CSS_VAL_600},
       {"700", CSS_VAL_700},
       {"800", CSS_VAL_800},
       {"clip", CSS_VAL_CLIP},
@@ -144,249 +145,249 @@ findValue (register const char *str, register unsigned int len)
       {"cross", CSS_VAL_CROSS},
       {"icon", CSS_VAL_ICON},
       {"caption", CSS_VAL_CAPTION},
+      {"fantasy", CSS_VAL_FANTASY},
       {"normal", CSS_VAL_NORMAL},
       {"maroon", CSS_VAL_MAROON},
       {"small-caption", CSS_VAL_SMALL_CAPTION},
-      {"x-small", CSS_VAL_X_SMALL},
+      {"slow", CSS_VAL_SLOW},
       {"initial", CSS_VAL_INITIAL},
-      {"mix", CSS_VAL_MIX},
+      {"wait", CSS_VAL_WAIT},
       {"scrollbar", CSS_VAL_SCROLLBAR},
       {"portrait", CSS_VAL_PORTRAIT},
-      {"xx-small", CSS_VAL_XX_SMALL},
-      {"fast", CSS_VAL_FAST},
+      {"always", CSS_VAL_ALWAYS},
+      {"nowrap", CSS_VAL_NOWRAP},
       {"intrinsic", CSS_VAL_INTRINSIC},
       {"black", CSS_VAL_BLACK},
       {"teal", CSS_VAL_TEAL},
       {"block", CSS_VAL_BLOCK},
+      {"left", CSS_VAL_LEFT},
       {"collapse", CSS_VAL_COLLAPSE},
       {"table", CSS_VAL_TABLE},
       {"lime", CSS_VAL_LIME},
       {"pre", CSS_VAL_PRE},
       {"blink", CSS_VAL_BLINK},
+      {"capitalize", CSS_VAL_CAPITALIZE},
       {"smaller", CSS_VAL_SMALLER},
       {"ellipsis", CSS_VAL_ELLIPSIS},
       {"monospace", CSS_VAL_MONOSPACE},
       {"inset", CSS_VAL_INSET},
+      {"navy", CSS_VAL_NAVY},
       {"circle", CSS_VAL_CIRCLE},
       {"list-item", CSS_VAL_LIST_ITEM},
       {"min-intrinsic", CSS_VAL_MIN_INTRINSIC},
       {"none", CSS_VAL_NONE},
-      {"text", CSS_VAL_TEXT},
-      {"both", CSS_VAL_BOTH},
-      {"capitalize", CSS_VAL_CAPITALIZE},
+      {"serif", CSS_VAL_SERIF},
       {"bold", CSS_VAL_BOLD},
-      {"navy", CSS_VAL_NAVY},
-      {"text-top", CSS_VAL_TEXT_TOP},
+      {"x-small", CSS_VAL_X_SMALL},
       {"disc", CSS_VAL_DISC},
       {"table-caption", CSS_VAL_TABLE_CAPTION},
       {"solid", CSS_VAL_SOLID},
-      {"fantasy", CSS_VAL_FANTASY},
+      {"mix", CSS_VAL_MIX},
+      {"below", CSS_VAL_BELOW},
       {"pointer", CSS_VAL_POINTER},
       {"auto", CSS_VAL_AUTO},
+      {"both", CSS_VAL_BOTH},
       {"up", CSS_VAL_UP},
-      {"thin", CSS_VAL_THIN},
-      {"block-axis", CSS_VAL_BLOCK_AXIS},
       {"inline", CSS_VAL_INLINE},
-      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
-      {"slow", CSS_VAL_SLOW},
+      {"yellow", CSS_VAL_YELLOW},
+      {"lower", CSS_VAL_LOWER},
       {"sub", CSS_VAL_SUB},
-      {"wait", CSS_VAL_WAIT},
-      {"armenian", CSS_VAL_ARMENIAN},
-      {"captiontext", CSS_VAL_CAPTIONTEXT},
       {"aqua", CSS_VAL_AQUA},
+      {"sans-serif", CSS_VAL_SANS_SERIF},
+      {"armenian", CSS_VAL_ARMENIAN},
+      {"thin", CSS_VAL_THIN},
+      {"infinite", CSS_VAL_INFINITE},
+      {"table-row", CSS_VAL_TABLE_ROW},
       {"transparent", CSS_VAL_TRANSPARENT},
-      {"left", CSS_VAL_LEFT},
+      {"gray", CSS_VAL_GRAY},
+      {"justify", CSS_VAL_JUSTIFY},
+      {"show", CSS_VAL_SHOW},
+      {"katakana", CSS_VAL_KATAKANA},
+      {"down", CSS_VAL_DOWN},
+      {"status-bar", CSS_VAL_STATUS_BAR},
+      {"lower-latin", CSS_VAL_LOWER_LATIN},
+      {"horizontal", CSS_VAL_HORIZONTAL},
       {"move", CSS_VAL_MOVE},
       {"crosshair", CSS_VAL_CROSSHAIR},
-      {"katakana", CSS_VAL_KATAKANA},
       {"above", CSS_VAL_ABOVE},
-      {"status-bar", CSS_VAL_STATUS_BAR},
       {"olive", CSS_VAL_OLIVE},
-      {"horizontal", CSS_VAL_HORIZONTAL},
-      {"nowrap", CSS_VAL_NOWRAP},
-      {"always", CSS_VAL_ALWAYS},
-      {"gray", CSS_VAL_GRAY},
       {"table-cell", CSS_VAL_TABLE_CELL},
-      {"inline-axis", CSS_VAL_INLINE_AXIS},
-      {"vertical", CSS_VAL_VERTICAL},
-      {"visible", CSS_VAL_VISIBLE},
-      {"silver", CSS_VAL_SILVER},
+      {"lower-roman", CSS_VAL_LOWER_ROMAN},
       {"repeat", CSS_VAL_REPEAT},
       {"separate", CSS_VAL_SEPARATE},
-      {"serif", CSS_VAL_SERIF},
+      {"narrower", CSS_VAL_NARROWER},
       {"run-in", CSS_VAL_RUN_IN},
-      {"thick", CSS_VAL_THICK},
-      {"help", CSS_VAL_HELP},
-      {"avoid", CSS_VAL_AVOID},
-      {"activecaption", CSS_VAL_ACTIVECAPTION},
-      {"invert", CSS_VAL_INVERT},
+      {"forwards", CSS_VAL_FORWARDS},
+      {"text", CSS_VAL_TEXT},
+      {"vertical", CSS_VAL_VERTICAL},
+      {"visible", CSS_VAL_VISIBLE},
+      {"silver", CSS_VAL_SILVER},
+      {"overlay", CSS_VAL_OVERLAY},
       {"alternate", CSS_VAL_ALTERNATE},
       {"center", CSS_VAL_CENTER},
       {"baseline", CSS_VAL_BASELINE},
+      {"text-top", CSS_VAL_TEXT_TOP},
+      {"repeat-y", CSS_VAL_REPEAT_Y},
+      {"wave", CSS_VAL_WAVE},
+      {"s-resize", CSS_VAL_S_RESIZE},
+      {"thick", CSS_VAL_THICK},
+      {"avoid", CSS_VAL_AVOID},
       {"slide", CSS_VAL_SLIDE},
+      {"help", CSS_VAL_HELP},
+      {"activecaption", CSS_VAL_ACTIVECAPTION},
       {"no-repeat", CSS_VAL_NO_REPEAT},
       {"decimal", CSS_VAL_DECIMAL},
-      {"overlay", CSS_VAL_OVERLAY},
       {"end", CSS_VAL_END},
+      {"window", CSS_VAL_WINDOW},
+      {"invert", CSS_VAL_INVERT},
+      {"block-axis", CSS_VAL_BLOCK_AXIS},
       {"red", CSS_VAL_RED},
-      {"stretch", CSS_VAL_STRETCH},
-      {"sans-serif", CSS_VAL_SANS_SERIF},
+      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
       {"landscape", CSS_VAL_LANDSCAPE},
       {"outset", CSS_VAL_OUTSET},
-      {"s-resize", CSS_VAL_S_RESIZE},
-      {"infotext", CSS_VAL_INFOTEXT},
-      {"infinite", CSS_VAL_INFINITE},
-      {"inactivecaption", CSS_VAL_INACTIVECAPTION},
+      {"n-resize", CSS_VAL_N_RESIZE},
       {"blue", CSS_VAL_BLUE},
       {"inline-block", CSS_VAL_INLINE_BLOCK},
       {"bolder", CSS_VAL_BOLDER},
-      {"repeat-x", CSS_VAL_REPEAT_X},
+      {"appworkspace", CSS_VAL_APPWORKSPACE},
       {"absolute", CSS_VAL_ABSOLUTE},
-      {"repeat-y", CSS_VAL_REPEAT_Y},
+      {"captiontext", CSS_VAL_CAPTIONTEXT},
+      {"lowercase", CSS_VAL_LOWERCASE},
       {"large", CSS_VAL_LARGE},
-      {"below", CSS_VAL_BELOW},
+      {"stretch", CSS_VAL_STRETCH},
+      {"infotext", CSS_VAL_INFOTEXT},
       {"multiple", CSS_VAL_MULTIPLE},
       {"inline-table", CSS_VAL_INLINE_TABLE},
-      {"n-resize", CSS_VAL_N_RESIZE},
       {"menu", CSS_VAL_MENU},
       {"inside", CSS_VAL_INSIDE},
-      {"hand", CSS_VAL_HAND},
+      {"inactivecaption", CSS_VAL_INACTIVECAPTION},
+      {"xx-small", CSS_VAL_XX_SMALL},
       {"purple", CSS_VAL_PURPLE},
-      {"-khtml-box", CSS_VAL__KHTML_BOX},
       {"super", CSS_VAL_SUPER},
       {"single", CSS_VAL_SINGLE},
-      {"lower", CSS_VAL_LOWER},
-      {"level", CSS_VAL_LEVEL},
+      {"grey", CSS_VAL_GREY},
+      {"w-resize", CSS_VAL_W_RESIZE},
       {"loud", CSS_VAL_LOUD},
+      {"sw-resize", CSS_VAL_SW_RESIZE},
       {"orange", CSS_VAL_ORANGE},
-      {"inherit", CSS_VAL_INHERIT},
+      {"buttonface", CSS_VAL_BUTTONFACE},
       {"larger", CSS_VAL_LARGER},
-      {"table-column", CSS_VAL_TABLE_COLUMN},
-      {"show", CSS_VAL_SHOW},
-      {"table-row", CSS_VAL_TABLE_ROW},
-      {"justify", CSS_VAL_JUSTIFY},
-      {"discard", CSS_VAL_DISCARD},
-      {"yellow", CSS_VAL_YELLOW},
       {"oblique", CSS_VAL_OBLIQUE},
+      {"table-column", CSS_VAL_TABLE_COLUMN},
+      {"read-only", CSS_VAL_READ_ONLY},
       {"square", CSS_VAL_SQUARE},
-      {"right", CSS_VAL_RIGHT},
-      {"grey", CSS_VAL_GREY},
-      {"down", CSS_VAL_DOWN},
-      {"x-large", CSS_VAL_X_LARGE},
+      {"hand", CSS_VAL_HAND},
+      {"backwards", CSS_VAL_BACKWARDS},
+      {"level", CSS_VAL_LEVEL},
+      {"white", CSS_VAL_WHITE},
+      {"discard", CSS_VAL_DISCARD},
+      {"nw-resize", CSS_VAL_NW_RESIZE},
+      {"inherit", CSS_VAL_INHERIT},
+      {"wider", CSS_VAL_WIDER},
+      {"inline-axis", CSS_VAL_INLINE_AXIS},
       {"upper-latin", CSS_VAL_UPPER_LATIN},
-      {"relative", CSS_VAL_RELATIVE},
-      {"lower-latin", CSS_VAL_LOWER_LATIN},
-      {"read-only", CSS_VAL_READ_ONLY},
+      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
       {"element", CSS_VAL_ELEMENT},
-      {"buttontext", CSS_VAL_BUTTONTEXT},
-      {"hiragana", CSS_VAL_HIRAGANA},
+      {"fuchsia", CSS_VAL_FUCHSIA},
+      {"right", CSS_VAL_RIGHT},
       {"upper-roman", CSS_VAL_UPPER_ROMAN},
-      {"lower-roman", CSS_VAL_LOWER_ROMAN},
-      {"overline", CSS_VAL_OVERLINE},
-      {"narrower", CSS_VAL_NARROWER},
+      {"relative", CSS_VAL_RELATIVE},
+      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
+      {"e-resize", CSS_VAL_E_RESIZE},
+      {"se-resize", CSS_VAL_SE_RESIZE},
       {"embed", CSS_VAL_EMBED},
-      {"wave", CSS_VAL_WAVE},
+      {"hiragana", CSS_VAL_HIRAGANA},
+      {"overline", CSS_VAL_OVERLINE},
+      {"-khtml-left", CSS_VAL__KHTML_LEFT},
+      {"unfurl", CSS_VAL_UNFURL},
+      {"ne-resize", CSS_VAL_NE_RESIZE},
+      {"repeat-x", CSS_VAL_REPEAT_X},
+      {"continuous", CSS_VAL_CONTINUOUS},
       {"-khtml-link", CSS_VAL__KHTML_LINK},
-      {"graytext", CSS_VAL_GRAYTEXT},
-      {"xx-large", CSS_VAL_XX_LARGE},
-      {"e-resize", CSS_VAL_E_RESIZE},
+      {"dotted", CSS_VAL_DOTTED},
       {"groove", CSS_VAL_GROOVE},
-      {"se-resize", CSS_VAL_SE_RESIZE},
       {"ahead", CSS_VAL_AHEAD},
       {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
-      {"continuous", CSS_VAL_CONTINUOUS},
-      {"dotted", CSS_VAL_DOTTED},
-      {"-khtml-text", CSS_VAL__KHTML_TEXT},
-      {"hide", CSS_VAL_HIDE},
-      {"fixed", CSS_VAL_FIXED},
-      {"ne-resize", CSS_VAL_NE_RESIZE},
-      {"buttonface", CSS_VAL_BUTTONFACE},
-      {"cursive", CSS_VAL_CURSIVE},
       {"middle", CSS_VAL_MIDDLE},
-      {"appworkspace", CSS_VAL_APPWORKSPACE},
+      {"close-quote", CSS_VAL_CLOSE_QUOTE},
+      {"windowframe", CSS_VAL_WINDOWFRAME},
+      {"fixed", CSS_VAL_FIXED},
       {"uppercase", CSS_VAL_UPPERCASE},
-      {"-khtml-auto", CSS_VAL__KHTML_AUTO},
-      {"lowercase", CSS_VAL_LOWERCASE},
       {"green", CSS_VAL_GREEN},
-      {"fuchsia", CSS_VAL_FUCHSIA},
-      {"close-quote", CSS_VAL_CLOSE_QUOTE},
+      {"hide", CSS_VAL_HIDE},
+      {"cursive", CSS_VAL_CURSIVE},
+      {"-khtml-box", CSS_VAL__KHTML_BOX},
+      {"default", CSS_VAL_DEFAULT},
+      {"marquee", CSS_VAL_MARQUEE},
       {"double", CSS_VAL_DOUBLE},
-      {"white", CSS_VAL_WHITE},
-      {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
+      {"open-quote", CSS_VAL_OPEN_QUOTE},
       {"outside", CSS_VAL_OUTSIDE},
-      {"dot-dash", CSS_VAL_DOT_DASH},
+      {"-khtml-auto", CSS_VAL__KHTML_AUTO},
+      {"-khtml-body", CSS_VAL__KHTML_BODY},
       {"medium", CSS_VAL_MEDIUM},
-      {"marquee", CSS_VAL_MARQUEE},
-      {"lighter", CSS_VAL_LIGHTER},
-      {"open-quote", CSS_VAL_OPEN_QUOTE},
-      {"message-box", CSS_VAL_MESSAGE_BOX},
+      {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
+      {"x-large", CSS_VAL_X_LARGE},
       {"ridge", CSS_VAL_RIDGE},
-      {"menutext", CSS_VAL_MENUTEXT},
-      {"-khtml-body", CSS_VAL__KHTML_BODY},
-      {"backwards", CSS_VAL_BACKWARDS},
+      {"buttontext", CSS_VAL_BUTTONTEXT},
+      {"hebrew", CSS_VAL_HEBREW},
+      {"graytext", CSS_VAL_GRAYTEXT},
+      {"dot-dash", CSS_VAL_DOT_DASH},
+      {"break-word", CSS_VAL_BREAK_WORD},
+      {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
+      {"lighter", CSS_VAL_LIGHTER},
       {"upper-alpha", CSS_VAL_UPPER_ALPHA},
-      {"w-resize", CSS_VAL_W_RESIZE},
-      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
-      {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
-      {"sw-resize", CSS_VAL_SW_RESIZE},
-      {"-khtml-left", CSS_VAL__KHTML_LEFT},
-      {"wider", CSS_VAL_WIDER},
+      {"read-write", CSS_VAL_READ_WRITE},
       {"reverse", CSS_VAL_REVERSE},
-      {"forwards", CSS_VAL_FORWARDS},
-      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
-      {"nw-resize", CSS_VAL_NW_RESIZE},
-      {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
-      {"unfurl", CSS_VAL_UNFURL},
-      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
       {"georgian", CSS_VAL_GEORGIAN},
+      {"-khtml-text", CSS_VAL__KHTML_TEXT},
+      {"windowtext", CSS_VAL_WINDOWTEXT},
       {"-khtml-center", CSS_VAL__KHTML_CENTER},
-      {"default", CSS_VAL_DEFAULT},
       {"activeborder", CSS_VAL_ACTIVEBORDER},
-      {"window", CSS_VAL_WINDOW},
-      {"dashed", CSS_VAL_DASHED},
-      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
       {"condensed", CSS_VAL_CONDENSED},
+      {"message-box", CSS_VAL_MESSAGE_BOX},
+      {"menutext", CSS_VAL_MENUTEXT},
+      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
+      {"inactivecaptiontext", CSS_VAL_INACTIVECAPTIONTEXT},
+      {"dashed", CSS_VAL_DASHED},
+      {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
+      {"skip-white-space", CSS_VAL_SKIP_WHITE_SPACE},
       {"inactiveborder", CSS_VAL_INACTIVEBORDER},
-      {"hebrew", CSS_VAL_HEBREW},
+      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
       {"hidden", CSS_VAL_HIDDEN},
-      {"expanded", CSS_VAL_EXPANDED},
+      {"xx-large", CSS_VAL_XX_LARGE},
+      {"underline", CSS_VAL_UNDERLINE},
+      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
+      {"dot-dot-dash", CSS_VAL_DOT_DOT_DASH},
       {"higher", CSS_VAL_HIGHER},
       {"-khtml-right", CSS_VAL__KHTML_RIGHT},
-      {"dot-dot-dash", CSS_VAL_DOT_DOT_DASH},
-      {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
-      {"read-write", CSS_VAL_READ_WRITE},
-      {"underline", CSS_VAL_UNDERLINE},
       {"background", CSS_VAL_BACKGROUND},
-      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
-      {"skip-white-space", CSS_VAL_SKIP_WHITE_SPACE},
-      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
-      {"windowtext", CSS_VAL_WINDOWTEXT},
+      {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
+      {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
+      {"threedface", CSS_VAL_THREEDFACE},
+      {"infobackground", CSS_VAL_INFOBACKGROUND},
+      {"expanded", CSS_VAL_EXPANDED},
       {"table-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
+      {"lower-greek", CSS_VAL_LOWER_GREEK},
       {"semi-condensed", CSS_VAL_SEMI_CONDENSED},
-      {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
       {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
-      {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
       {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
-      {"table-footer-group", CSS_VAL_TABLE_FOOTER_GROUP},
-      {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
-      {"threedface", CSS_VAL_THREEDFACE},
       {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
-      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
-      {"infobackground", CSS_VAL_INFOBACKGROUND},
-      {"windowframe", CSS_VAL_WINDOWFRAME},
-      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
-      {"highlight", CSS_VAL_HIGHLIGHT},
+      {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
       {"line-through", CSS_VAL_LINE_THROUGH},
-      {"lower-greek", CSS_VAL_LOWER_GREEK},
+      {"highlight", CSS_VAL_HIGHLIGHT},
+      {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
       {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
-      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
+      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
+      {"threedshadow", CSS_VAL_THREEDSHADOW},
       {"-khtml-baseline-middle", CSS_VAL__KHTML_BASELINE_MIDDLE},
+      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
+      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
       {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
-      {"threedshadow", CSS_VAL_THREEDSHADOW},
       {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
+      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
       {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
-      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
-      {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW}
+      {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
+      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT}
     };
 
   static const short lookup[] =
@@ -396,24 +397,25 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,    5,   -1,   -1,    6,
         -1,    7,   -1,   -1,   -1,   -1,    8,   -1,
          9,   -1,   -1,   10,   -1,   -1,   -1,   -1,
-        11,   -1,   -1,   -1,   -1,   -1,   12,   -1,
-        13,   -1,   -1,   14,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   15,   -1,   -1,   -1,   -1,
-        -1, -335, -252,   -2,   -1,   -1,   -1,   -1,
-        -1,   18,   -1,   19,   -1,   -1,   -1,   -1,
-        -1,   20,   -1,   21,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   22,   -1,   -1,
-        -1,   -1,   23,   -1,   -1,   -1,   -1,   -1,
+        11,   -1,   -1,   -1,   -1,   12,   13,   -1,
+        14,   -1,   -1,   15,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   16,   -1,   -1,   -1,   -1,
+        -1, -336, -252,   -2,   -1,   -1,   -1,   -1,
+        -1,   19,   -1,   20,   -1,   -1,   -1,   -1,
+        -1,   21,   -1,   22,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   23,   -1,   -1,
         -1,   -1,   24,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   25,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   26,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   27,   -1,   -1,   -1,   -1,   28,
+        29,   -1,   30,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   25,   -1,   -1,   -1,   -1,   26,
-        27,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   28,   -1,   -1,   -1,
-        29,   -1,   -1,   -1,   -1,   -1,   30,   -1,
+        31,   -1,   -1,   -1,   -1,   -1,   32,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        31,   -1,   32,   -1,   -1,   -1,   -1,   -1,
+        33,   -1,   34,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   35,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -423,142 +425,141 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        36,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   33,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   34,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   35,   -1,   -1,
-        36,   -1,   -1,   -1,   37,   38,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   37,   -1,   -1,
+        38,   -1,   -1,   -1,   39,   40,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   39,   -1,
-        40,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        41,   -1,   -1,   -1,   -1,   -1,   42,   -1,
+        43,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   41,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   42,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   43,
-        -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   45,   46,
-        47,   -1,   -1,   -1,   -1,   -1,   48,   -1,
-        49,   -1,   -1,   50,   -1,   -1,   -1,   51,
-        -1,   -1,   52,   -1,   -1,   53,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   54,
-        -1,   55,   -1,   -1,   -1,   -1,   56,   -1,
+        -1,   -1,   -1,   -1,   -1,   45,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   46,
+        -1,   -1,   47,   -1,   48,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   49,   50,
+        51,   -1,   -1,   52,   -1,   -1,   53,   -1,
+        54,   -1,   -1,   55,   -1,   -1,   -1,   56,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   57,   -1,
-        58,   59,   60,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   61,   -1,   -1,   62,   -1,   63,   -1,
-        -1,   64,   -1,   -1,   -1,   -1,   65,   66,
-        67,   -1,   -1,   -1,   68,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   69,   -1,   -1,   70,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        71,   -1,   -1,   72,   73,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   74,   -1,   -1,   75,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   76,
-        77,   -1,   -1,   -1,   -1,   78,   -1,   -1,
-        -1,   79,   -1,   -1,   -1,   -1,   -1,   80,
-        -1,   81,   -1,   -1,   -1,   -1,   82,   -1,
-        -1,   -1,   -1,   83,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   84,   -1,   85,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        86,   -1,   -1,   -1,   -1,   -1,   87,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   88,   -1,   -1,   89,   -1,   -1,
-        -1,   -1,   90,   -1,   91,   -1,   -1,   -1,
-        -1,   92,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   93,   -1,   94,   -1,   -1,
-        -1,   -1,   95,   96,   -1,   -1,   -1,   -1,
-        97,   -1,   98,   -1,   -1,   -1,   99,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  100,   -1,   -1,   -1,   -1,   -1,   -1,
-       101,   -1,   -1,  102,   -1,   -1,   -1,   -1,
-       103,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  104,   -1,   -1,  105,   -1,   -1,  106,
-        -1,  107,   -1,  108,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  109,  110,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  111,
-       112,   -1,   -1,   -1,  113,   -1,   -1,   -1,
-        -1,  114,   -1,   -1,  115,   -1,  116,   -1,
-       117,  118,   -1,   -1,  119,   -1,  120,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  121,   -1,
-       122,   -1,   -1,   -1,   -1,  123,   -1,  124,
-        -1,   -1,  125,   -1,   -1,  126,   -1,  127,
-        -1,   -1,   -1,   -1,   -1,   -1,  128,   -1,
-        -1,  129,   -1,  130,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  131,   -1,   -1,  132,  133,
-       134,   -1,  135,   -1,   -1,   -1,   -1,  136,
-        -1,   -1,  137,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  138,   -1,
-        -1,   -1,   -1,  139,   -1,   -1,  140,   -1,
-       141,   -1,   -1,   -1,  142,   -1,   -1,   -1,
-       143,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  144,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  145,   -1,
-        -1,  146,   -1,  147,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  148,   -1,   -1,   -1,   -1,
-        -1,   -1,  149,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  150,   -1,  151,   -1,   -1,   -1,
-        -1,  152,   -1,   -1,  153,   -1,   -1,  154,
-        -1,   -1,   -1,   -1,   -1,   -1,  155,   -1,
-       156,   -1,   -1,   -1,   -1,  157,   -1,   -1,
-       158,   -1,   -1,  159,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  160,   -1,   -1,   -1,   -1,   -1,  161,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       162,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  163,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       164,  165,   -1,  166,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  167,   -1,   -1,   -1,   -1,
-        -1,   -1,  168,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  169,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  170,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  171,   -1,  172,   -1,   -1,
-       173,   -1,   -1,   -1,   -1,  174,   -1,   -1,
-        -1,   -1,  175,   -1,   -1,   -1,   -1,   -1,
-        -1,  176,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  177,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  178,   -1,   -1,   -1,   -1,
-       179,   -1,  180,  181,   -1,   -1,   -1,   -1,
-       182,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  183,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  184,   -1,  185,
-        -1,   -1,   -1,   -1,   -1,   -1,  186,   -1,
-       187,   -1,  188,   -1,   -1,   -1,   -1,   -1,
-       189,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  190,   -1,   -1,   -1,   -1,  191,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       192,   -1,  193,   -1,   -1,   -1,   -1,  194,
-        -1,   -1,  195,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  196,   -1,   -1,   -1,   -1,   -1,
-        -1,  197,   -1,   -1,   -1,   -1,  198,   -1,
-        -1,   -1,   -1,  199,   -1,   -1,   -1,   -1,
-        -1,  200,  201,  202,   -1,   -1,  203,   -1,
-       204,  205,   -1,   -1,  206,   -1,   -1,   -1,
-        -1,   -1,  207,   -1,  208,   -1,  209,  210,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  211,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  212,   -1,   -1,   -1,   -1,   -1,
-        -1,  213,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  214,  215,   -1,   -1,  216,   -1,
-        -1,   -1,   -1,   -1,   -1,  217,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  218,   -1,
+        -1,   58,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   59,   -1,   -1,   -1,   -1,   -1,   -1,
+        60,   61,   62,   63,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        64,   -1,   -1,   -1,   65,   -1,   66,   67,
+        -1,   68,   -1,   -1,   -1,   -1,   -1,   -1,
+        69,   70,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   71,   -1,   72,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   73,   -1,   -1,   -1,   -1,
+        74,   -1,   -1,   75,   -1,   -1,   -1,   -1,
+        76,   -1,   -1,   -1,   -1,   -1,   -1,   77,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        78,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   79,   -1,
+        80,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   81,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        82,   83,   -1,   -1,   -1,   -1,   -1,   84,
+        -1,   85,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   86,   -1,
+        87,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   88,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   89,
+        -1,   -1,   -1,   -1,   90,   -1,   -1,   -1,
+        -1,   -1,   -1,   91,   -1,   -1,   92,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   93,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   94,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   95,   -1,   -1,   96,   -1,
+        -1,   -1,   97,   -1,   -1,   -1,   -1,   -1,
+        98,   -1,   -1,   -1,   -1,   -1,   -1,   99,
+        -1,   -1,  100,   -1,   -1,   -1,   -1,  101,
+        -1,  102,   -1,   -1,   -1,   -1,  103,   -1,
+       104,   -1,   -1,  105,   -1,   -1,   -1,   -1,
+       106,   -1,   -1,  107,   -1,  108,  109,   -1,
+        -1,   -1,   -1,   -1,  110,  111,   -1,  112,
+        -1,  113,  114,  115,  116,   -1,   -1,  117,
+        -1,   -1,   -1,  118,   -1,  119,  120,   -1,
+        -1,   -1,   -1,   -1,  121,  122,   -1,   -1,
+        -1,  123,   -1,   -1,   -1,   -1,   -1,   -1,
+       124,   -1,   -1,   -1,  125,   -1,   -1,   -1,
+        -1,  126,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  127,   -1,   -1,  128,   -1,  129,   -1,
+        -1,   -1,   -1,  130,   -1,   -1,   -1,   -1,
+       131,  132,   -1,   -1,   -1,   -1,  133,  134,
+       135,   -1,  136,   -1,   -1,  137,   -1,  138,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  139,   -1,  140,   -1,  141,   -1,   -1,
+        -1,   -1,   -1,   -1,  142,   -1,  143,   -1,
+       144,   -1,  145,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  146,  147,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  148,  149,
+        -1,   -1,   -1,  150,  151,   -1,   -1,   -1,
+       152,   -1,   -1,  153,  154,  155,   -1,   -1,
+        -1,   -1,  156,   -1,   -1,  157,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  158,  159,
+       160,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  161,   -1,   -1,  162,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       163,   -1,   -1,  164,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  165,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  166,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  167,   -1,   -1,   -1,   -1,   -1,
+       168,   -1,   -1,  169,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  170,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  171,
+        -1,   -1,   -1,  172,   -1,   -1,   -1,   -1,
+        -1,   -1,  173,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  174,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       175,  176,   -1,  177,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  178,
+        -1,   -1,  179,   -1,   -1,   -1,  180,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  181,   -1,   -1,
+        -1,   -1,   -1,  182,   -1,   -1,   -1,   -1,
+        -1,   -1,  183,   -1,   -1,  184,   -1,   -1,
+        -1,  185,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       186,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  187,   -1,   -1,   -1,   -1,  188,
+        -1,   -1,   -1,   -1,  189,   -1,   -1,   -1,
+        -1,  190,   -1,  191,   -1,   -1,  192,  193,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  194,   -1,   -1,  195,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  196,  197,   -1,
+        -1,  198,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  199,   -1,   -1,   -1,   -1,  200,   -1,
+        -1,   -1,   -1,  201,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  202,
+       203,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       204,   -1,  205,   -1,  206,   -1,   -1,   -1,
+        -1,  207,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  208,   -1,   -1,   -1,   -1,   -1,
+       209,   -1,   -1,   -1,   -1,   -1,  210,  211,
+        -1,   -1,   -1,   -1,  212,   -1,   -1,   -1,
+        -1,   -1,  213,   -1,   -1,   -1,  214,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       215,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  216,   -1,   -1,   -1,  217,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  218,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
        219,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -568,100 +569,98 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  220,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       221,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  222,   -1,   -1,   -1,   -1,
-        -1,  223,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  220,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  221,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  222,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  224,   -1,   -1,  225,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       223,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       226,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  227,   -1,   -1,
+       224,   -1,   -1,   -1,   -1,   -1,  225,   -1,
+       226,  227,   -1,   -1,  228,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  229,   -1,   -1,   -1,
+       230,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  228,   -1,
+        -1,   -1,   -1,   -1,   -1,  231,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  229,   -1,   -1,  230,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  232,   -1,   -1,   -1,   -1,   -1,
+        -1,  233,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  234,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  235,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  231,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  232,   -1,   -1,   -1,  233,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  234,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  235,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  236,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  236,   -1,  237,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       238,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  239,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  240,   -1,
+       241,   -1,   -1,   -1,   -1,   -1,  242,   -1,
+        -1,   -1,  243,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       237,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  244,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  245,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  246,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  247,   -1,   -1,   -1,
+       248,   -1,   -1,   -1,   -1,  249,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  238,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  239,   -1,   -1,
-       240,   -1,   -1,  241,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  242,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  243,   -1,   -1,
-        -1,   -1,  244,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  245,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  246,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  247,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  250,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  251,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  248,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  249,   -1,   -1,   -1,   -1,  250,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  252,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  251,   -1,   -1,   -1,   -1,   -1,  252,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  253,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  254,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  255,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  256,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  257,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -672,13 +671,16 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  258,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  253,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  254,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  255,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  256,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -689,16 +691,18 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,  257,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  258,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,  259,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  259,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -710,39 +714,58 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       260,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  261,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  260,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  261,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  262,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  262,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,  263,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  264,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,  264,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  265,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -771,6 +794,7 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  266,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -794,6 +818,7 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  267,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -824,7 +849,6 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,  265,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -839,10 +863,9 @@ findValue (register const char *str, register unsigned int len)
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  266,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,  267
+        -1,   -1,   -1,  268
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -1149,6 +1172,7 @@ static const char * const valueList[] = {
 "wave", 
 "continuous", 
 "skip-white-space", 
+"break-word", 
     0
 };
 DOMString getValueName(unsigned short id)
index 15c4d7fc35a368646d66bd8d2286f9b7b498eb1d..43ff34553706fb198f4fcdede3dfdaa9aa8e6467 100644 (file)
@@ -277,7 +277,8 @@ DOM::DOMString getValueName(unsigned short id);
 #define CSS_VAL_WAVE 266
 #define CSS_VAL_CONTINUOUS 267
 #define CSS_VAL_SKIP_WHITE_SPACE 268
+#define CSS_VAL_BREAK_WORD 269
 
-#define CSS_VAL_TOTAL 269
+#define CSS_VAL_TOTAL 270
 #endif
 
index be04ed8326e1bb8b8c6952971648d071cfdd2881..6ac616cc00ade5e00b89b1aaeab0508cd2a27e5e 100644 (file)
@@ -413,3 +413,8 @@ wave
 #
 continuous
 skip-white-space
+
+#
+# CSS_PROP_WORD_BREAK
+#
+break-word
index ff2f3ac428ffd32cd306dd9dffcc3988db95b758..3cdaa54bfe51c11bb8a439fa2b9295b7487a2d18 100644 (file)
@@ -1931,6 +1931,8 @@ BidiIterator RenderBlock::findNextLineBreak(BidiIterator &start, BidiState &bidi
                                               // then assume the start width has been applied.
             bool appliedEndWidth = false;
 
+            int wrapW = tmpW;
+            
             while(len) {
                 bool previousCharacterIsSpace = currentCharacterIsSpace;
                 const QChar c = str[pos];
@@ -1965,7 +1967,11 @@ BidiIterator RenderBlock::findNextLineBreak(BidiIterator &start, BidiState &bidi
                 }
                 
                 bool applyWordSpacing = false;
-                if ( (isPre && c == '\n') || (!isPre && isBreakable( str, pos, strlen )) ) {
+
+                bool breakWords = w == 0 && o->style()->whiteSpace() == NORMAL && o->style()->wordWrap() == BREAK_WORD;
+                if (breakWords)
+                    wrapW += t->width(pos, 1, f);
+                if ((isPre && c == '\n') || (!isPre && isBreakable(str, pos, strlen)) || (breakWords && wrapW > width)) {
                     if (ignoringSpaces) {
                         if (!currentCharacterIsSpace) {
                             // Stop ignoring spaces and begin at this
index 2904784e358d99bfa896a68a87733b8a6167cce6..422c5ba9819e33c990f208e5784656e29d136c3e 100644 (file)
@@ -243,7 +243,7 @@ bool StyleCSS3NonInheritedData::operator==(const StyleCSS3NonInheritedData& o) c
 }
 
 StyleCSS3InheritedData::StyleCSS3InheritedData()
-:Shared<StyleCSS3InheritedData>(), textShadow(0), userModify(READ_ONLY)
+:Shared<StyleCSS3InheritedData>(), textShadow(0), userModify(READ_ONLY), wordWrap(WBNORMAL)
 #if APPLE_CHANGES
 , textSizeAdjust(RenderStyle::initialTextSizeAdjust())
 #endif
@@ -256,6 +256,7 @@ StyleCSS3InheritedData::StyleCSS3InheritedData(const StyleCSS3InheritedData& o)
 {
     textShadow = o.textShadow ? new ShadowData(*o.textShadow) : 0;
     userModify = o.userModify;
+    wordWrap = o.wordWrap;
 #if APPLE_CHANGES
     textSizeAdjust = o.textSizeAdjust;
 #endif
@@ -268,7 +269,7 @@ StyleCSS3InheritedData::~StyleCSS3InheritedData()
 
 bool StyleCSS3InheritedData::operator==(const StyleCSS3InheritedData& o) const
 {
-    return (userModify == o.userModify) && shadowDataEquivalent(o)
+    return (userModify == o.userModify) && shadowDataEquivalent(o) && (wordWrap == o.wordWrap) 
 #if APPLE_CHANGES
             && (textSizeAdjust == o.textSizeAdjust)
 #endif
@@ -558,6 +559,7 @@ RenderStyle::Diff RenderStyle::diff( const RenderStyle *other ) const
          (css3NonInheritedData->lineClamp != other->css3NonInheritedData->lineClamp) ||
          (css3InheritedData->textSizeAdjust != other->css3InheritedData->textSizeAdjust) ||
 #endif
+         (css3InheritedData->wordWrap != other->css3InheritedData->wordWrap) ||
         !(inherited->indent == other->inherited->indent) ||
         !(inherited->line_height == other->inherited->line_height) ||
         !(inherited->style_image == other->inherited->style_image) ||
index caf44f376218f95bfea2ae0f8ef8fe95661dfb49..d7a7776896e6de4d3416005394ecfb73a371079b 100644 (file)
@@ -562,6 +562,12 @@ enum EUserSelect {
     SELECT_AUTO, SELECT_NONE, SELECT_TEXT
 };
 
+// Word Break Values. Matches WinIE, rather than CSS3
+
+enum EWordWrap {
+    WBNORMAL, BREAK_WORD
+};
+
 // This struct is for rarely used non-inherited CSS3 properties.  By grouping them together,
 // we save space, and only allocate this object when someone actually uses
 // a non-inherited CSS3 property.
@@ -617,6 +623,7 @@ public:
 
     ShadowData* textShadow;  // Our text shadow information for shadowed text drawing.
     EUserModify userModify : 2; // Flag used for editing state
+    EWordWrap wordWrap : 1;    // Flag used for word wrap
 #if APPLE_CHANGES
     bool textSizeAdjust : 1;    // An Apple extension.  Not really CSS3 but not worth making a new struct over.
 #endif
@@ -1139,6 +1146,7 @@ public:
     bool textOverflow() const { return css3NonInheritedData->textOverflow; }
     EMarginCollapse marginTopCollapse() const { return css3NonInheritedData->marginTopCollapse; }
     EMarginCollapse marginBottomCollapse() const { return css3NonInheritedData->marginBottomCollapse; }
+    EWordWrap wordWrap() const { return css3InheritedData->wordWrap; }
     // End CSS3 Getters
 
 #if APPLE_CHANGES
@@ -1339,6 +1347,7 @@ public:
     void setTextOverflow(bool b) { SET_VAR(css3NonInheritedData, textOverflow, b); }
     void setMarginTopCollapse(EMarginCollapse c) { SET_VAR(css3NonInheritedData, marginTopCollapse, c); }
     void setMarginBottomCollapse(EMarginCollapse c) { SET_VAR(css3NonInheritedData, marginBottomCollapse, c); }
+    void setWordWrap(EWordWrap b) { SET_VAR(css3InheritedData, wordWrap, b); }
     // End CSS3 Setters
    
 #if APPLE_CHANGES
@@ -1453,6 +1462,7 @@ public:
     static bool initialTextOverflow() { return false; }
     static EMarginCollapse initialMarginTopCollapse() { return MCOLLAPSE; }
     static EMarginCollapse initialMarginBottomCollapse() { return MCOLLAPSE; }
+    static EWordWrap initialWordWrap() { return WBNORMAL; }
 
 #if APPLE_CHANGES
     // Keep these at the end.