📄 cssproperties.c
字号:
/* ANSI-C code produced by gperf version 2.7.1 (19981006 egcs) *//* Command-line: gperf -a -L ANSI-C -E -C -c -o -t -k * -NfindProp -Hhash_prop -Wwordlist_prop -D -s 2 cssproperties.gperf *//* This file is automatically generated from cssproperties.in by makeprop, do not edit *//* Copyright 1999 W. Bastian */#include "cssproperties.h"struct props { const char *name; int id;};/* maximum key range = 619, duplicates = 0 */#ifdef __GNUC____inline#endifstatic unsigned inthash_prop (register const char *str, register unsigned int len){ static const unsigned short asso_values[] = { 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 0, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 0, 622, 5, 15, 0, 0, 0, 185, 80, 25, 0, 10, 90, 140, 60, 0, 0, 0, 5, 0, 0, 0, 150, 10, 60, 45, 35, 25, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622, 622 }; register int hval = len; switch (hval) { default: case 21: hval += asso_values[(unsigned char)str[20]]; case 20: hval += asso_values[(unsigned char)str[19]]; case 19: hval += asso_values[(unsigned char)str[18]]; case 18: hval += asso_values[(unsigned char)str[17]]; case 17: hval += asso_values[(unsigned char)str[16]]; case 16: hval += asso_values[(unsigned char)str[15]]; case 15: hval += asso_values[(unsigned char)str[14]]; case 14: hval += asso_values[(unsigned char)str[13]]; case 13: hval += asso_values[(unsigned char)str[12]]; case 12: hval += asso_values[(unsigned char)str[11]]; case 11: hval += asso_values[(unsigned char)str[10]]; case 10: hval += asso_values[(unsigned char)str[9]]; case 9: hval += asso_values[(unsigned char)str[8]]; case 8: hval += asso_values[(unsigned char)str[7]]; case 7: hval += asso_values[(unsigned char)str[6]]; case 6: hval += asso_values[(unsigned char)str[5]]; case 5: hval += asso_values[(unsigned char)str[4]]; case 4: hval += asso_values[(unsigned char)str[3]]; case 3: hval += asso_values[(unsigned char)str[2]]; case 2: hval += asso_values[(unsigned char)str[1]]; case 1: hval += asso_values[(unsigned char)str[0]]; break; } return hval;}#ifdef __GNUC____inline#endifconst struct props *findProp (register const char *str, register unsigned int len){ enum { TOTAL_KEYWORDS = 124, MIN_WORD_LENGTH = 3, MAX_WORD_LENGTH = 21, MIN_HASH_VALUE = 3, MAX_HASH_VALUE = 621 }; static const struct props wordlist_prop[] = { {"top", CSS_PROP_TOP}, {"stress", CSS_PROP_STRESS}, {"content", CSS_PROP_CONTENT}, {"position", CSS_PROP_POSITION}, {"direction", CSS_PROP_DIRECTION}, {"caption-side", CSS_PROP_CAPTION_SIDE}, {"border", CSS_PROP_BORDER}, {"border-top", CSS_PROP_BORDER_TOP}, {"size", CSS_PROP_SIZE}, {"pitch", CSS_PROP_PITCH}, {"richness", CSS_PROP_RICHNESS}, {"orphans", CSS_PROP_ORPHANS}, {"speech-rate", CSS_PROP_SPEECH_RATE}, {"text-indent", CSS_PROP_TEXT_INDENT}, {"text-decoration", CSS_PROP_TEXT_DECORATION}, {"z-index", CSS_PROP_Z_INDEX}, {"bottom", CSS_PROP_BOTTOM}, {"page", CSS_PROP_PAGE}, {"width", CSS_PROP_WIDTH}, {"padding", CSS_PROP_PADDING}, {"padding-top", CSS_PROP_PADDING_TOP}, {"speak", CSS_PROP_SPEAK}, {"white-space", CSS_PROP_WHITE_SPACE}, {"border-bottom", CSS_PROP_BORDER_BOTTOM}, {"right", CSS_PROP_RIGHT}, {"border-width", CSS_PROP_BORDER_WIDTH}, {"border-spacing", CSS_PROP_BORDER_SPACING}, {"border-top-width", CSS_PROP_BORDER_TOP_WIDTH}, {"pitch-range", CSS_PROP_PITCH_RANGE}, {"widows", CSS_PROP_WIDOWS}, {"border-right", CSS_PROP_BORDER_RIGHT}, {"height", CSS_PROP_HEIGHT}, {"speak-header", CSS_PROP_SPEAK_HEADER}, {"clip", CSS_PROP_CLIP}, {"color", CSS_PROP_COLOR}, {"text-shadow", CSS_PROP_TEXT_SHADOW}, {"clear", CSS_PROP_CLEAR}, {"margin", CSS_PROP_MARGIN}, {"cue", CSS_PROP_CUE}, {"min-width", CSS_PROP_MIN_WIDTH}, {"margin-top", CSS_PROP_MARGIN_TOP}, {"cursor", CSS_PROP_CURSOR}, {"word-spacing", CSS_PROP_WORD_SPACING}, {"pause", CSS_PROP_PAUSE}, {"quotes", CSS_PROP_QUOTES}, {"counter-reset", CSS_PROP_COUNTER_RESET}, {"elevation", CSS_PROP_ELEVATION}, {"border-color", CSS_PROP_BORDER_COLOR}, {"border-top-color", CSS_PROP_BORDER_TOP_COLOR}, {"padding-bottom", CSS_PROP_PADDING_BOTTOM}, {"unicode-bidi", CSS_PROP_UNICODE_BIDI}, {"display", CSS_PROP_DISPLAY}, {"font", CSS_PROP_FONT}, {"border-bottom-width", CSS_PROP_BORDER_BOTTOM_WIDTH}, {"min-height", CSS_PROP_MIN_HEIGHT}, {"border-style", CSS_PROP_BORDER_STYLE}, {"padding-right", CSS_PROP_PADDING_RIGHT}, {"max-width", CSS_PROP_MAX_WIDTH}, {"border-top-style", CSS_PROP_BORDER_TOP_STYLE}, {"visibility", CSS_PROP_VISIBILITY}, {"text-decoration-color", CSS_PROP_TEXT_DECORATION_COLOR}, {"page-break-inside", CSS_PROP_PAGE_BREAK_INSIDE}, {"font-variant", CSS_PROP_FONT_VARIANT}, {"font-size", CSS_PROP_FONT_SIZE}, {"font-stretch", CSS_PROP_FONT_STRETCH}, {"border-right-width", CSS_PROP_BORDER_RIGHT_WIDTH}, {"counter-increment", CSS_PROP_COUNTER_INCREMENT}, {"margin-bottom", CSS_PROP_MARGIN_BOTTOM}, {"konq_bgpos_y", CSS_PROP_KONQ_BGPOS_Y}, {"letter-spacing", CSS_PROP_LETTER_SPACING}, {"konq_bgpos_x", CSS_PROP_KONQ_BGPOS_X}, {"border-bottom-color", CSS_PROP_BORDER_BOTTOM_COLOR}, {"max-height", CSS_PROP_MAX_HEIGHT}, {"margin-right", CSS_PROP_MARGIN_RIGHT}, {"azimuth", CSS_PROP_AZIMUTH}, {"border-right-color", CSS_PROP_BORDER_RIGHT_COLOR}, {"text-align", CSS_PROP_TEXT_ALIGN}, {"line-height", CSS_PROP_LINE_HEIGHT}, {"border-bottom-style", CSS_PROP_BORDER_BOTTOM_STYLE}, {"outline", CSS_PROP_OUTLINE}, {"text-transform", CSS_PROP_TEXT_TRANSFORM}, {"border-right-style", CSS_PROP_BORDER_RIGHT_STYLE}, {"border-collapse", CSS_PROP_BORDER_COLLAPSE}, {"list-style", CSS_PROP_LIST_STYLE}, {"left", CSS_PROP_LEFT}, {"list-style-position", CSS_PROP_LIST_STYLE_POSITION}, {"float", CSS_PROP_FLOAT}, {"cue-after", CSS_PROP_CUE_AFTER}, {"background", CSS_PROP_BACKGROUND}, {"border-left", CSS_PROP_BORDER_LEFT}, {"pause-after", CSS_PROP_PAUSE_AFTER}, {"background-position", CSS_PROP_BACKGROUND_POSITION}, {"cue-before", CSS_PROP_CUE_BEFORE}, {"font-weight", CSS_PROP_FONT_WEIGHT}, {"background-repeat", CSS_PROP_BACKGROUND_REPEAT}, {"list-style-type", CSS_PROP_LIST_STYLE_TYPE}, {"volume", CSS_PROP_VOLUME}, {"pause-before", CSS_PROP_PAUSE_BEFORE}, {"font-style", CSS_PROP_FONT_STYLE}, {"empty-cells", CSS_PROP_EMPTY_CELLS}, {"outline-width", CSS_PROP_OUTLINE_WIDTH}, {"font-size-adjust", CSS_PROP_FONT_SIZE_ADJUST}, {"vertical-align", CSS_PROP_VERTICAL_ALIGN}, {"page-break-after", CSS_PROP_PAGE_BREAK_AFTER}, {"overflow", CSS_PROP_OVERFLOW}, {"page-break-before", CSS_PROP_PAGE_BREAK_BEFORE}, {"speak-punctuation", CSS_PROP_SPEAK_PUNCTUATION}, {"play-during", CSS_PROP_PLAY_DURING}, {"padding-left", CSS_PROP_PADDING_LEFT}, {"border-left-width", CSS_PROP_BORDER_LEFT_WIDTH}, {"outline-color", CSS_PROP_OUTLINE_COLOR}, {"voice-family", CSS_PROP_VOICE_FAMILY}, {"background-attachment", CSS_PROP_BACKGROUND_ATTACHMENT}, {"speak-numeral", CSS_PROP_SPEAK_NUMERAL}, {"list-style-image", CSS_PROP_LIST_STYLE_IMAGE}, {"outline-style", CSS_PROP_OUTLINE_STYLE}, {"margin-left", CSS_PROP_MARGIN_LEFT}, {"background-color", CSS_PROP_BACKGROUND_COLOR}, {"border-left-color", CSS_PROP_BORDER_LEFT_COLOR}, {"background-image", CSS_PROP_BACKGROUND_IMAGE}, {"table-layout", CSS_PROP_TABLE_LAYOUT}, {"border-left-style", CSS_PROP_BORDER_LEFT_STYLE}, {"marker-offset", CSS_PROP_MARKER_OFFSET}, {"font-family", CSS_PROP_FONT_FAMILY} }; static const signed char lookup[] = { -1, -1, -1, 0, -1, -1, 1, 2, 3, 4, -1, -1, -1, -1, -1, -1, -1, 5, -1, -1, -1, 6, -1, -1, -1, 7, -1, -1, -1, 8, 9, -1, -1, 10, -1, -1, -1, 11, -1, -1, -1, 12, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, -1, -1, 16, -1, -1, -1, -1, -1, -1, -1, 17, 18, -1, 19, -1, -1, -1, 20, -1, -1, -1, 21, 22, -1, 23, -1, -1, -1, -1, -1, -1, 24, -1, 25, -1, 26, -1, 27, -1, -1, -1, -1, 28, -1, -1, -1, -1, 29, -1, -1, -1, -1, -1, 30, -1, -1, -1, 31, 32, -1, -1, -1, -1, -1, -1, 33, 34, 35, -1, -1, -1, 36, 37, -1, 38, 39, 40, 41, 42, -1, -1, 43, 44, -1, 45, 46, -1, -1, 47, -1, -1, -1, 48, -1, -1, 49, -1, -1, 50, -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, -1, 52, -1, -1, -1, -1, 53, -1, -1, -1, -1, -1, 54, -1, 55, 56, 57, -1, 58, -1, -1, -1, 59, 60, 61, -1, -1, -1, -1, 62, -1, 63, -1, -1, 64, 65, -1, -1, -1, 66, -1, -1, -1, -1, -1, 67, -1, -1, -1, 68, -1, 69, -1, -1, -1, -1, -1, -1, -1, 70, -1, 71, 72, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, -1, -1, -1, -1, -1, -1, -1, -1, -1, 74, -1, -1, -1, -1, -1, 75, -1, 76, 77, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 80, -1, -1, -1, 81, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, 84, -1, -1, -1, -1, 85, 86, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 87, 88, 89, -1, -1, -1, -1, 90, -1, -1, 91, 92, 93, 94, -1, -1, 95, 96, 97, -1, -1, 98, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 99, -1, 100, -1, -1, 101, -1, -1, 102, -1, -1, -1, -1, -1, -1, 103, -1, 104, -1, -1, -1, -1, -1, -1, -1, -1, 105, -1, -1, -1, -1, 106, -1, -1, -1, 107, 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, -1, -1, -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 115, -1, -1, 116, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 117, 118, -1, -1, -1, 119, 120, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123 }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash_prop (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int index = lookup[key]; if (index >= 0) { register const char *s = wordlist_prop[index].name; if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) return &wordlist_prop[index]; } else if (index < -TOTAL_KEYWORDS) { register int offset = - 1 - TOTAL_KEYWORDS - index; register const struct props *wordptr = &wordlist_prop[TOTAL_KEYWORDS + lookup[offset]]; register const struct props *wordendptr = wordptr + -lookup[offset + 1]; while (wordptr < wordendptr) { register const char *s = wordptr->name; if (*str == *s && !strncmp (str + 1, s + 1, len - 1)) return wordptr; wordptr++; } } } } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -