tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

hb-unicode-emoji-table.hh (3874B)


      1 /* == Start of generated table == */
      2 /*
      3 * The following tables are generated by running:
      4 *
      5 *   ./gen-emoji-table.py emoji-data.txt
      6 *
      7 * on file with this header:
      8 *
      9 * # emoji-data.txt
     10 * # Date: 2025-07-25, 17:54:31 GMT
     11 * # © 2025 Unicode®, Inc.
     12 * # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
     13 * # For terms of use and license, see https://www.unicode.org/terms_of_use.html
     14 * #
     15 * # Emoji Data for UTS #51
     16 * # Version: 17.0
     17 * #
     18 * # For documentation and usage, see https://www.unicode.org/reports/tr51
     19 */
     20 
     21 #ifndef HB_UNICODE_EMOJI_TABLE_HH
     22 #define HB_UNICODE_EMOJI_TABLE_HH
     23 
     24 #include "hb-unicode.hh"
     25 
     26 #include <stdint.h>
     27 
     28 static const uint8_t _hb_emoji_u8[624]=
     29 {
     30   16, 17, 17, 17, 50, 20, 21, 17, 17, 17, 17, 17, 17, 17, 17, 17,
     31   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
     32   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
     33   17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,118,152,
     34    0,  0,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
     35    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
     36    2,  3,  0,  0,  4,  0,  5,  0,  0,  0,  0,  0,  6,  0,  0,  7,
     37    0,  0,  0,  8,  0,  0,  9, 10, 11, 12, 13, 14, 15, 16, 17,  0,
     38    0,  0,  0,  0, 18,  0,  0,  0,  0,  0,  0,  0, 19, 20,  0,  0,
     39   21,  0,  0,  0,  0,  0,  0,  0,  0,  0, 22,  0,  0,  0,  0,  0,
     40   23,  0, 24, 25,  0, 26, 27, 28, 29, 30, 31, 31, 32, 31, 33, 34,
     41   31, 31, 31, 35, 36, 37, 38, 39, 31, 40, 31, 41,  0,  0,  0, 42,
     42   43, 44, 45, 46, 47, 48, 31, 31,  0, 49, 31, 31,  0,  0,  0,  0,
     43   31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 31, 36,
     44    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 66,  0,  0,
     45    0,  0,  0,  0,  0,  0,  0, 16,  0,  2,  0,  0,  0,  0,  0,  0,
     46    0,  0,  0,  0,  4,  0,  0,  2,  0,  0,240,  3,  0,  6,  0,  0,
     47    0,  0,  0, 12,  0,  1,  0,  0,  0,128,  0,  0,  0,254, 15,  7,
     48    4,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 12, 64,  0,
     49    1,  0,  0,  0,  0,  0,  0,120, 31, 64, 50, 33, 77,196,  0,  7,
     50    5,255, 15,128,105,  1,  0,200,  0,  0,252, 26,131, 12,  3, 96,
     51   48,193, 26,  0,  0,  6,191, 39, 36,191, 84, 32,  2,  1, 24,  0,
     52  144, 80,184,  0, 24,  0,  0,  0,  0,  0,224,  0,  2,  0,  1,128,
     53    0,  0,  0,  0,  0,  0, 48,  0,224,  0,  0, 24,  0,  0,  0,  0,
     54    0,  0, 33,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  1, 32,
     55    0,  0,128,  2,  0,  0,  0,  0, 16,  0,  0,  0,  0,240,  0,  0,
     56    0,  0,240,255,  0,128,  1,  0,  1,128,  1,  0,  0,  0,192,255,
     57    0,  0,  0,  0,  0,  0,  3,192,  0, 64,254,  7,  0,192,255,255,
     58  255,255,255,255, 63,  0,  0,  0,254,255,  0,  4,  0,128,252,247,
     59    0,254,255,255,192,255,255,255,255,255,255,255,255,255,255,255,
     60  255,255,255,255,243,255,255,255,255,255,207,206,255,255,255,255,
     61  255,255,255,255,255,255,185,  7,255,255,255,255,255,255,255,191,
     62  255,255,255,255,255,255,255, 63,  0,126,255,255,255,128,249,  7,
     63  128, 60, 97,  0, 48,  1,  6, 16, 28,  0, 14,112, 10,129,  8,252,
     64  255,255,  0,  0,  0,  0,  0,  0, 63,248,231,255, 63,250,249,255,
     65    0,  0,  0,252,255,255,255,255,  0,240,  0,  0,  0,  0,  0,  0,
     66    0,255,  0,252,  0,  0,  0,  0,  0,255,  0,  0,  0,192,  0,240,
     67  252,255,  0,254,255,255,255,255,  0,240,255,255,255,255,255,247,
     68  191,255,255,255,255,255,255,255,  0,  0,  0,255,  0,192,255,255,
     69 };
     70 
     71 static inline uint8_t _hb_emoji_b4 (const uint8_t* a, unsigned i)
     72 {
     73  return (a[i>>1]>>((i&1)<<2))&15;
     74 }
     75 static inline uint8_t _hb_emoji_b1 (const uint8_t* a, unsigned i)
     76 {
     77  return (a[i>>3]>>((i&7)<<0))&1;
     78 }
     79 static inline uint8_t _hb_emoji_is_Extended_Pictographic (unsigned u)
     80 {
     81  return u<131070 ? _hb_emoji_b1(_hb_emoji_u8+224u,((_hb_emoji_u8[64u+((_hb_emoji_b4(_hb_emoji_u8,((((u)>>6))>>4)))<<4)+((((u)>>6))&15)])<<6)+((u)&63)) : 0;
     82 }
     83 
     84 
     85 #endif /* HB_UNICODE_EMOJI_TABLE_HH */
     86 
     87 /* == End of generated table == */