⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cssproperties.c

📁 monqueror一个很具有参考价值的源玛
💻 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 + -