Coverage Report

Created: 2026-03-31 11:00

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/work/workdir/UnpackedTarball/harfbuzz/src/hb-unicode-emoji-table.hh
Line
Count
Source
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
    1,  0,  0,  0, 50,  4,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0,
31
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
32
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
33
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,118,152,
34
    0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
35
    0,  0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
36
    3,  4,  0,  0,  5,  0,  6,  0,  0,  0,  0,  0,  7,  0,  0,  8,
37
    0,  0,  0,  9,  0,  0, 10, 11, 12, 13, 14, 15, 16, 17, 18,  0,
38
    0,  0,  0,  0, 19,  0,  0,  0,  0,  0,  0,  0, 20, 21,  0,  0,
39
   22,  0,  0,  0,  0,  0,  0,  0,  0,  0, 23,  0,  0,  0,  0,  0,
40
   24,  0, 25, 26,  0, 27, 28, 29, 30, 31,  1,  1, 32,  1, 33, 34,
41
    1,  1,  1, 35, 36, 37, 38, 39,  1, 40,  1, 41,  0,  0,  0, 42,
42
   43, 44, 45, 46, 47, 48,  1,  1,  0, 49,  1,  1,  0,  0,  0,  0,
43
    1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,  1,
44
    0,  0,  0,  0,  0,  0,  0,  0,255,255,255,255,255,255,255,255,
45
    0,  0,  0,  0,  0, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0, 16,
46
    0,  2,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  4,  0,  0,  2,
47
    0,  0,240,  3,  0,  6,  0,  0,  0,  0,  0, 12,  0,  1,  0,  0,
48
    0,128,  0,  0,  0,254, 15,  7,  4,  0,  0,  0,  0,  0,  0,  0,
49
    0,  0,  0,  0,  0, 12, 64,  0,  1,  0,  0,  0,  0,  0,  0,120,
50
   31, 64, 50, 33, 77,196,  0,  7,  5,255, 15,128,105,  1,  0,200,
51
    0,  0,252, 26,131, 12,  3, 96, 48,193, 26,  0,  0,  6,191, 39,
52
   36,191, 84, 32,  2,  1, 24,  0,144, 80,184,  0, 24,  0,  0,  0,
53
    0,  0,224,  0,  2,  0,  1,128,  0,  0,  0,  0,  0,  0, 48,  0,
54
  224,  0,  0, 24,  0,  0,  0,  0,  0,  0, 33,  0,  0,  0,  0,  0,
55
    0,  0,  0,  0,  0,  0,  1, 32,  0,  0,128,  2,  0,  0,  0,  0,
56
   16,  0,  0,  0,  0,240,  0,  0,  0,  0,240,255,  0,128,  1,  0,
57
    1,128,  1,  0,  0,  0,192,255,  0,  0,  0,  0,  0,  0,  3,192,
58
    0, 64,254,  7,  0,192,255,255,255,255,255,255, 63,  0,  0,  0,
59
  254,255,  0,  4,  0,128,252,247,  0,254,255,255,192,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
2.79k
{
73
2.79k
  return (a[i>>1]>>((i&1)<<2))&15;
74
2.79k
}
75
static inline uint8_t _hb_emoji_b1 (const uint8_t* a, unsigned i)
76
2.79k
{
77
2.79k
  return (a[i>>3]>>((i&7)<<0))&1;
78
2.79k
}
79
static inline uint8_t _hb_emoji_is_Extended_Pictographic (unsigned u)
80
2.92k
{
81
  /* packtab: [2^4,2^4,2^6] */
82
2.92k
  return u<131070u ? (uint8_t)(_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;
83
2.92k
}
84
85
86
#endif /* HB_UNICODE_EMOJI_TABLE_HH */
87
88
/* == End of generated table == */