Reviewed by Darin
authorkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Oct 2004 18:24:01 +0000 (18:24 +0000)
committerkocienda <kocienda@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 5 Oct 2004 18:24:01 +0000 (18:24 +0000)
        Fix for these bugs:

        In this patch, I add two new CSS properties and their associated behavior.
        This is to support end-of-line and word-wrapping features that match the
        conventions of text editors.

        There are also some other small changes here which begin to lay the groundwork
        for using these new properties to bring about the desired editing behavior.

        * khtml/css/cssparser.cpp:
        (CSSParser::parseValue): Add support for new CSS properties.
        * khtml/css/cssproperties.c: Generated file.
        * khtml/css/cssproperties.h: Ditto.
        * khtml/css/cssproperties.in: Add new properties.
        * khtml/css/cssstyleselector.cpp:
        (khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
        * khtml/css/cssvalues.c: Generated file.
        * khtml/css/cssvalues.h: Ditto.
        * khtml/css/cssvalues.in:  Add support for new CSS properties.
        * khtml/editing/visible_position.cpp:
        (khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
        * khtml/editing/visible_position.h:
        * khtml/rendering/render_box.cpp:
        (RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
        * khtml/rendering/render_replaced.cpp:
        (RenderWidget::detach): Zero out inlineBoxWrapper.
        * khtml/rendering/render_style.cpp:
        (StyleCSS3InheritedData):
        (StyleCSS3InheritedData::operator==): Add support for new CSS properties.
        (RenderStyle::diff): Ditto.
        * khtml/rendering/render_style.h:
        (khtml::RenderStyle::nbspMode): Ditto.
        (khtml::RenderStyle::khtmlLineBreak): Ditto.
        (khtml::RenderStyle::setNBSPMode): Ditto.
        (khtml::RenderStyle::setKHTMLLineBreak): Ditto.
        (khtml::RenderStyle::initialNBSPMode): Ditto.
        (khtml::RenderStyle::initialKHTMLLineBreak): Ditto.

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

15 files changed:
WebCore/ChangeLog-2005-08-23
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/editing/visible_position.cpp
WebCore/khtml/editing/visible_position.h
WebCore/khtml/rendering/render_box.cpp
WebCore/khtml/rendering/render_replaced.cpp
WebCore/khtml/rendering/render_style.cpp
WebCore/khtml/rendering/render_style.h

index 2cf00e8c2989a0da410f013d6c11b3287bf9c841..a6777abbba9e85320ff42a77e3206017233f967e 100644 (file)
@@ -1,3 +1,45 @@
+2004-10-05  Ken Kocienda  <kocienda@apple.com>
+
+        Reviewed by Darin
+
+        Fix for these bugs:
+        
+        In this patch, I add two new CSS properties and their associated behavior.
+        This is to support end-of-line and word-wrapping features that match the 
+        conventions of text editors.
+
+        There are also some other small changes here which begin to lay the groundwork
+        for using these new properties to bring about the desired editing behavior.
+
+        * khtml/css/cssparser.cpp:
+        (CSSParser::parseValue): Add support for new CSS properties.
+        * khtml/css/cssproperties.c: Generated file.
+        * khtml/css/cssproperties.h: Ditto.
+        * khtml/css/cssproperties.in: Add new properties.
+        * khtml/css/cssstyleselector.cpp:
+        (khtml::CSSStyleSelector::applyProperty): Add support for new CSS properties.
+        * khtml/css/cssvalues.c: Generated file.
+        * khtml/css/cssvalues.h: Ditto.
+        * khtml/css/cssvalues.in:  Add support for new CSS properties.
+        * khtml/editing/visible_position.cpp:
+        (khtml::VisiblePosition::upstreamDeepEquivalent): Added new helper.
+        * khtml/editing/visible_position.h:
+        * khtml/rendering/render_box.cpp:
+        (RenderBox::deleteLineBoxWrapper): Zero out inlineBoxWrapper.
+        * khtml/rendering/render_replaced.cpp:
+        (RenderWidget::detach): Zero out inlineBoxWrapper.
+        * khtml/rendering/render_style.cpp:
+        (StyleCSS3InheritedData):
+        (StyleCSS3InheritedData::operator==): Add support for new CSS properties.
+        (RenderStyle::diff): Ditto.
+        * khtml/rendering/render_style.h:
+        (khtml::RenderStyle::nbspMode): Ditto.
+        (khtml::RenderStyle::khtmlLineBreak): Ditto.
+        (khtml::RenderStyle::setNBSPMode): Ditto.
+        (khtml::RenderStyle::setKHTMLLineBreak): Ditto.
+        (khtml::RenderStyle::initialNBSPMode): Ditto.
+        (khtml::RenderStyle::initialKHTMLLineBreak): Ditto.
+
 2004-10-05  Darin Adler  <darin@apple.com>
 
         Reviewed by John.
index 9763e8054dfcb41ebfbf0a6ef9fe5325e0eeb5fc..96b9a25b3e7a52e134d37040cbfc4e73bff49f22 100644 (file)
@@ -856,6 +856,16 @@ bool CSSParser::parseValue( int propId, bool important )
            valid_primitive = true;
        break;
 
+    case CSS_PROP__KHTML_NBSP_MODE:     // normal | space
+       if (id == CSS_VAL_NORMAL || id == CSS_VAL_SPACE)
+           valid_primitive = true;
+       break;
+
+    case CSS_PROP__KHTML_LINE_BREAK:   // normal | after-white-space
+       if (id == CSS_VAL_NORMAL || id == CSS_VAL_AFTER_WHITE_SPACE)
+           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 73c177c6f614f82ed44b38af0ad05d84a74843d2..862eeb157fb4ee59741166354f392ae1d47b2074 100644 (file)
@@ -7,7 +7,7 @@ struct props {
     const char *name;
     int id;
 };
-/* maximum key range = 1488, duplicates = 0 */
+/* maximum key range = 1493, 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[] =
     {
-      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
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513,    0, 1513, 1513, 1513, 1513,
+      1513,    5, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513,   20,   40,   45,
+         0,    0,  305,   15,    0,    0,    0,   10,    0,   65,
+       430,    0,   35,   55,    0,   30,    0,   50,  115,  285,
+         0,  210,    0, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513, 1513,
+      1513, 1513, 1513, 1513, 1513, 1513
     };
   register int hval = len;
 
@@ -130,305 +130,313 @@ findProp (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 157,
+      TOTAL_KEYWORDS = 159,
       MIN_WORD_LENGTH = 3,
       MAX_WORD_LENGTH = 32,
-      MIN_HASH_VALUE = 5,
-      MAX_HASH_VALUE = 1492
+      MIN_HASH_VALUE = 20,
+      MAX_HASH_VALUE = 1512
     };
 
   static const struct props wordlist_prop[] =
     {
-      {"color", CSS_PROP_COLOR},
       {"right", CSS_PROP_RIGHT},
       {"height", CSS_PROP_HEIGHT},
+      {"size", CSS_PROP_SIZE},
       {"top", CSS_PROP_TOP},
-      {"clip", CSS_PROP_CLIP},
-      {"clear", CSS_PROP_CLEAR},
       {"border", CSS_PROP_BORDER},
-      {"border-color", CSS_PROP_BORDER_COLOR},
+      {"color", CSS_PROP_COLOR},
       {"border-right", CSS_PROP_BORDER_RIGHT},
-      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
-      {"border-top", CSS_PROP_BORDER_TOP},
+      {"clear", CSS_PROP_CLEAR},
       {"page", CSS_PROP_PAGE},
-      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+      {"clip", CSS_PROP_CLIP},
+      {"border-top", CSS_PROP_BORDER_TOP},
+      {"border-color", CSS_PROP_BORDER_COLOR},
+      {"max-height", CSS_PROP_MAX_HEIGHT},
       {"bottom", CSS_PROP_BOTTOM},
-      {"size", CSS_PROP_SIZE},
+      {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR},
+      {"cursor", CSS_PROP_CURSOR},
+      {"border-top-color", CSS_PROP_BORDER_TOP_COLOR},
+      {"quotes", CSS_PROP_QUOTES},
       {"border-bottom", CSS_PROP_BORDER_BOTTOM},
+      {"border-collapse", CSS_PROP_BORDER_COLLAPSE},
+      {"-khtml-user-drag", CSS_PROP__KHTML_USER_DRAG},
       {"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},
+      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
+      {"-apple-text-size-adjust", CSS_PROP__APPLE_TEXT_SIZE_ADJUST},
+      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
       {"scrollbar-track-color", CSS_PROP_SCROLLBAR_TRACK_COLOR},
       {"-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},
+      {"list-style", CSS_PROP_LIST_STYLE},
       {"width", CSS_PROP_WIDTH},
-      {"-khtml-user-select", CSS_PROP__KHTML_USER_SELECT},
       {"border-style", CSS_PROP_BORDER_STYLE},
-      {"-khtml-box-pack", CSS_PROP__KHTML_BOX_PACK},
       {"display", CSS_PROP_DISPLAY},
+      {"left", CSS_PROP_LEFT},
       {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE},
-      {"empty-cells", CSS_PROP_EMPTY_CELLS},
+      {"opacity", CSS_PROP_OPACITY},
+      {"float", CSS_PROP_FLOAT},
       {"border-top-style", CSS_PROP_BORDER_TOP_STYLE},
       {"border-width", CSS_PROP_BORDER_WIDTH},
-      {"table-layout", CSS_PROP_TABLE_LAYOUT},
+      {"text-shadow", CSS_PROP_TEXT_SHADOW},
       {"-khtml-marquee-speed", CSS_PROP__KHTML_MARQUEE_SPEED},
+      {"table-layout", CSS_PROP_TABLE_LAYOUT},
+      {"border-left", CSS_PROP_BORDER_LEFT},
       {"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},
+      {"max-width", CSS_PROP_MAX_WIDTH},
+      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+      {"empty-cells", CSS_PROP_EMPTY_CELLS},
       {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE},
-      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
-      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
-      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
-      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
-      {"direction", CSS_PROP_DIRECTION},
+      {"visibility", CSS_PROP_VISIBILITY},
+      {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR},
       {"white-space", CSS_PROP_WHITE_SPACE},
-      {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE},
+      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
+      {"z-index", CSS_PROP_Z_INDEX},
+      {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH},
       {"line-height", CSS_PROP_LINE_HEIGHT},
-      {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"text-align", CSS_PROP_TEXT_ALIGN},
+      {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER},
+      {"direction", CSS_PROP_DIRECTION},
       {"outline", CSS_PROP_OUTLINE},
+      {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE},
+      {"position", CSS_PROP_POSITION},
       {"scrollbar-arrow-color", CSS_PROP_SCROLLBAR_ARROW_COLOR},
       {"padding", CSS_PROP_PADDING},
-      {"outline-color", CSS_PROP_OUTLINE_COLOR},
+      {"text-decoration", CSS_PROP_TEXT_DECORATION},
+      {"text-line-through", CSS_PROP_TEXT_LINE_THROUGH},
+      {"min-height", CSS_PROP_MIN_HEIGHT},
+      {"orphans", CSS_PROP_ORPHANS},
       {"-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},
+      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"margin", CSS_PROP_MARGIN},
+      {"scrollbar-shadow-color", CSS_PROP_SCROLLBAR_SHADOW_COLOR},
+      {"outline-color", CSS_PROP_OUTLINE_COLOR},
+      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
       {"padding-top", CSS_PROP_PADDING_TOP},
-      {"max-width", CSS_PROP_MAX_WIDTH},
       {"margin-right", CSS_PROP_MARGIN_RIGHT},
-      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+      {"text-overline", CSS_PROP_TEXT_OVERLINE},
+      {"-khtml-box-orient", CSS_PROP__KHTML_BOX_ORIENT},
+      {"text-line-through-color", CSS_PROP_TEXT_LINE_THROUGH_COLOR},
+      {"counter-reset", CSS_PROP_COUNTER_RESET},
+      {"scrollbar-face-color", CSS_PROP_SCROLLBAR_FACE_COLOR},
+      {"scrollbar-darkshadow-color", CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR},
+      {"caption-side", CSS_PROP_CAPTION_SIDE},
       {"margin-top", CSS_PROP_MARGIN_TOP},
-      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
-      {"overflow", CSS_PROP_OVERFLOW},
-      {"position", CSS_PROP_POSITION},
-      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
-      {"list-style-type", CSS_PROP_LIST_STYLE_TYPE},
+      {"unicode-bidi", CSS_PROP_UNICODE_BIDI},
+      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+      {"letter-spacing", CSS_PROP_LETTER_SPACING},
+      {"-khtml-box-lines", CSS_PROP__KHTML_BOX_LINES},
+      {"-khtml-line-break", CSS_PROP__KHTML_LINE_BREAK},
+      {"-khtml-box-align", CSS_PROP__KHTML_BOX_ALIGN},
+      {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE},
+      {"widows", CSS_PROP_WIDOWS},
+      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
+      {"-khtml-box-direction", CSS_PROP__KHTML_BOX_DIRECTION},
+      {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE},
       {"padding-bottom", CSS_PROP_PADDING_BOTTOM},
-      {"orphans", CSS_PROP_ORPHANS},
-      {"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},
-      {"z-index", CSS_PROP_Z_INDEX},
-      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
-      {"-khtml-box-flex", CSS_PROP__KHTML_BOX_FLEX},
-      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
+      {"text-overline-mode", CSS_PROP_TEXT_OVERLINE_MODE},
       {"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},
-      {"text-overline", CSS_PROP_TEXT_OVERLINE},
-      {"text-overline-color", CSS_PROP_TEXT_OVERLINE_COLOR},
-      {"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},
+      {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH},
+      {"margin-bottom", CSS_PROP_MARGIN_BOTTOM},
+      {"vertical-align", CSS_PROP_VERTICAL_ALIGN},
+      {"-apple-dashboard-region", CSS_PROP__APPLE_DASHBOARD_REGION},
+      {"background-color", CSS_PROP_BACKGROUND_COLOR},
       {"-khtml-margin-start", CSS_PROP__KHTML_MARGIN_START},
-      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
-      {"-khtml-box-flex-group", CSS_PROP__KHTML_BOX_FLEX_GROUP},
-      {"padding-left", CSS_PROP_PADDING_LEFT},
+      {"background-repeat", CSS_PROP_BACKGROUND_REPEAT},
+      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
+      {"-khtml-nbsp-mode", CSS_PROP__KHTML_NBSP_MODE},
+      {"-apple-line-clamp", CSS_PROP__APPLE_LINE_CLAMP},
+      {"overflow", CSS_PROP_OVERFLOW},
       {"text-overflow", CSS_PROP_TEXT_OVERFLOW},
-      {"text-line-through-mode", CSS_PROP_TEXT_LINE_THROUGH_MODE},
+      {"background-image", CSS_PROP_BACKGROUND_IMAGE},
+      {"outline-style", CSS_PROP_OUTLINE_STYLE},
+      {"font", CSS_PROP_FONT},
+      {"-khtml-flow-mode", CSS_PROP__KHTML_FLOW_MODE},
+      {"-khtml-user-modify", CSS_PROP__KHTML_USER_MODIFY},
+      {"-khtml-marquee-repetition", CSS_PROP__KHTML_MARQUEE_REPETITION},
       {"-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},
+      {"text-line-through-style", CSS_PROP_TEXT_LINE_THROUGH_STYLE},
+      {"-khtml-marquee-direction", CSS_PROP__KHTML_MARQUEE_DIRECTION},
       {"font-size", CSS_PROP_FONT_SIZE},
-      {"font-stretch", CSS_PROP_FONT_STRETCH},
-      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
-      {"min-width", CSS_PROP_MIN_WIDTH},
-      {"-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},
       {"outline-width", CSS_PROP_OUTLINE_WIDTH},
-      {"-khtml-box-ordinal-group", CSS_PROP__KHTML_BOX_ORDINAL_GROUP},
-      {"content", CSS_PROP_CONTENT},
-      {"word-spacing", CSS_PROP_WORD_SPACING},
-      {"font-style", CSS_PROP_FONT_STYLE},
       {"list-style-position", CSS_PROP_LIST_STYLE_POSITION},
-      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
+      {"min-width", CSS_PROP_MIN_WIDTH},
+      {"-khtml-margin-top-collapse", CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE},
+      {"text-line-through-width", CSS_PROP_TEXT_LINE_THROUGH_WIDTH},
       {"text-overline-style", CSS_PROP_TEXT_OVERLINE_STYLE},
+      {"padding-left", CSS_PROP_PADDING_LEFT},
+      {"font-stretch", CSS_PROP_FONT_STRETCH},
+      {"margin-left", CSS_PROP_MARGIN_LEFT},
       {"text-overline-width", CSS_PROP_TEXT_OVERLINE_WIDTH},
-      {"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},
+      {"-khtml-margin-bottom-collapse", CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE},
       {"text-indent", CSS_PROP_TEXT_INDENT},
-      {"font-family", CSS_PROP_FONT_FAMILY},
+      {"word-spacing", CSS_PROP_WORD_SPACING},
+      {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST},
+      {"-khtml-border-vertical-spacing", CSS_PROP__KHTML_BORDER_VERTICAL_SPACING},
+      {"content", CSS_PROP_CONTENT},
       {"text-underline", CSS_PROP_TEXT_UNDERLINE},
       {"text-underline-color", CSS_PROP_TEXT_UNDERLINE_COLOR},
-      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
+      {"font-style", CSS_PROP_FONT_STYLE},
       {"text-underline-mode", CSS_PROP_TEXT_UNDERLINE_MODE},
+      {"-khtml-binding", CSS_PROP__KHTML_BINDING},
+      {"font-weight", CSS_PROP_FONT_WEIGHT},
       {"background-position", CSS_PROP_BACKGROUND_POSITION},
-      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
-      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
-      {"font-variant", CSS_PROP_FONT_VARIANT},
       {"background-position-x", CSS_PROP_BACKGROUND_POSITION_X},
-      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
+      {"outline-offset", CSS_PROP_OUTLINE_OFFSET},
       {"text-underline-style", CSS_PROP_TEXT_UNDERLINE_STYLE},
+      {"-khtml-border-horizontal-spacing", CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING},
+      {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT},
       {"text-underline-width", CSS_PROP_TEXT_UNDERLINE_WIDTH},
+      {"-khtml-marquee-increment", CSS_PROP__KHTML_MARQUEE_INCREMENT},
+      {"font-variant", CSS_PROP_FONT_VARIANT},
+      {"background-position-y", CSS_PROP_BACKGROUND_POSITION_Y},
+      {"font-family", CSS_PROP_FONT_FAMILY},
       {"counter-increment", CSS_PROP_COUNTER_INCREMENT}
     };
 
   static const short lookup[] =
     {
-       -1,  -1,  -1,  -1,  -1,   0,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,   1,   2,  -1,  -1,  -1,
-       -1,  -1,  -1,   3,   4,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-        5,   6,  -1,  -1,  -1,  -1,  -1,   7,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,   8,  -1,  -1,
-       -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,  15,  -1,
-       -1,  -1,  -1,  -1,  16,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+        0,   1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,   2,  -1,  -1,  -1,   3,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,   4,  -1,  -1,  -1,
+        5,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,   6,  -1,  -1,
+        7,  -1,  -1,  -1,   8,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,   9,  10,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  11,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       12,  13,  -1,  -1,  -1,  -1,  -1,  -1,  14,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  15,  -1,  -1,  -1,  -1,  16,  -1,  -1,  -1,
        -1,  17,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -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,  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,  19,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  20,  -1,  -1,  21,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  22,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  23,  -1,  -1,  -1,  -1,
+       24,  -1,  -1,  25,  -1,  -1,  -1,  -1,  26,  -1,
        -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,  27,  -1,  -1,  28,
+       29,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       30,  -1,  31,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  32,  -1,  -1,  -1,  -1,  -1,  -1,  33,
+       -1,  -1,  -1,  34,  -1,  -1,  -1,  35,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1,  -1,  -1,  49,  50,  -1,  -1,  -1,  -1,
+       36,  37,  -1,  -1,  -1,  -1,  -1,  38,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  39,  -1,  -1,  -1,
+       40,  -1,  41,  -1,  -1,  -1,  42,  -1,  43,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  44,  -1,  -1,  45,
+       -1,  -1,  -1,  -1,  -1,  -1,  46,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  47,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  48,  49,  -1,  50,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -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,  51,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  52,  -1,  53,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  54,
+       -1,  -1,  -1,  -1,  -1,  -1,  55,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  56,  -1,  -1,  -1,  -1,
+       -1,  57,  -1,  -1,  58,  -1,  -1,  59,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -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,  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,  60,  61,  -1,  -1,  62,  63,  -1,  -1,
+       64,  -1,  65,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       66,  -1,  67,  -1,  -1,  68,  -1,  -1,  69,  -1,
+       70,  -1,  -1,  -1,  -1,  -1,  71,  72,  73,  -1,
+       -1,  74,  -1,  -1,  -1,  -1,  75,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  76,  77,  -1,
+       -1,  -1,  78,  79,  -1,  -1,  -1,  -1,  80,  -1,
+       81,  82,  83,  -1,  -1,  84,  -1,  85,  -1,  -1,
+       -1,  -1,  86,  -1,  -1,  -1,  -1,  -1,  -1,  87,
+       -1,  88,  89,  -1,  -1,  -1,  90,  -1,  -1,  -1,
+       -1,  -1,  91,  -1,  -1,  -1,  92,  -1,  -1,  93,
+       94,  -1,  -1,  -1,  -1,  -1,  -1,  95,  -1,  96,
+       97,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  98,  99,
+       -1,  -1,  -1,  -1, 100,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 101,  -1, 102, 103,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 104,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 105,  -1,
+       -1, 106,  -1,  -1, 107,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 108,  -1,  -1,  -1,  -1,  -1,  -1, 109,
+       -1, 110,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 111,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1, 112,  -1,  -1,  -1,  -1, 113,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 114,  -1,  -1,  -1,
+       -1,  -1,  -1, 115,  -1,  -1,  -1,  -1,  -1, 116,
+       -1,  -1,  -1,  -1,  -1,  -1, 117,  -1,  -1,  -1,
+       -1,  -1,  -1, 118,  -1, 119,  -1, 120, 121,  -1,
+       -1,  -1,  -1,  -1, 122,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 123,  -1,  -1,  -1, 124,  -1,
+       -1,  -1,  -1,  -1, 125,  -1,  -1,  -1,  -1, 126,
+       -1,  -1,  -1,  -1,  -1,  -1, 127,  -1,  -1,  -1,
+       -1,  -1,  -1, 128, 129,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1,  -1, 130,  -1,  -1,
+       -1,  -1, 131,  -1,  -1,  -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, 132,  -1,  -1, 133,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 134,  -1,  -1,  -1,  -1, 135,
+       -1, 136, 137,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 138,  -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,
+      139,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 140,  -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, 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,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1, 143,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 144,  -1,  -1,  -1,  -1,  -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,  -1,  -1, 129,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 130,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 146,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-      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, 135,  -1, 136,  -1, 137,  -1,
        -1,  -1,  -1,  -1,  -1,  -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,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 141,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1, 147,  -1, 148,  -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, 142,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+      150,  -1, 151,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1, 152,  -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, 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, 154,
        -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,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
+       -1,  -1, 155,  -1,  -1,  -1, 156,  -1,  -1,  -1,
+       -1,  -1,  -1,  -1,  -1,  -1, 157,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
@@ -438,18 +446,14 @@ 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,  -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,
        -1,  -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,
-      155,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
-       -1,  -1, 156
+       -1,  -1, 158
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -537,6 +541,7 @@ static const char * const propertyList[] = {
 "margin-right", 
 "margin-bottom", 
 "margin-left", 
+"-khtml-line-break", 
 "-khtml-margin-collapse", 
 "-khtml-margin-top-collapse", 
 "-khtml-margin-bottom-collapse", 
@@ -551,6 +556,7 @@ static const char * const propertyList[] = {
 "max-width", 
 "min-height", 
 "min-width", 
+"-khtml-nbsp-mode", 
 "opacity", 
 "orphans", 
 "outline-color", 
index c0b856268bca839816fcb961f7768bc11ec7b844..d17fd250e1cd1d264a514879b53523182a6742f6 100644 (file)
 #define CSS_PROP_MARGIN_RIGHT 62
 #define CSS_PROP_MARGIN_BOTTOM 63
 #define CSS_PROP_MARGIN_LEFT 64
-#define CSS_PROP__KHTML_MARGIN_COLLAPSE 65
-#define CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE 66
-#define CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE 67
-#define CSS_PROP__KHTML_MARGIN_START 68
-#define CSS_PROP__KHTML_MARQUEE 69
-#define CSS_PROP__KHTML_MARQUEE_DIRECTION 70
-#define CSS_PROP__KHTML_MARQUEE_INCREMENT 71
-#define CSS_PROP__KHTML_MARQUEE_REPETITION 72
-#define CSS_PROP__KHTML_MARQUEE_SPEED 73
-#define CSS_PROP__KHTML_MARQUEE_STYLE 74
-#define CSS_PROP_MAX_HEIGHT 75
-#define CSS_PROP_MAX_WIDTH 76
-#define CSS_PROP_MIN_HEIGHT 77
-#define CSS_PROP_MIN_WIDTH 78
-#define CSS_PROP_OPACITY 79
-#define CSS_PROP_ORPHANS 80
-#define CSS_PROP_OUTLINE_COLOR 81
-#define CSS_PROP_OUTLINE_OFFSET 82
-#define CSS_PROP_OUTLINE_STYLE 83
-#define CSS_PROP_OUTLINE_WIDTH 84
-#define CSS_PROP_OVERFLOW 85
-#define CSS_PROP_PADDING_TOP 86
-#define CSS_PROP_PADDING_RIGHT 87
-#define CSS_PROP_PADDING_BOTTOM 88
-#define CSS_PROP_PADDING_LEFT 89
-#define CSS_PROP__KHTML_PADDING_START 90
-#define CSS_PROP_PAGE 91
-#define CSS_PROP_PAGE_BREAK_AFTER 92
-#define CSS_PROP_PAGE_BREAK_BEFORE 93
-#define CSS_PROP_PAGE_BREAK_INSIDE 94
-#define CSS_PROP_POSITION 95
-#define CSS_PROP_QUOTES 96
-#define CSS_PROP_RIGHT 97
-#define CSS_PROP_SIZE 98
-#define CSS_PROP_TABLE_LAYOUT 99
-#define CSS_PROP_TEXT_ALIGN 100
-#define CSS_PROP_TEXT_DECORATION 101
-#define CSS_PROP_TEXT_INDENT 102
-#define CSS_PROP_TEXT_LINE_THROUGH 103
-#define CSS_PROP_TEXT_LINE_THROUGH_COLOR 104
-#define CSS_PROP_TEXT_LINE_THROUGH_MODE 105
-#define CSS_PROP_TEXT_LINE_THROUGH_STYLE 106
-#define CSS_PROP_TEXT_LINE_THROUGH_WIDTH 107
-#define CSS_PROP_TEXT_OVERFLOW 108
-#define CSS_PROP_TEXT_OVERLINE 109
-#define CSS_PROP_TEXT_OVERLINE_COLOR 110
-#define CSS_PROP_TEXT_OVERLINE_MODE 111
-#define CSS_PROP_TEXT_OVERLINE_STYLE 112
-#define CSS_PROP_TEXT_OVERLINE_WIDTH 113
-#define CSS_PROP_TEXT_SHADOW 114
-#define CSS_PROP_TEXT_TRANSFORM 115
-#define CSS_PROP_TEXT_UNDERLINE 116
-#define CSS_PROP_TEXT_UNDERLINE_COLOR 117
-#define CSS_PROP_TEXT_UNDERLINE_MODE 118
-#define CSS_PROP_TEXT_UNDERLINE_STYLE 119
-#define CSS_PROP_TEXT_UNDERLINE_WIDTH 120
-#define CSS_PROP__APPLE_TEXT_SIZE_ADJUST 121
-#define CSS_PROP__APPLE_DASHBOARD_REGION 122
-#define CSS_PROP_TOP 123
-#define CSS_PROP_UNICODE_BIDI 124
-#define CSS_PROP__KHTML_USER_DRAG 125
-#define CSS_PROP__KHTML_USER_MODIFY 126
-#define CSS_PROP__KHTML_USER_SELECT 127
-#define CSS_PROP_VERTICAL_ALIGN 128
-#define CSS_PROP_VISIBILITY 129
-#define CSS_PROP_WHITE_SPACE 130
-#define CSS_PROP_WIDOWS 131
-#define CSS_PROP_WIDTH 132
-#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__KHTML_LINE_BREAK 65
+#define CSS_PROP__KHTML_MARGIN_COLLAPSE 66
+#define CSS_PROP__KHTML_MARGIN_TOP_COLLAPSE 67
+#define CSS_PROP__KHTML_MARGIN_BOTTOM_COLLAPSE 68
+#define CSS_PROP__KHTML_MARGIN_START 69
+#define CSS_PROP__KHTML_MARQUEE 70
+#define CSS_PROP__KHTML_MARQUEE_DIRECTION 71
+#define CSS_PROP__KHTML_MARQUEE_INCREMENT 72
+#define CSS_PROP__KHTML_MARQUEE_REPETITION 73
+#define CSS_PROP__KHTML_MARQUEE_SPEED 74
+#define CSS_PROP__KHTML_MARQUEE_STYLE 75
+#define CSS_PROP_MAX_HEIGHT 76
+#define CSS_PROP_MAX_WIDTH 77
+#define CSS_PROP_MIN_HEIGHT 78
+#define CSS_PROP_MIN_WIDTH 79
+#define CSS_PROP__KHTML_NBSP_MODE 80
+#define CSS_PROP_OPACITY 81
+#define CSS_PROP_ORPHANS 82
+#define CSS_PROP_OUTLINE_COLOR 83
+#define CSS_PROP_OUTLINE_OFFSET 84
+#define CSS_PROP_OUTLINE_STYLE 85
+#define CSS_PROP_OUTLINE_WIDTH 86
+#define CSS_PROP_OVERFLOW 87
+#define CSS_PROP_PADDING_TOP 88
+#define CSS_PROP_PADDING_RIGHT 89
+#define CSS_PROP_PADDING_BOTTOM 90
+#define CSS_PROP_PADDING_LEFT 91
+#define CSS_PROP__KHTML_PADDING_START 92
+#define CSS_PROP_PAGE 93
+#define CSS_PROP_PAGE_BREAK_AFTER 94
+#define CSS_PROP_PAGE_BREAK_BEFORE 95
+#define CSS_PROP_PAGE_BREAK_INSIDE 96
+#define CSS_PROP_POSITION 97
+#define CSS_PROP_QUOTES 98
+#define CSS_PROP_RIGHT 99
+#define CSS_PROP_SIZE 100
+#define CSS_PROP_TABLE_LAYOUT 101
+#define CSS_PROP_TEXT_ALIGN 102
+#define CSS_PROP_TEXT_DECORATION 103
+#define CSS_PROP_TEXT_INDENT 104
+#define CSS_PROP_TEXT_LINE_THROUGH 105
+#define CSS_PROP_TEXT_LINE_THROUGH_COLOR 106
+#define CSS_PROP_TEXT_LINE_THROUGH_MODE 107
+#define CSS_PROP_TEXT_LINE_THROUGH_STYLE 108
+#define CSS_PROP_TEXT_LINE_THROUGH_WIDTH 109
+#define CSS_PROP_TEXT_OVERFLOW 110
+#define CSS_PROP_TEXT_OVERLINE 111
+#define CSS_PROP_TEXT_OVERLINE_COLOR 112
+#define CSS_PROP_TEXT_OVERLINE_MODE 113
+#define CSS_PROP_TEXT_OVERLINE_STYLE 114
+#define CSS_PROP_TEXT_OVERLINE_WIDTH 115
+#define CSS_PROP_TEXT_SHADOW 116
+#define CSS_PROP_TEXT_TRANSFORM 117
+#define CSS_PROP_TEXT_UNDERLINE 118
+#define CSS_PROP_TEXT_UNDERLINE_COLOR 119
+#define CSS_PROP_TEXT_UNDERLINE_MODE 120
+#define CSS_PROP_TEXT_UNDERLINE_STYLE 121
+#define CSS_PROP_TEXT_UNDERLINE_WIDTH 122
+#define CSS_PROP__APPLE_TEXT_SIZE_ADJUST 123
+#define CSS_PROP__APPLE_DASHBOARD_REGION 124
+#define CSS_PROP_TOP 125
+#define CSS_PROP_UNICODE_BIDI 126
+#define CSS_PROP__KHTML_USER_DRAG 127
+#define CSS_PROP__KHTML_USER_MODIFY 128
+#define CSS_PROP__KHTML_USER_SELECT 129
+#define CSS_PROP_VERTICAL_ALIGN 130
+#define CSS_PROP_VISIBILITY 131
+#define CSS_PROP_WHITE_SPACE 132
+#define CSS_PROP_WIDOWS 133
+#define CSS_PROP_WIDTH 134
+#define CSS_PROP_WORD_WRAP 135
+#define CSS_PROP_WORD_SPACING 136
+#define CSS_PROP_Z_INDEX 137
+#define CSS_PROP_BACKGROUND 138
+#define CSS_PROP_BORDER 139
+#define CSS_PROP_BORDER_COLOR 140
+#define CSS_PROP_BORDER_STYLE 141
+#define CSS_PROP_BORDER_TOP 142
+#define CSS_PROP_BORDER_RIGHT 143
+#define CSS_PROP_BORDER_BOTTOM 144
+#define CSS_PROP_BORDER_LEFT 145
+#define CSS_PROP_BORDER_WIDTH 146
+#define CSS_PROP_FONT 147
+#define CSS_PROP_LIST_STYLE 148
+#define CSS_PROP_MARGIN 149
+#define CSS_PROP_OUTLINE 150
+#define CSS_PROP_PADDING 151
+#define CSS_PROP_SCROLLBAR_FACE_COLOR 152
+#define CSS_PROP_SCROLLBAR_SHADOW_COLOR 153
+#define CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR 154
+#define CSS_PROP_SCROLLBAR_3DLIGHT_COLOR 155
+#define CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR 156
+#define CSS_PROP_SCROLLBAR_TRACK_COLOR 157
+#define CSS_PROP_SCROLLBAR_ARROW_COLOR 158
+#define CSS_PROP__KHTML_FLOW_MODE 159
 
 #define CSS_PROP_MAX CSS_PROP_Z_INDEX
-#define CSS_PROP_TOTAL 158
+#define CSS_PROP_TOTAL 160
 #endif
 
index 02c6fc46da111d2340b41890bc9119ac29d5f5a9..94499614ac991fd5da2e87f22c49ab017b7edbf3 100644 (file)
@@ -76,6 +76,7 @@ margin-top
 margin-right
 margin-bottom
 margin-left
+-khtml-line-break
 -khtml-margin-collapse
 -khtml-margin-top-collapse
 -khtml-margin-bottom-collapse
@@ -90,6 +91,7 @@ max-height
 max-width
 min-height
 min-width
+-khtml-nbsp-mode
 opacity
 orphans
 outline-color
index 80151b5ac8962fafaab3938f8fad801fe9131262..cb21f1fcec9dae258a5ef6f168737eb4acfe87c6 100644 (file)
@@ -2530,6 +2530,46 @@ void CSSStyleSelector::applyProperty( int id, DOM::CSSValueImpl *value )
         break;
     }
 
+    case CSS_PROP__KHTML_NBSP_MODE:
+    {
+        HANDLE_INHERIT_AND_INITIAL(nbspMode, NBSPMode)
+
+        if (!primitiveValue->getIdent()) return;
+
+        ENBSPMode m;
+        switch(primitiveValue->getIdent()) {
+        case CSS_VAL_SPACE:
+            m = SPACE;
+            break;
+        case CSS_VAL_NORMAL:
+        default:
+            m = NBNORMAL;
+            break;
+        }
+        style->setNBSPMode(m);
+        break;
+    }
+
+    case CSS_PROP__KHTML_LINE_BREAK:
+    {
+        HANDLE_INHERIT_AND_INITIAL(khtmlLineBreak, KHTMLLineBreak)
+
+        if (!primitiveValue->getIdent()) return;
+
+        EKHTMLLineBreak b;
+        switch(primitiveValue->getIdent()) {
+        case CSS_VAL_AFTER_WHITE_SPACE:
+            b = AFTER_WHITE_SPACE;
+            break;
+        case CSS_VAL_NORMAL:
+        default:
+            b = LBNORMAL;
+            break;
+        }
+        style->setKHTMLLineBreak(b);
+        break;
+    }
+
         // length, percent
     case CSS_PROP_MAX_WIDTH:
         // +none +inherit
index e1ca624cc119ae9acdb7bc384988939226065b49..b48406ebb9bc5f02f5e65cdeeefd99a31c75e9cc 100644 (file)
@@ -7,7 +7,7 @@ struct css_value {
     const char *name;
     int id;
 };
-/* maximum key range = 3788, duplicates = 1 */
+/* maximum key range = 2888, 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[] =
     {
-      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
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888,   15, 2888, 2888,    0,    5,
+        10,   15,   20,   25,   30,   35,   40,    0, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888,    0,   28,    3,
+       400,  300,  160,  463,   56,   35,   10,  425,    0,   13,
+        55,    5,    8,   90,   65,   10,    0,  465,  258,  405,
+       450,   80,  250, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888, 2888,
+      2888, 2888, 2888, 2888, 2888, 2888
     };
   register int hval = 0;
 
@@ -110,11 +110,11 @@ findValue (register const char *str, register unsigned int len)
 {
   enum
     {
-      TOTAL_KEYWORDS = 269,
+      TOTAL_KEYWORDS = 271,
       MIN_WORD_LENGTH = 2,
       MAX_WORD_LENGTH = 22,
       MIN_HASH_VALUE = 0,
-      MAX_HASH_VALUE = 3787
+      MAX_HASH_VALUE = 2887
     };
 
   static const struct css_value wordlist_value[] =
@@ -127,9 +127,8 @@ findValue (register const char *str, register unsigned int len)
       {"400", CSS_VAL_400},
       {"small", CSS_VAL_SMALL},
       {"500", CSS_VAL_500},
-      {"fast", CSS_VAL_FAST},
-      {"compact", CSS_VAL_COMPACT},
       {"600", CSS_VAL_600},
+      {"compact", CSS_VAL_COMPACT},
       {"700", CSS_VAL_700},
       {"800", CSS_VAL_800},
       {"clip", CSS_VAL_CLIP},
@@ -142,252 +141,255 @@ findValue (register const char *str, register unsigned int len)
       {"start", CSS_VAL_START},
       {"crop", CSS_VAL_CROP},
       {"scroll", CSS_VAL_SCROLL},
+      {"both", CSS_VAL_BOTH},
       {"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},
-      {"slow", CSS_VAL_SLOW},
+      {"thin", CSS_VAL_THIN},
       {"initial", CSS_VAL_INITIAL},
-      {"wait", CSS_VAL_WAIT},
+      {"fast", CSS_VAL_FAST},
       {"scrollbar", CSS_VAL_SCROLLBAR},
       {"portrait", CSS_VAL_PORTRAIT},
-      {"always", CSS_VAL_ALWAYS},
-      {"nowrap", CSS_VAL_NOWRAP},
+      {"crosshair", CSS_VAL_CROSSHAIR},
       {"intrinsic", CSS_VAL_INTRINSIC},
-      {"black", CSS_VAL_BLACK},
       {"teal", CSS_VAL_TEAL},
-      {"block", CSS_VAL_BLOCK},
-      {"left", CSS_VAL_LEFT},
+      {"fantasy", CSS_VAL_FANTASY},
+      {"space", CSS_VAL_SPACE},
       {"collapse", CSS_VAL_COLLAPSE},
       {"table", CSS_VAL_TABLE},
       {"lime", CSS_VAL_LIME},
+      {"help", CSS_VAL_HELP},
       {"pre", CSS_VAL_PRE},
-      {"blink", CSS_VAL_BLINK},
-      {"capitalize", CSS_VAL_CAPITALIZE},
       {"smaller", CSS_VAL_SMALLER},
+      {"navy", CSS_VAL_NAVY},
       {"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},
-      {"serif", CSS_VAL_SERIF},
+      {"slow", CSS_VAL_SLOW},
       {"bold", CSS_VAL_BOLD},
-      {"x-small", CSS_VAL_X_SMALL},
+      {"stretch", CSS_VAL_STRETCH},
+      {"wait", CSS_VAL_WAIT},
       {"disc", CSS_VAL_DISC},
       {"table-caption", CSS_VAL_TABLE_CAPTION},
       {"solid", CSS_VAL_SOLID},
-      {"mix", CSS_VAL_MIX},
-      {"below", CSS_VAL_BELOW},
+      {"black", CSS_VAL_BLACK},
+      {"left", CSS_VAL_LEFT},
+      {"block", CSS_VAL_BLOCK},
       {"pointer", CSS_VAL_POINTER},
       {"auto", CSS_VAL_AUTO},
-      {"both", CSS_VAL_BOTH},
+      {"horizontal", CSS_VAL_HORIZONTAL},
       {"up", CSS_VAL_UP},
+      {"show", CSS_VAL_SHOW},
       {"inline", CSS_VAL_INLINE},
-      {"yellow", CSS_VAL_YELLOW},
-      {"lower", CSS_VAL_LOWER},
+      {"x-small", CSS_VAL_X_SMALL},
+      {"always", CSS_VAL_ALWAYS},
+      {"mix", CSS_VAL_MIX},
       {"sub", CSS_VAL_SUB},
-      {"aqua", CSS_VAL_AQUA},
-      {"sans-serif", CSS_VAL_SANS_SERIF},
+      {"hand", CSS_VAL_HAND},
+      {"thick", CSS_VAL_THICK},
       {"armenian", CSS_VAL_ARMENIAN},
-      {"thin", CSS_VAL_THIN},
-      {"infinite", CSS_VAL_INFINITE},
-      {"table-row", CSS_VAL_TABLE_ROW},
+      {"nowrap", CSS_VAL_NOWRAP},
+      {"blink", CSS_VAL_BLINK},
+      {"inherit", CSS_VAL_INHERIT},
+      {"aqua", CSS_VAL_AQUA},
       {"transparent", CSS_VAL_TRANSPARENT},
-      {"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},
+      {"serif", CSS_VAL_SERIF},
       {"move", CSS_VAL_MOVE},
-      {"crosshair", CSS_VAL_CROSSHAIR},
       {"above", CSS_VAL_ABOVE},
+      {"status-bar", CSS_VAL_STATUS_BAR},
       {"olive", CSS_VAL_OLIVE},
+      {"gray", CSS_VAL_GRAY},
+      {"right", CSS_VAL_RIGHT},
+      {"capitalize", CSS_VAL_CAPITALIZE},
       {"table-cell", CSS_VAL_TABLE_CELL},
-      {"lower-roman", CSS_VAL_LOWER_ROMAN},
-      {"repeat", CSS_VAL_REPEAT},
-      {"separate", CSS_VAL_SEPARATE},
-      {"narrower", CSS_VAL_NARROWER},
-      {"run-in", CSS_VAL_RUN_IN},
-      {"forwards", CSS_VAL_FORWARDS},
-      {"text", CSS_VAL_TEXT},
+      {"sans-serif", CSS_VAL_SANS_SERIF},
       {"vertical", CSS_VAL_VERTICAL},
       {"visible", CSS_VAL_VISIBLE},
       {"silver", CSS_VAL_SILVER},
+      {"repeat", CSS_VAL_REPEAT},
+      {"hiragana", CSS_VAL_HIRAGANA},
+      {"infinite", CSS_VAL_INFINITE},
+      {"separate", CSS_VAL_SEPARATE},
+      {"run-in", CSS_VAL_RUN_IN},
+      {"avoid", CSS_VAL_AVOID},
+      {"activecaption", CSS_VAL_ACTIVECAPTION},
       {"overlay", CSS_VAL_OVERLAY},
+      {"invert", CSS_VAL_INVERT},
       {"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},
+      {"fuchsia", CSS_VAL_FUCHSIA},
+      {"below", CSS_VAL_BELOW},
       {"slide", CSS_VAL_SLIDE},
-      {"help", CSS_VAL_HELP},
-      {"activecaption", CSS_VAL_ACTIVECAPTION},
       {"no-repeat", CSS_VAL_NO_REPEAT},
+      {"text", CSS_VAL_TEXT},
       {"decimal", CSS_VAL_DECIMAL},
       {"end", CSS_VAL_END},
-      {"window", CSS_VAL_WINDOW},
-      {"invert", CSS_VAL_INVERT},
-      {"block-axis", CSS_VAL_BLOCK_AXIS},
+      {"ahead", CSS_VAL_AHEAD},
+      {"justify", CSS_VAL_JUSTIFY},
       {"red", CSS_VAL_RED},
-      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
+      {"repeat-y", CSS_VAL_REPEAT_Y},
+      {"lower", CSS_VAL_LOWER},
       {"landscape", CSS_VAL_LANDSCAPE},
+      {"text-top", CSS_VAL_TEXT_TOP},
       {"outset", CSS_VAL_OUTSET},
-      {"n-resize", CSS_VAL_N_RESIZE},
+      {"yellow", CSS_VAL_YELLOW},
+      {"hide", CSS_VAL_HIDE},
+      {"inactivecaption", CSS_VAL_INACTIVECAPTION},
       {"blue", CSS_VAL_BLUE},
-      {"inline-block", CSS_VAL_INLINE_BLOCK},
+      {"white", CSS_VAL_WHITE},
       {"bolder", CSS_VAL_BOLDER},
-      {"appworkspace", CSS_VAL_APPWORKSPACE},
       {"absolute", CSS_VAL_ABSOLUTE},
-      {"captiontext", CSS_VAL_CAPTIONTEXT},
-      {"lowercase", CSS_VAL_LOWERCASE},
-      {"large", CSS_VAL_LARGE},
-      {"stretch", CSS_VAL_STRETCH},
-      {"infotext", CSS_VAL_INFOTEXT},
+      {"text-bottom", CSS_VAL_TEXT_BOTTOM},
+      {"table-row", CSS_VAL_TABLE_ROW},
       {"multiple", CSS_VAL_MULTIPLE},
       {"inline-table", CSS_VAL_INLINE_TABLE},
+      {"large", CSS_VAL_LARGE},
       {"menu", CSS_VAL_MENU},
       {"inside", CSS_VAL_INSIDE},
-      {"inactivecaption", CSS_VAL_INACTIVECAPTION},
-      {"xx-small", CSS_VAL_XX_SMALL},
       {"purple", CSS_VAL_PURPLE},
       {"super", CSS_VAL_SUPER},
+      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
+      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
+      {"captiontext", CSS_VAL_CAPTIONTEXT},
+      {"level", CSS_VAL_LEVEL},
       {"single", CSS_VAL_SINGLE},
-      {"grey", CSS_VAL_GREY},
-      {"w-resize", CSS_VAL_W_RESIZE},
+      {"down", CSS_VAL_DOWN},
       {"loud", CSS_VAL_LOUD},
-      {"sw-resize", CSS_VAL_SW_RESIZE},
+      {"lower-latin", CSS_VAL_LOWER_LATIN},
+      {"table-column", CSS_VAL_TABLE_COLUMN},
+      {"dot-dash", CSS_VAL_DOT_DASH},
       {"orange", CSS_VAL_ORANGE},
-      {"buttonface", CSS_VAL_BUTTONFACE},
       {"larger", CSS_VAL_LARGER},
-      {"oblique", CSS_VAL_OBLIQUE},
-      {"table-column", CSS_VAL_TABLE_COLUMN},
+      {"katakana", CSS_VAL_KATAKANA},
+      {"grey", CSS_VAL_GREY},
+      {"discard", CSS_VAL_DISCARD},
+      {"lighter", CSS_VAL_LIGHTER},
       {"read-only", CSS_VAL_READ_ONLY},
+      {"oblique", CSS_VAL_OBLIQUE},
+      {"upper-alpha", CSS_VAL_UPPER_ALPHA},
+      {"lower-roman", CSS_VAL_LOWER_ROMAN},
       {"square", CSS_VAL_SQUARE},
-      {"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},
+      {"xx-small", CSS_VAL_XX_SMALL},
       {"upper-latin", CSS_VAL_UPPER_LATIN},
-      {"lower-alpha", CSS_VAL_LOWER_ALPHA},
+      {"inline-block", CSS_VAL_INLINE_BLOCK},
+      {"relative", CSS_VAL_RELATIVE},
+      {"narrower", CSS_VAL_NARROWER},
+      {"wave", CSS_VAL_WAVE},
       {"element", CSS_VAL_ELEMENT},
-      {"fuchsia", CSS_VAL_FUCHSIA},
-      {"right", CSS_VAL_RIGHT},
+      {"block-axis", CSS_VAL_BLOCK_AXIS},
+      {"higher", CSS_VAL_HIGHER},
+      {"-khtml-left", CSS_VAL__KHTML_LEFT},
+      {"s-resize", CSS_VAL_S_RESIZE},
+      {"inline-axis", CSS_VAL_INLINE_AXIS},
+      {"-khtml-auto", CSS_VAL__KHTML_AUTO},
       {"upper-roman", CSS_VAL_UPPER_ROMAN},
-      {"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},
-      {"hiragana", CSS_VAL_HIRAGANA},
+      {"infotext", CSS_VAL_INFOTEXT},
+      {"-khtml-box", CSS_VAL__KHTML_BOX},
+      {"buttonface", CSS_VAL_BUTTONFACE},
       {"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},
+      {"n-resize", CSS_VAL_N_RESIZE},
+      {"-khtml-body", CSS_VAL__KHTML_BODY},
       {"-khtml-link", CSS_VAL__KHTML_LINK},
-      {"dotted", CSS_VAL_DOTTED},
-      {"groove", CSS_VAL_GROOVE},
-      {"ahead", CSS_VAL_AHEAD},
+      {"embed", CSS_VAL_EMBED},
+      {"-khtml-nowrap", CSS_VAL__KHTML_NOWRAP},
       {"katakana-iroha", CSS_VAL_KATAKANA_IROHA},
+      {"lowercase", CSS_VAL_LOWERCASE},
+      {"groove", CSS_VAL_GROOVE},
+      {"continuous", CSS_VAL_CONTINUOUS},
+      {"dotted", CSS_VAL_DOTTED},
+      {"forwards", CSS_VAL_FORWARDS},
+      {"cursive", CSS_VAL_CURSIVE},
+      {"repeat-x", CSS_VAL_REPEAT_X},
+      {"-khtml-right", CSS_VAL__KHTML_RIGHT},
       {"middle", CSS_VAL_MIDDLE},
-      {"close-quote", CSS_VAL_CLOSE_QUOTE},
-      {"windowframe", CSS_VAL_WINDOWFRAME},
-      {"fixed", CSS_VAL_FIXED},
+      {"hebrew", CSS_VAL_HEBREW},
       {"uppercase", CSS_VAL_UPPERCASE},
+      {"highlight", CSS_VAL_HIGHLIGHT},
+      {"dashed", CSS_VAL_DASHED},
       {"green", CSS_VAL_GREEN},
-      {"hide", CSS_VAL_HIDE},
-      {"cursive", CSS_VAL_CURSIVE},
-      {"-khtml-box", CSS_VAL__KHTML_BOX},
-      {"default", CSS_VAL_DEFAULT},
-      {"marquee", CSS_VAL_MARQUEE},
+      {"close-quote", CSS_VAL_CLOSE_QUOTE},
       {"double", CSS_VAL_DOUBLE},
-      {"open-quote", CSS_VAL_OPEN_QUOTE},
+      {"wider", CSS_VAL_WIDER},
+      {"unfurl", CSS_VAL_UNFURL},
       {"outside", CSS_VAL_OUTSIDE},
-      {"-khtml-auto", CSS_VAL__KHTML_AUTO},
-      {"-khtml-body", CSS_VAL__KHTML_BODY},
       {"medium", CSS_VAL_MEDIUM},
+      {"marquee", CSS_VAL_MARQUEE},
+      {"appworkspace", CSS_VAL_APPWORKSPACE},
+      {"open-quote", CSS_VAL_OPEN_QUOTE},
+      {"hidden", CSS_VAL_HIDDEN},
+      {"-khtml-center", CSS_VAL__KHTML_CENTER},
+      {"ridge", CSS_VAL_RIDGE},
       {"no-close-quote", CSS_VAL_NO_CLOSE_QUOTE},
+      {"-khtml-text", CSS_VAL__KHTML_TEXT},
+      {"e-resize", CSS_VAL_E_RESIZE},
+      {"se-resize", CSS_VAL_SE_RESIZE},
       {"x-large", CSS_VAL_X_LARGE},
-      {"ridge", CSS_VAL_RIDGE},
+      {"reverse", CSS_VAL_REVERSE},
       {"buttontext", CSS_VAL_BUTTONTEXT},
-      {"hebrew", CSS_VAL_HEBREW},
-      {"graytext", CSS_VAL_GRAYTEXT},
-      {"dot-dash", CSS_VAL_DOT_DASH},
-      {"break-word", CSS_VAL_BREAK_WORD},
+      {"window", CSS_VAL_WINDOW},
+      {"dot-dot-dash", CSS_VAL_DOT_DOT_DASH},
       {"no-open-quote", CSS_VAL_NO_OPEN_QUOTE},
-      {"lighter", CSS_VAL_LIGHTER},
-      {"upper-alpha", CSS_VAL_UPPER_ALPHA},
-      {"read-write", CSS_VAL_READ_WRITE},
-      {"reverse", CSS_VAL_REVERSE},
+      {"default", CSS_VAL_DEFAULT},
+      {"ne-resize", CSS_VAL_NE_RESIZE},
+      {"backwards", CSS_VAL_BACKWARDS},
+      {"fixed", CSS_VAL_FIXED},
+      {"graytext", CSS_VAL_GRAYTEXT},
+      {"w-resize", CSS_VAL_W_RESIZE},
       {"georgian", CSS_VAL_GEORGIAN},
-      {"-khtml-text", CSS_VAL__KHTML_TEXT},
-      {"windowtext", CSS_VAL_WINDOWTEXT},
-      {"-khtml-center", CSS_VAL__KHTML_CENTER},
+      {"sw-resize", CSS_VAL_SW_RESIZE},
+      {"buttonshadow", CSS_VAL_BUTTONSHADOW},
+      {"nw-resize", CSS_VAL_NW_RESIZE},
       {"activeborder", CSS_VAL_ACTIVEBORDER},
+      {"-khtml-inline-box", CSS_VAL__KHTML_INLINE_BOX},
+      {"line-through", CSS_VAL_LINE_THROUGH},
       {"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},
-      {"hiragana-iroha", CSS_VAL_HIRAGANA_IROHA},
-      {"hidden", CSS_VAL_HIDDEN},
-      {"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},
-      {"background", CSS_VAL_BACKGROUND},
+      {"menutext", CSS_VAL_MENUTEXT},
+      {"threedface", CSS_VAL_THREEDFACE},
+      {"read-write", CSS_VAL_READ_WRITE},
+      {"message-box", CSS_VAL_MESSAGE_BOX},
+      {"skip-white-space", CSS_VAL_SKIP_WHITE_SPACE},
       {"-khtml-activelink", CSS_VAL__KHTML_ACTIVELINK},
+      {"after-white-space", CSS_VAL_AFTER_WHITE_SPACE},
+      {"underline", CSS_VAL_UNDERLINE},
+      {"break-word", CSS_VAL_BREAK_WORD},
+      {"buttonhighlight", CSS_VAL_BUTTONHIGHLIGHT},
+      {"xx-large", CSS_VAL_XX_LARGE},
+      {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
+      {"table-row-group", CSS_VAL_TABLE_ROW_GROUP},
+      {"windowframe", CSS_VAL_WINDOWFRAME},
       {"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-column-group", CSS_VAL_TABLE_COLUMN_GROUP},
+      {"background", CSS_VAL_BACKGROUND},
+      {"expanded", CSS_VAL_EXPANDED},
+      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
       {"bidi-override", CSS_VAL_BIDI_OVERRIDE},
-      {"cjk-ideographic", CSS_VAL_CJK_IDEOGRAPHIC},
+      {"threedshadow", CSS_VAL_THREEDSHADOW},
+      {"windowtext", CSS_VAL_WINDOWTEXT},
       {"ultra-condensed", CSS_VAL_ULTRA_CONDENSED},
+      {"infobackground", CSS_VAL_INFOBACKGROUND},
+      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT},
       {"semi-expanded", CSS_VAL_SEMI_EXPANDED},
-      {"line-through", CSS_VAL_LINE_THROUGH},
-      {"highlight", CSS_VAL_HIGHLIGHT},
+      {"lower-greek", CSS_VAL_LOWER_GREEK},
       {"extra-condensed", CSS_VAL_EXTRA_CONDENSED},
-      {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
-      {"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},
+      {"ultra-expanded", CSS_VAL_ULTRA_EXPANDED},
       {"table-header-group", CSS_VAL_TABLE_HEADER_GROUP},
-      {"highlighttext", CSS_VAL_HIGHLIGHTTEXT},
-      {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW},
       {"threedlightshadow", CSS_VAL_THREEDLIGHTSHADOW},
-      {"threedhighlight", CSS_VAL_THREEDHIGHLIGHT}
+      {"decimal-leading-zero", CSS_VAL_DECIMAL_LEADING_ZERO},
+      {"-khtml-xxx-large", CSS_VAL__KHTML_XXX_LARGE},
+      {"extra-expanded", CSS_VAL_EXTRA_EXPANDED},
+      {"threeddarkshadow", CSS_VAL_THREEDDARKSHADOW}
     };
 
   static const short lookup[] =
@@ -397,27 +399,24 @@ 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,   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,
+        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, -338, -255,   -2,   -1,   -1,   -1,   -1,
+        -1,   18,   -1,   19,   -1,   -1,   -1,   -1,
+        -1,   20,   -1,   21,   -1,   -1,   -1,   -1,
+        -1,   22,   -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,
-        31,   -1,   -1,   -1,   -1,   -1,   32,   -1,
-        -1,   -1,   -1,   -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,   26,   -1,   -1,   -1,   -1,   27,
+        28,   -1,   29,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        30,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   31,   -1,   -1,   -1,   -1,   -1,
+        32,   -1,   33,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -425,355 +424,236 @@ 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,   -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,
-        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,   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,   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,
-        -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,   34,   -1,   -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,   35,   -1,   -1,
+        -1,   -1,   -1,   -1,   36,   -1,   -1,   -1,
+        -1,   37,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   38,   -1,   -1,   -1,   -1,   39,   -1,
+        40,   -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,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -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,  221,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  222,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   41,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   42,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   43,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   44,   -1,   -1,   -1,
+        -1,   45,   -1,   -1,   -1,   -1,   46,   47,
+        48,   -1,   -1,   -1,   -1,   -1,   49,   -1,
+        50,   -1,   -1,   51,   -1,   -1,   -1,   52,
+        -1,   -1,   -1,   -1,   53,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   54,   55,   -1,   -1,   -1,   -1,   -1,
+        56,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        57,   58,   59,   -1,   -1,   -1,   -1,   -1,
+        60,   -1,   -1,   -1,   61,   62,   -1,   -1,
+        -1,   -1,   -1,   -1,   63,   -1,   64,   65,
+        -1,   66,   -1,   -1,   67,   -1,   -1,   -1,
+        68,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        69,   -1,   -1,   -1,   -1,   -1,   -1,   70,
+        -1,   -1,   71,   -1,   -1,   -1,   -1,   72,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   73,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   74,
+        -1,   -1,   -1,   75,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   76,   -1,   -1,   -1,   -1,   77,
+        -1,   -1,   78,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   79,   -1,   -1,   80,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   81,   -1,   -1,   -1,   -1,   -1,
+        82,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   83,
+        -1,   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,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   88,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   89,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   90,   91,   -1,   -1,
+        -1,   -1,   92,   -1,   93,   -1,   -1,   -1,
+        -1,   94,   95,   96,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   97,   -1,   -1,   -1,   -1,
+        -1,   -1,   98,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   99,   -1,   -1,   -1,  100,   -1,
+        -1,   -1,   -1,   -1,  101,   -1,   -1,   -1,
+        -1,  102,   -1,   -1,   -1,   -1,   -1,   -1,
+       103,   -1,   -1,  104,   -1,   -1,   -1,   -1,
+       105,  106,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  107,   -1,   -1,   -1,   -1,   -1,
+        -1,  108,   -1,   -1,  109,   -1,  110,  111,
+        -1,   -1,   -1,  112,  113,   -1,   -1,   -1,
+       114,   -1,   -1,   -1,   -1,  115,   -1,   -1,
+       116,   -1,   -1,   -1,   -1,   -1,   -1,  117,
+       118,   -1,  119,   -1,  120,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  121,  122,
+       123,  124,   -1,   -1,  125,   -1,  126,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       223,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       127,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       128,   -1,  129,   -1,   -1,  130,   -1,  131,
+        -1,   -1,   -1,   -1,  132,   -1,   -1,   -1,
+        -1,  133,   -1,  134,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  135,   -1,
+       136,   -1,  137,   -1,   -1,   -1,  138,   -1,
+       139,   -1,  140,   -1,   -1,   -1,   -1,  141,
+        -1,  142,   -1,   -1,   -1,   -1,  143,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       144,   -1,   -1,   -1,  145,   -1,  146,   -1,
+       147,   -1,   -1,   -1,   -1,  148,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -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,  149,   -1,   -1,  150,   -1,   -1,   -1,
+        -1,  151,   -1,   -1,   -1,   -1,   -1,  152,
+       153,   -1,   -1,  154,   -1,  155,   -1,   -1,
+       156,   -1,  157,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  158,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  159,
+        -1,   -1,   -1,   -1,  160,   -1,  161,   -1,
+       162,   -1,   -1,  163,   -1,   -1,   -1,   -1,
+       164,   -1,   -1,  165,   -1,   -1,   -1,  166,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,  231,   -1,   -1,
+       167,  168,   -1,   -1,   -1,   -1,  169,   -1,
+        -1,   -1,  170,   -1,   -1,   -1,   -1,  171,
+        -1,   -1,   -1,   -1,   -1,  172,   -1,  173,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       174,   -1,  175,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  176,   -1,
+        -1,   -1,   -1,   -1,   -1,  177,   -1,  178,
+        -1,  179,   -1,   -1,   -1,   -1,   -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,  180,   -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,  181,   -1,   -1,   -1,   -1,   -1,   -1,
+       182,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       183,   -1,  184,   -1,   -1,   -1,   -1,   -1,
+        -1,  185,   -1,   -1,   -1,   -1,  186,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       187,   -1,  188,   -1,   -1,   -1,   -1,  189,
+        -1,   -1,   -1,   -1,  190,   -1,   -1,   -1,
+        -1,   -1,  191,   -1,   -1,   -1,   -1,  192,
+        -1,   -1,   -1,   -1,  193,   -1,  194,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,  236,   -1,  237,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  195,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-       238,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  196,   -1,   -1,   -1,   -1,  197,   -1,
+        -1,   -1,   -1,   -1,   -1,  198,   -1,   -1,
+        -1,   -1,  199,   -1,   -1,   -1,   -1,  200,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,  201,   -1,   -1,   -1,   -1,   -1,
+        -1,  202,   -1,   -1,   -1,  203,   -1,   -1,
+        -1,   -1,   -1,  204,   -1,   -1,  205,  206,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  207,
+        -1,   -1,   -1,   -1,  208,   -1,   -1,   -1,
+        -1,   -1,  209,  210,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  211,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  212,   -1,   -1,
+        -1,   -1,  213,   -1,   -1,   -1,   -1,  214,
+        -1,  215,  216,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  217,   -1,
+        -1,   -1,   -1,   -1,   -1,  218,   -1,   -1,
+        -1,   -1,  219,   -1,   -1,   -1,   -1,   -1,
+       220,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,  221,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,  222,   -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,  223,   -1,   -1,   -1,
+        -1,   -1,  224,   -1,   -1,   -1,  225,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  226,   -1,   -1,
+        -1,   -1,   -1,  227,   -1,   -1,   -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,   -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,  229,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,  246,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  230,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       231,   -1,   -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,  247,   -1,   -1,   -1,
-       248,   -1,   -1,   -1,   -1,  249,   -1,   -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,
+       235,  236,   -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,  238,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  239,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+       240,   -1,   -1,  241,   -1,   -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,  242,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  243,   -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,  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,   -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,   -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,   -1,  246,
+        -1,   -1,   -1,  247,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,  248,   -1,  249,   -1,   -1,
+        -1,  250,   -1,   -1,   -1,  251,   -1,   -1,
+        -1,  252,  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,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -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,  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,
-        -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,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -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,   -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,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -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,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -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,   -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,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
-        -1,   -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,   -1,   -1,   -1,   -1,   -1,
@@ -784,6 +664,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,   -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,
@@ -794,32 +675,36 @@ 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,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,  259,  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,   -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,  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,  263,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -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,   -1,  267,   -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,   -1,   -1,
@@ -827,6 +712,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,   -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,
@@ -839,6 +725,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,   -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,
@@ -846,8 +733,10 @@ 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,  268,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  269,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
         -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
@@ -865,7 +754,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,   -1,  268
+        -1,   -1,   -1,   -1,   -1,   -1,   -1,  270
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
@@ -1173,6 +1062,8 @@ static const char * const valueList[] = {
 "continuous", 
 "skip-white-space", 
 "break-word", 
+"space", 
+"after-white-space", 
     0
 };
 DOMString getValueName(unsigned short id)
index 43ff34553706fb198f4fcdede3dfdaa9aa8e6467..c29e76ad39f1a1cf248d5cacb197f1e990efab26 100644 (file)
@@ -278,7 +278,9 @@ DOM::DOMString getValueName(unsigned short id);
 #define CSS_VAL_CONTINUOUS 267
 #define CSS_VAL_SKIP_WHITE_SPACE 268
 #define CSS_VAL_BREAK_WORD 269
+#define CSS_VAL_SPACE 270
+#define CSS_VAL_AFTER_WHITE_SPACE 271
 
-#define CSS_VAL_TOTAL 270
+#define CSS_VAL_TOTAL 272
 #endif
 
index 6ac616cc00ade5e00b89b1aaeab0508cd2a27e5e..f71feb47c227ff5314f51180e61041edca88ae40 100644 (file)
@@ -418,3 +418,14 @@ skip-white-space
 # CSS_PROP_WORD_BREAK
 #
 break-word
+
+#
+# CSS_PROP__KHTML_NBSP_MODE
+#
+space
+
+#
+# CSS_PROP__KHTML_LINE_BREAK
+#
+after-white-space
+
index 18491940ef69a9d4ca46e2ccd83c31c88eabcaae..d5c8b92339b9fd5fce75b13d5f59e609a586475d 100644 (file)
@@ -42,6 +42,7 @@ using DOM::offsetInCharacters;
 using DOM::Position;
 using DOM::Range;
 using DOM::RangeImpl;
+using DOM::StayInBlock;
 
 namespace khtml {
 
@@ -346,6 +347,28 @@ Position VisiblePosition::deepEquivalent(const Position &pos)
     return Position(node, 0);
 }
 
+Position VisiblePosition::upstreamDeepEquivalent() const
+{
+    Position pos = m_deepPosition;
+    
+    if (pos.isNull() || atStart(pos))
+        return pos;
+
+    Position downstreamTest = pos.downstream(StayInBlock);
+
+    Position current = pos;
+    while (!atStart(current)) {
+        current = previousPosition(current);
+        if (isCandidate(current)) {
+            if (downstreamTest != current.downstream(StayInBlock))
+                break;
+            pos = current;
+        }
+    }
+    
+    return pos;
+}
+
 Position VisiblePosition::rangeCompliantEquivalent(const Position &pos)
 {
     NodeImpl *node = pos.node();
index 2f9ccd181abbdf6de1845e076fd050204b09fb0e..4ed3fc785796b8d19272f4c931e4780d41de6a7d 100644 (file)
@@ -53,6 +53,8 @@ public:
 
     Position position() const { return rangeCompliantEquivalent(m_deepPosition); }
     Position deepEquivalent() const { return m_deepPosition; }
+    
+    Position upstreamDeepEquivalent() const;
 
     friend bool operator==(const VisiblePosition &a, const VisiblePosition &b);
 
index 93015f3b655c3a281b5929141c8e505c53669672..557fb49fd458234c836bf7542b0997d4a25f8593 100644 (file)
@@ -624,6 +624,7 @@ void RenderBox::deleteLineBoxWrapper()
 {
     if (m_inlineBoxWrapper)
         m_inlineBoxWrapper->detach(renderArena());
+    m_inlineBoxWrapper = 0;
 }
 
 void RenderBox::setInlineBoxWrapper(InlineBox* b)
index ea23d13c2538bcb7196dca59363d4ad2f5ce66de..54c14f79d2fd3bcaad8a78ebdf1a7b3ee13c131c 100644 (file)
@@ -188,6 +188,7 @@ void RenderWidget::detach()
         if (!documentBeingDestroyed())
             m_inlineBoxWrapper->remove();
         m_inlineBoxWrapper->detach(arena);
+        m_inlineBoxWrapper = 0;
     }
     setNode(0);
     deref(arena);
index 422c5ba9819e33c990f208e5784656e29d136c3e..820c4bf326b23bf88ec2a008cf5da3da7b006166 100644 (file)
@@ -243,7 +243,8 @@ bool StyleCSS3NonInheritedData::operator==(const StyleCSS3NonInheritedData& o) c
 }
 
 StyleCSS3InheritedData::StyleCSS3InheritedData()
-:Shared<StyleCSS3InheritedData>(), textShadow(0), userModify(READ_ONLY), wordWrap(WBNORMAL)
+:Shared<StyleCSS3InheritedData>(), textShadow(0), userModify(READ_ONLY), wordWrap(WBNORMAL), 
+    nbspMode(NBNORMAL), khtmlLineBreak(LBNORMAL)
 #if APPLE_CHANGES
 , textSizeAdjust(RenderStyle::initialTextSizeAdjust())
 #endif
@@ -257,6 +258,8 @@ StyleCSS3InheritedData::StyleCSS3InheritedData(const StyleCSS3InheritedData& o)
     textShadow = o.textShadow ? new ShadowData(*o.textShadow) : 0;
     userModify = o.userModify;
     wordWrap = o.wordWrap;
+    nbspMode = o.nbspMode;
+    khtmlLineBreak = o.khtmlLineBreak;
 #if APPLE_CHANGES
     textSizeAdjust = o.textSizeAdjust;
 #endif
@@ -269,7 +272,8 @@ StyleCSS3InheritedData::~StyleCSS3InheritedData()
 
 bool StyleCSS3InheritedData::operator==(const StyleCSS3InheritedData& o) const
 {
-    return (userModify == o.userModify) && shadowDataEquivalent(o) && (wordWrap == o.wordWrap) 
+    return (userModify == o.userModify) && shadowDataEquivalent(o) && (wordWrap == o.wordWrap) &&
+        (nbspMode == o.nbspMode) && (khtmlLineBreak == o.khtmlLineBreak)
 #if APPLE_CHANGES
             && (textSizeAdjust == o.textSizeAdjust)
 #endif
@@ -560,6 +564,8 @@ RenderStyle::Diff RenderStyle::diff( const RenderStyle *other ) const
          (css3InheritedData->textSizeAdjust != other->css3InheritedData->textSizeAdjust) ||
 #endif
          (css3InheritedData->wordWrap != other->css3InheritedData->wordWrap) ||
+         (css3InheritedData->nbspMode != other->css3InheritedData->nbspMode) ||
+         (css3InheritedData->khtmlLineBreak != other->css3InheritedData->khtmlLineBreak) ||
         !(inherited->indent == other->inherited->indent) ||
         !(inherited->line_height == other->inherited->line_height) ||
         !(inherited->style_image == other->inherited->style_image) ||
index d7a7776896e6de4d3416005394ecfb73a371079b..6de4c20b61203bacdf1aaf2654c15ff49b487426 100644 (file)
@@ -568,6 +568,14 @@ enum EWordWrap {
     WBNORMAL, BREAK_WORD
 };
 
+enum ENBSPMode {
+    NBNORMAL, SPACE
+};
+
+enum EKHTMLLineBreak {
+    LBNORMAL, AFTER_WHITE_SPACE
+};
+
 // 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.
@@ -624,6 +632,8 @@ 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
+    ENBSPMode nbspMode : 1;    
+    EKHTMLLineBreak khtmlLineBreak : 1;    
 #if APPLE_CHANGES
     bool textSizeAdjust : 1;    // An Apple extension.  Not really CSS3 but not worth making a new struct over.
 #endif
@@ -1147,6 +1157,8 @@ public:
     EMarginCollapse marginTopCollapse() const { return css3NonInheritedData->marginTopCollapse; }
     EMarginCollapse marginBottomCollapse() const { return css3NonInheritedData->marginBottomCollapse; }
     EWordWrap wordWrap() const { return css3InheritedData->wordWrap; }
+    ENBSPMode nbspMode() const { return css3InheritedData->nbspMode; }
+    EKHTMLLineBreak khtmlLineBreak() const { return css3InheritedData->khtmlLineBreak; }
     // End CSS3 Getters
 
 #if APPLE_CHANGES
@@ -1348,6 +1360,8 @@ public:
     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); }
+    void setNBSPMode(ENBSPMode b) { SET_VAR(css3InheritedData, nbspMode, b); }
+    void setKHTMLLineBreak(EKHTMLLineBreak b) { SET_VAR(css3InheritedData, khtmlLineBreak, b); }
     // End CSS3 Setters
    
 #if APPLE_CHANGES
@@ -1463,6 +1477,8 @@ public:
     static EMarginCollapse initialMarginTopCollapse() { return MCOLLAPSE; }
     static EMarginCollapse initialMarginBottomCollapse() { return MCOLLAPSE; }
     static EWordWrap initialWordWrap() { return WBNORMAL; }
+    static ENBSPMode initialNBSPMode() { return NBNORMAL; }
+    static EKHTMLLineBreak initialKHTMLLineBreak() { return LBNORMAL; }
 
 #if APPLE_CHANGES
     // Keep these at the end.