From d58c31e6dcfd8c5e6fe3ead4a69216b059558223 Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Thu, 20 Sep 2012 14:42:31 -0400 Subject: Use a static perfect hash table for object-name lookup The hash table is generated by gperf. For runtime element types, we use a append-only linked list. A bit clumsy, but I think I got it right. --- src/fcobjs.h | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/fcobjs.h (limited to 'src/fcobjs.h') diff --git a/src/fcobjs.h b/src/fcobjs.h new file mode 100644 index 00000000..1e9067e2 --- /dev/null +++ b/src/fcobjs.h @@ -0,0 +1,44 @@ +/* DON'T REORDER! The order is part of the cache signature. */ +FC_OBJECT (FAMILY, FcTypeString) +FC_OBJECT (FAMILYLANG, FcTypeString) +FC_OBJECT (STYLE, FcTypeString) +FC_OBJECT (STYLELANG, FcTypeString) +FC_OBJECT (FULLNAME, FcTypeString) +FC_OBJECT (FULLNAMELANG, FcTypeString) +FC_OBJECT (SLANT, FcTypeInteger) +FC_OBJECT (WEIGHT, FcTypeInteger) +FC_OBJECT (WIDTH, FcTypeInteger) +FC_OBJECT (SIZE, FcTypeDouble) +FC_OBJECT (ASPECT, FcTypeDouble) +FC_OBJECT (PIXEL_SIZE, FcTypeDouble) +FC_OBJECT (SPACING, FcTypeInteger) +FC_OBJECT (FOUNDRY, FcTypeString) +FC_OBJECT (ANTIALIAS, FcTypeBool) +FC_OBJECT (HINT_STYLE, FcTypeInteger) +FC_OBJECT (HINTING, FcTypeBool) +FC_OBJECT (VERTICAL_LAYOUT, FcTypeBool) +FC_OBJECT (AUTOHINT, FcTypeBool) +FC_OBJECT (GLOBAL_ADVANCE, FcTypeBool) /* deprecated */ +FC_OBJECT (FILE, FcTypeString) +FC_OBJECT (INDEX, FcTypeInteger) +FC_OBJECT (RASTERIZER, FcTypeString) +FC_OBJECT (OUTLINE, FcTypeBool) +FC_OBJECT (SCALABLE, FcTypeBool) +FC_OBJECT (DPI, FcTypeDouble) +FC_OBJECT (RGBA, FcTypeInteger) +FC_OBJECT (SCALE, FcTypeDouble) +FC_OBJECT (MINSPACE, FcTypeBool) +FC_OBJECT (CHAR_WIDTH, FcTypeInteger) +FC_OBJECT (CHAR_HEIGHT, FcTypeInteger) +FC_OBJECT (MATRIX, FcTypeMatrix) +FC_OBJECT (CHARSET, FcTypeCharSet) +FC_OBJECT (LANG, FcTypeLangSet) +FC_OBJECT (FONTVERSION, FcTypeInteger) +FC_OBJECT (CAPABILITY, FcTypeString) +FC_OBJECT (FONTFORMAT, FcTypeString) +FC_OBJECT (EMBOLDEN, FcTypeBool) +FC_OBJECT (EMBEDDED_BITMAP, FcTypeBool) +FC_OBJECT (DECORATIVE, FcTypeBool) +FC_OBJECT (LCD_FILTER, FcTypeInteger) +FC_OBJECT (NAMELANG, FcTypeString) +/* ^-------------- Add new objects here. */ -- cgit v1.2.3