Coverage Report

Created: 2025-06-24 08:20

/src/skia/third_party/externals/harfbuzz/src/hb-unicode-emoji-table.hh
Line
Count
Source (jump to first uncovered line)
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: 2024-05-01, 21:25:24 GMT
11
 * # © 2024 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
 * # Used with Emoji Version 16.0 and subsequent minor revisions (if any)
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[464]=
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,  1,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
35
    2,  0,  3,  4,  0,  0,  5,  6,  0,  7,  0,  8,  9, 10, 11, 12,
36
    0,  0, 13,  0,  0,  0, 14,  0, 15,  0,  0,  0,  0, 16,  0,  0,
37
   17, 17, 18, 19, 20, 17, 17, 21, 17, 17, 22, 17, 23, 17, 24, 25,
38
   26, 27, 28, 17, 17, 17,  0,  0, 17, 17, 17, 17, 17, 17, 17, 29,
39
    0,  0,  0,  0,  0,  1,  0,  0,  0,  2,  3,  0,  0,  4,  0,  0,
40
    5,  6,  0,  0,  7,  8,  0,  0,  8,  0,  9, 10,  0,  0, 11,  0,
41
    0, 12, 13, 14, 15, 16, 16, 16, 17, 16, 16, 16, 18, 19, 20, 21,
42
   22, 23,  0,  0,  0, 24,  0,  0, 25,  0, 26,  0,  0, 27,  0,  0,
43
   28,  0,  0,  0, 16, 16, 16, 16, 29,  9,  0, 30, 31, 32, 16, 33,
44
   34, 35, 36, 16, 16, 16, 16, 37, 16, 38, 39, 16, 16, 16, 40,  0,
45
    0,  0,  0, 41,  0,  0, 42, 16, 43,  0, 44,  0, 45, 46, 16, 16,
46
   47, 48, 49, 16, 16, 16, 16, 38,  0,  0,  0,  0,  0, 66,  0,  0,
47
    0,  0,  0, 16,  0,  2,  0,  0,  4,  0,  0,  2,  0,  0,240,  3,
48
    0,  6,  0,  0,  0,  0,  0, 12,  0,  1,  0,  0,  0,128,  0,  0,
49
    0,254, 15,  7,  4,  0,  0,  0,  0, 12, 64,  0,  1,  0,  0,  0,
50
    0,  0,  0,120,191,255,247,255,255,255,255,255, 63,  0,255,255,
51
   63,255, 87, 32,  2,  1, 24,  0,144, 80,184,  0,248,  0,  0,  0,
52
    0,  0,224,  0,  2,  0,  1,128,  0,  0, 48,  0,224,  0,  0, 24,
53
    0,  0, 33,  0,  0,  0,  1, 32,  0,  0,128,  2,  0,224,  0,  0,
54
    0,240,  3,192,  0, 64,254,  7,  0,224,255,255, 63,  0,  0,  0,
55
  254,255,  0,  4,  0,128,252,247,  0,254,255,255,255,255,255,  7,
56
  255,255,255, 63,192,255,255,255,255,255,  0,  0,  0,  0,240,255,
57
    0,  0,224,255,  0,240,  0,  0,  0,255,  0,252,  0,255,  0,  0,
58
    0,192,255,255,  0,240,255,255,255,255,255,247,191,255,255,255,
59
};
60
61
static inline uint8_t _hb_emoji_b4 (const uint8_t* a, unsigned i)
62
0
{
63
0
  return (a[i>>1]>>((i&1)<<2))&15;
64
0
}
65
static inline uint8_t _hb_emoji_b1 (const uint8_t* a, unsigned i)
66
0
{
67
0
  return (a[i>>3]>>((i&7)<<0))&1;
68
0
}
69
static inline uint8_t _hb_emoji_is_Extended_Pictographic (unsigned u)
70
0
{
71
0
  return u<131070 ? _hb_emoji_b1(_hb_emoji_u8+264u,((_hb_emoji_u8[144u+(((_hb_emoji_u8[64u+(((_hb_emoji_b4(_hb_emoji_u8,u>>5>>2>>3))<<3)+((u>>5>>2)&7))])<<2)+((u>>5)&3))])<<5)+((u)&31)) : 0;
72
0
}
73
74
75
#endif /* HB_UNICODE_EMOJI_TABLE_HH */
76
77
/* == End of generated table == */