/* == Start of generated table == */
/*
 * The following tables are generated by running:
 *
 *   ./gen-emoji-table.py emoji-data.txt
 *
 * on file with this header:
 *
 * # emoji-data.txt
 * # Date: 2018-02-07, 07:55:18 GMT
 * # © 2018 Unicode®, Inc.
 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
 * # For terms of use, see http://www.unicode.org/terms_of_use.html
 * #
 * # Emoji Data for UTS #51
 * # Version: 11.0
 * #
 * # For documentation and usage, see http://www.unicode.org/reports/tr51
 */

#ifndef HB_UNICODE_EMOJI_TABLE_HH
#define HB_UNICODE_EMOJI_TABLE_HH

#include "hb-unicode.hh"


static const struct hb_unicode_range_t _hb_unicode_emoji_Extended_Pictographic_table[] =
{
  {0x00A9, 0x00A9},
  {0x00AE, 0x00AE},
  {0x203C, 0x203C},
  {0x2049, 0x2049},
  {0x2122, 0x2122},
  {0x2139, 0x2139},
  {0x2194, 0x2199},
  {0x21A9, 0x21AA},
  {0x231A, 0x231B},
  {0x2328, 0x2328},
  {0x2388, 0x2388},
  {0x23CF, 0x23CF},
  {0x23E9, 0x23F3},
  {0x23F8, 0x23FA},
  {0x24C2, 0x24C2},
  {0x25AA, 0x25AB},
  {0x25B6, 0x25B6},
  {0x25C0, 0x25C0},
  {0x25FB, 0x25FE},
  {0x2600, 0x2605},
  {0x2607, 0x2612},
  {0x2614, 0x2685},
  {0x2690, 0x2705},
  {0x2708, 0x2712},
  {0x2714, 0x2714},
  {0x2716, 0x2716},
  {0x271D, 0x271D},
  {0x2721, 0x2721},
  {0x2728, 0x2728},
  {0x2733, 0x2734},
  {0x2744, 0x2744},
  {0x2747, 0x2747},
  {0x274C, 0x274C},
  {0x274E, 0x274E},
  {0x2753, 0x2755},
  {0x2757, 0x2757},
  {0x2763, 0x2767},
  {0x2795, 0x2797},
  {0x27A1, 0x27A1},
  {0x27B0, 0x27B0},
  {0x27BF, 0x27BF},
  {0x2934, 0x2935},
  {0x2B05, 0x2B07},
  {0x2B1B, 0x2B1C},
  {0x2B50, 0x2B50},
  {0x2B55, 0x2B55},
  {0x3030, 0x3030},
  {0x303D, 0x303D},
  {0x3297, 0x3297},
  {0x3299, 0x3299},
  {0x1F000, 0x1F0FF},
  {0x1F10D, 0x1F10F},
  {0x1F12F, 0x1F12F},
  {0x1F16C, 0x1F171},
  {0x1F17E, 0x1F17F},
  {0x1F18E, 0x1F18E},
  {0x1F191, 0x1F19A},
  {0x1F1AD, 0x1F1E5},
  {0x1F201, 0x1F20F},
  {0x1F21A, 0x1F21A},
  {0x1F22F, 0x1F22F},
  {0x1F232, 0x1F23A},
  {0x1F23C, 0x1F23F},
  {0x1F249, 0x1F3FA},
  {0x1F400, 0x1F53D},
  {0x1F546, 0x1F64F},
  {0x1F680, 0x1F6FF},
  {0x1F774, 0x1F77F},
  {0x1F7D5, 0x1F7FF},
  {0x1F80C, 0x1F80F},
  {0x1F848, 0x1F84F},
  {0x1F85A, 0x1F85F},
  {0x1F888, 0x1F88F},
  {0x1F8AE, 0x1F8FF},
  {0x1F90C, 0x1F93A},
  {0x1F93C, 0x1F945},
  {0x1F947, 0x1FFFD},
};

#endif /* HB_UNICODE_EMOJI_TABLE_HH */

/* == End of generated table == */
