OLD | NEW |
| (Empty) |
1 /* ANSI-C code produced by gperf version 3.0.3 */ | |
2 /* Command-line: gperf -m 100 fcobjshash.gperf */ | |
3 /* Computed positions: -k'2-3' */ | |
4 | |
5 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ | |
6 && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \ | |
7 && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \ | |
8 && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \ | |
9 && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \ | |
10 && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \ | |
11 && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \ | |
12 && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \ | |
13 && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \ | |
14 && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \ | |
15 && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \ | |
16 && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \ | |
17 && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \ | |
18 && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \ | |
19 && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \ | |
20 && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \ | |
21 && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \ | |
22 && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \ | |
23 && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \ | |
24 && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \ | |
25 && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \ | |
26 && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ | |
27 && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) | |
28 /* The character set is not based on ISO-646. */ | |
29 #error "gperf generated tables don't work with this execution character set. Ple
ase report a bug to <bug-gnu-gperf@gnu.org>." | |
30 #endif | |
31 | |
32 #line 1 "fcobjshash.gperf" | |
33 | |
34 #line 13 "fcobjshash.gperf" | |
35 struct FcObjectTypeInfo { | |
36 int name; | |
37 int id; | |
38 }; | |
39 #include <string.h> | |
40 /* maximum key range = 52, duplicates = 0 */ | |
41 | |
42 #ifdef __GNUC__ | |
43 __inline | |
44 #else | |
45 #ifdef __cplusplus | |
46 inline | |
47 #endif | |
48 #endif | |
49 static unsigned int | |
50 FcObjectTypeHash (register const char *str, register unsigned int len) | |
51 { | |
52 static const unsigned char asso_values[] = | |
53 { | |
54 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
55 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
56 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
57 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
58 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
59 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
60 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
61 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
62 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
63 56, 56, 56, 56, 56, 56, 56, 17, 12, 1, | |
64 35, 0, 56, 27, 15, 0, 56, 56, 0, 7, | |
65 7, 0, 22, 56, 21, 10, 13, 0, 56, 56, | |
66 0, 26, 1, 56, 56, 56, 56, 56, 56, 56, | |
67 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
68 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
69 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
70 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
71 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
72 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
73 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
74 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
75 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
76 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
77 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
78 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, | |
79 56, 56, 56, 56, 56, 56 | |
80 }; | |
81 return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)s
tr[1]]; | |
82 } | |
83 | |
84 struct FcObjectTypeNamePool_t | |
85 { | |
86 char FcObjectTypeNamePool_str4[sizeof("file")]; | |
87 char FcObjectTypeNamePool_str5[sizeof("size")]; | |
88 char FcObjectTypeNamePool_str6[sizeof("weight")]; | |
89 char FcObjectTypeNamePool_str7[sizeof("foundry")]; | |
90 char FcObjectTypeNamePool_str8[sizeof("fullname")]; | |
91 char FcObjectTypeNamePool_str9[sizeof("pixelsize")]; | |
92 char FcObjectTypeNamePool_str11[sizeof("decorative")]; | |
93 char FcObjectTypeNamePool_str12[sizeof("fullnamelang")]; | |
94 char FcObjectTypeNamePool_str13[sizeof("globaladvance")]; | |
95 char FcObjectTypeNamePool_str14[sizeof("hinting")]; | |
96 char FcObjectTypeNamePool_str15[sizeof("minspace")]; | |
97 char FcObjectTypeNamePool_str16[sizeof("hintstyle")]; | |
98 char FcObjectTypeNamePool_str17[sizeof("fontformat")]; | |
99 char FcObjectTypeNamePool_str18[sizeof("fontversion")]; | |
100 char FcObjectTypeNamePool_str19[sizeof("fontfeatures")]; | |
101 char FcObjectTypeNamePool_str20[sizeof("outline")]; | |
102 char FcObjectTypeNamePool_str21[sizeof("autohint")]; | |
103 char FcObjectTypeNamePool_str22[sizeof("slant")]; | |
104 char FcObjectTypeNamePool_str23[sizeof("scale")]; | |
105 char FcObjectTypeNamePool_str24[sizeof("postscriptname")]; | |
106 char FcObjectTypeNamePool_str25[sizeof("dpi")]; | |
107 char FcObjectTypeNamePool_str26[sizeof("scalable")]; | |
108 char FcObjectTypeNamePool_str27[sizeof("embolden")]; | |
109 char FcObjectTypeNamePool_str28[sizeof("lang")]; | |
110 char FcObjectTypeNamePool_str29[sizeof("antialias")]; | |
111 char FcObjectTypeNamePool_str30[sizeof("family")]; | |
112 char FcObjectTypeNamePool_str31[sizeof("hash")]; | |
113 char FcObjectTypeNamePool_str32[sizeof("namelang")]; | |
114 char FcObjectTypeNamePool_str33[sizeof("embeddedbitmap")]; | |
115 char FcObjectTypeNamePool_str34[sizeof("familylang")]; | |
116 char FcObjectTypeNamePool_str35[sizeof("verticallayout")]; | |
117 char FcObjectTypeNamePool_str36[sizeof("matrix")]; | |
118 char FcObjectTypeNamePool_str37[sizeof("rasterizer")]; | |
119 char FcObjectTypeNamePool_str38[sizeof("aspect")]; | |
120 char FcObjectTypeNamePool_str39[sizeof("charset")]; | |
121 char FcObjectTypeNamePool_str40[sizeof("width")]; | |
122 char FcObjectTypeNamePool_str41[sizeof("charwidth")]; | |
123 char FcObjectTypeNamePool_str42[sizeof("charheight")]; | |
124 char FcObjectTypeNamePool_str43[sizeof("rgba")]; | |
125 char FcObjectTypeNamePool_str44[sizeof("style")]; | |
126 char FcObjectTypeNamePool_str45[sizeof("lcdfilter")]; | |
127 char FcObjectTypeNamePool_str46[sizeof("spacing")]; | |
128 char FcObjectTypeNamePool_str47[sizeof("index")]; | |
129 char FcObjectTypeNamePool_str48[sizeof("stylelang")]; | |
130 char FcObjectTypeNamePool_str49[sizeof("capability")]; | |
131 char FcObjectTypeNamePool_str55[sizeof("prgname")]; | |
132 }; | |
133 static const struct FcObjectTypeNamePool_t FcObjectTypeNamePool_contents = | |
134 { | |
135 "file", | |
136 "size", | |
137 "weight", | |
138 "foundry", | |
139 "fullname", | |
140 "pixelsize", | |
141 "decorative", | |
142 "fullnamelang", | |
143 "globaladvance", | |
144 "hinting", | |
145 "minspace", | |
146 "hintstyle", | |
147 "fontformat", | |
148 "fontversion", | |
149 "fontfeatures", | |
150 "outline", | |
151 "autohint", | |
152 "slant", | |
153 "scale", | |
154 "postscriptname", | |
155 "dpi", | |
156 "scalable", | |
157 "embolden", | |
158 "lang", | |
159 "antialias", | |
160 "family", | |
161 "hash", | |
162 "namelang", | |
163 "embeddedbitmap", | |
164 "familylang", | |
165 "verticallayout", | |
166 "matrix", | |
167 "rasterizer", | |
168 "aspect", | |
169 "charset", | |
170 "width", | |
171 "charwidth", | |
172 "charheight", | |
173 "rgba", | |
174 "style", | |
175 "lcdfilter", | |
176 "spacing", | |
177 "index", | |
178 "stylelang", | |
179 "capability", | |
180 "prgname" | |
181 }; | |
182 #define FcObjectTypeNamePool ((const char *) &FcObjectTypeNamePool_contents) | |
183 #ifdef __GNUC__ | |
184 __inline | |
185 #ifdef __GNUC_STDC_INLINE__ | |
186 __attribute__ ((__gnu_inline__)) | |
187 #endif | |
188 #endif | |
189 const struct FcObjectTypeInfo * | |
190 FcObjectTypeLookup (register const char *str, register unsigned int len) | |
191 { | |
192 enum | |
193 { | |
194 TOTAL_KEYWORDS = 46, | |
195 MIN_WORD_LENGTH = 3, | |
196 MAX_WORD_LENGTH = 14, | |
197 MIN_HASH_VALUE = 4, | |
198 MAX_HASH_VALUE = 55 | |
199 }; | |
200 | |
201 static const struct FcObjectTypeInfo wordlist[] = | |
202 { | |
203 {-1}, {-1}, {-1}, {-1}, | |
204 #line 38 "fcobjshash.gperf" | |
205 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r4,FC_FILE_OBJECT}, | |
206 #line 27 "fcobjshash.gperf" | |
207 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r5,FC_SIZE_OBJECT}, | |
208 #line 25 "fcobjshash.gperf" | |
209 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r6,FC_WEIGHT_OBJECT}, | |
210 #line 31 "fcobjshash.gperf" | |
211 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r7,FC_FOUNDRY_OBJECT}, | |
212 #line 22 "fcobjshash.gperf" | |
213 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r8,FC_FULLNAME_OBJECT}, | |
214 #line 29 "fcobjshash.gperf" | |
215 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r9,FC_PIXEL_SIZE_OBJECT}, | |
216 {-1}, | |
217 #line 57 "fcobjshash.gperf" | |
218 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r11,FC_DECORATIVE_OBJECT}, | |
219 #line 23 "fcobjshash.gperf" | |
220 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r12,FC_FULLNAMELANG_OBJECT}, | |
221 #line 37 "fcobjshash.gperf" | |
222 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r13,FC_GLOBAL_ADVANCE_OBJECT}, | |
223 #line 34 "fcobjshash.gperf" | |
224 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r14,FC_HINTING_OBJECT}, | |
225 #line 46 "fcobjshash.gperf" | |
226 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r15,FC_MINSPACE_OBJECT}, | |
227 #line 33 "fcobjshash.gperf" | |
228 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r16,FC_HINT_STYLE_OBJECT}, | |
229 #line 54 "fcobjshash.gperf" | |
230 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r17,FC_FONTFORMAT_OBJECT}, | |
231 #line 52 "fcobjshash.gperf" | |
232 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r18,FC_FONTVERSION_OBJECT}, | |
233 #line 60 "fcobjshash.gperf" | |
234 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r19,FC_FONT_FEATURES_OBJECT}, | |
235 #line 41 "fcobjshash.gperf" | |
236 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r20,FC_OUTLINE_OBJECT}, | |
237 #line 36 "fcobjshash.gperf" | |
238 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r21,FC_AUTOHINT_OBJECT}, | |
239 #line 24 "fcobjshash.gperf" | |
240 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r22,FC_SLANT_OBJECT}, | |
241 #line 45 "fcobjshash.gperf" | |
242 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r23,FC_SCALE_OBJECT}, | |
243 #line 63 "fcobjshash.gperf" | |
244 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r24,FC_POSTSCRIPT_NAME_OBJECT}, | |
245 #line 43 "fcobjshash.gperf" | |
246 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r25,FC_DPI_OBJECT}, | |
247 #line 42 "fcobjshash.gperf" | |
248 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r26,FC_SCALABLE_OBJECT}, | |
249 #line 55 "fcobjshash.gperf" | |
250 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r27,FC_EMBOLDEN_OBJECT}, | |
251 #line 51 "fcobjshash.gperf" | |
252 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r28,FC_LANG_OBJECT}, | |
253 #line 32 "fcobjshash.gperf" | |
254 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r29,FC_ANTIALIAS_OBJECT}, | |
255 #line 18 "fcobjshash.gperf" | |
256 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r30,FC_FAMILY_OBJECT}, | |
257 #line 62 "fcobjshash.gperf" | |
258 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r31,FC_HASH_OBJECT}, | |
259 #line 59 "fcobjshash.gperf" | |
260 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r32,FC_NAMELANG_OBJECT}, | |
261 #line 56 "fcobjshash.gperf" | |
262 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r33,FC_EMBEDDED_BITMAP_OBJECT}, | |
263 #line 19 "fcobjshash.gperf" | |
264 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r34,FC_FAMILYLANG_OBJECT}, | |
265 #line 35 "fcobjshash.gperf" | |
266 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r35,FC_VERTICAL_LAYOUT_OBJECT}, | |
267 #line 49 "fcobjshash.gperf" | |
268 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r36,FC_MATRIX_OBJECT}, | |
269 #line 40 "fcobjshash.gperf" | |
270 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r37,FC_RASTERIZER_OBJECT}, | |
271 #line 28 "fcobjshash.gperf" | |
272 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r38,FC_ASPECT_OBJECT}, | |
273 #line 50 "fcobjshash.gperf" | |
274 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r39,FC_CHARSET_OBJECT}, | |
275 #line 26 "fcobjshash.gperf" | |
276 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r40,FC_WIDTH_OBJECT}, | |
277 #line 47 "fcobjshash.gperf" | |
278 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r41,FC_CHAR_WIDTH_OBJECT}, | |
279 #line 48 "fcobjshash.gperf" | |
280 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r42,FC_CHAR_HEIGHT_OBJECT}, | |
281 #line 44 "fcobjshash.gperf" | |
282 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r43,FC_RGBA_OBJECT}, | |
283 #line 20 "fcobjshash.gperf" | |
284 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r44,FC_STYLE_OBJECT}, | |
285 #line 58 "fcobjshash.gperf" | |
286 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r45,FC_LCD_FILTER_OBJECT}, | |
287 #line 30 "fcobjshash.gperf" | |
288 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r46,FC_SPACING_OBJECT}, | |
289 #line 39 "fcobjshash.gperf" | |
290 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r47,FC_INDEX_OBJECT}, | |
291 #line 21 "fcobjshash.gperf" | |
292 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r48,FC_STYLELANG_OBJECT}, | |
293 #line 53 "fcobjshash.gperf" | |
294 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r49,FC_CAPABILITY_OBJECT}, | |
295 {-1}, {-1}, {-1}, {-1}, {-1}, | |
296 #line 61 "fcobjshash.gperf" | |
297 {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_st
r55,FC_PRGNAME_OBJECT} | |
298 }; | |
299 | |
300 if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) | |
301 { | |
302 register int key = FcObjectTypeHash (str, len); | |
303 | |
304 if (key <= MAX_HASH_VALUE && key >= 0) | |
305 { | |
306 register int o = wordlist[key].name; | |
307 if (o >= 0) | |
308 { | |
309 register const char *s = o + FcObjectTypeNamePool; | |
310 | |
311 if (*str == *s && !strcmp (str + 1, s + 1)) | |
312 return &wordlist[key]; | |
313 } | |
314 } | |
315 } | |
316 return 0; | |
317 } | |
OLD | NEW |