Coverage Report

Created: 2026-10-16 07:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/harfbuzz/src/OT/Layout/Common/Coverage.hh
Line
Count
Source
1
/*
2
 * Copyright © 2007,2008,2009  Red Hat, Inc.
3
 * Copyright © 2010,2012  Google, Inc.
4
 *
5
 *  This is part of HarfBuzz, a text shaping library.
6
 *
7
 * Permission is hereby granted, without written agreement and without
8
 * license or royalty fees, to use, copy, modify, and distribute this
9
 * software and its documentation for any purpose, provided that the
10
 * above copyright notice and the following two paragraphs appear in
11
 * all copies of this software.
12
 *
13
 * IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
14
 * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
15
 * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
16
 * IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
17
 * DAMAGE.
18
 *
19
 * THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
20
 * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
21
 * FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
22
 * ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
23
 * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
24
 *
25
 * Red Hat Author(s): Behdad Esfahbod
26
 * Google Author(s): Behdad Esfahbod, Garret Rieger
27
 */
28
29
#ifndef OT_LAYOUT_COMMON_COVERAGE_HH
30
#define OT_LAYOUT_COMMON_COVERAGE_HH
31
32
#include "../../../hb-ot-dual.hh"
33
#include "CoverageFormat1.hh"
34
#include "CoverageFormat2.hh"
35
36
namespace OT {
37
namespace Layout {
38
namespace Common {
39
40
template<typename Iterator>
41
static inline void Coverage_serialize (hb_serialize_context_t *c,
42
                                       Iterator it);
43
44
struct Coverage
45
{
46
47
  protected:
48
  union {
49
  struct { HBUINT16 v; }        format;         /* Format identifier */
50
  CoverageFormat1_3<SmallTypes> format1;
51
  CoverageFormat2_4<SmallTypes> format2;
52
#ifndef HB_NO_BEYOND_64K
53
  CoverageFormat1_3<MediumTypes>format3;
54
  CoverageFormat2_4<MediumTypes>format4;
55
#endif
56
  } u;
57
  public:
58
  DEFINE_SIZE_UNION (2, format.v);
59
60
#ifndef HB_OPTIMIZE_SIZE
61
  HB_ALWAYS_INLINE
62
#endif
63
  bool sanitize (hb_sanitize_context_t *c) const
64
869k
  {
65
869k
    TRACE_SANITIZE (this);
66
869k
    if (!u.format.v.sanitize (c)) return_trace (false);
67
867k
    hb_barrier ();
68
867k
    switch (u.format.v)
69
867k
    {
70
476k
    case 1: hb_barrier (); return_trace (u.format1.sanitize (c));
71
192k
    case 2: hb_barrier (); return_trace (u.format2.sanitize (c));
72
0
#ifndef HB_NO_BEYOND_64K
73
10.8k
    case 3: hb_barrier (); return_trace (u.format3.sanitize (c));
74
17.3k
    case 4: hb_barrier (); return_trace (u.format4.sanitize (c));
75
0
#endif
76
170k
    default:return_trace (true);
77
867k
    }
78
867k
  }
79
80
  /* Has interface. */
81
1.11M
  unsigned operator [] (hb_codepoint_t k) const { return get (k); }
82
1.11M
  bool has (hb_codepoint_t k) const { return (*this)[k] != NOT_COVERED; }
83
  /* Predicate. */
84
0
  bool operator () (hb_codepoint_t k) const { return has (k); }
85
86
1.11M
  unsigned int get (hb_codepoint_t k) const { return get_coverage (k); }
87
  unsigned int get_coverage (hb_codepoint_t glyph_id) const
88
176M
  {
89
176M
    switch (u.format.v) {
90
104M
    case 1: hb_barrier (); return u.format1.get_coverage (glyph_id);
91
66.9M
    case 2: hb_barrier (); return u.format2.get_coverage (glyph_id);
92
0
#ifndef HB_NO_BEYOND_64K
93
253k
    case 3: hb_barrier (); return u.format3.get_coverage (glyph_id);
94
3.24M
    case 4: hb_barrier (); return u.format4.get_coverage (glyph_id);
95
0
#endif
96
1.80M
    default:return NOT_COVERED;
97
176M
    }
98
176M
  }
99
  unsigned int get_coverage (hb_codepoint_t glyph_id,
100
           hb_ot_layout_mapping_cache_t *cache) const
101
14.7M
  {
102
14.7M
    unsigned coverage;
103
14.7M
    if (cache && cache->get (glyph_id, &coverage)) return coverage < cache->MAX_VALUE ? coverage : NOT_COVERED;
104
2.28M
    coverage = get_coverage (glyph_id);
105
2.28M
    if (cache) {
106
1.83M
      if (coverage == NOT_COVERED)
107
1.26M
  cache->set (glyph_id, cache->MAX_VALUE);
108
568k
      else if (likely (coverage < cache->MAX_VALUE))
109
281k
  cache->set (glyph_id, coverage);
110
1.83M
    }
111
2.28M
    return coverage;
112
14.7M
  }
113
114
  unsigned int get_coverage_binary (hb_codepoint_t glyph_id,
115
            hb_ot_layout_binary_cache_t *cache) const
116
12.3M
  {
117
12.3M
    unsigned coverage;
118
12.3M
    if (cache && cache->get (glyph_id, &coverage)) return coverage < cache->MAX_VALUE ? coverage : NOT_COVERED;
119
5.74M
    coverage = get_coverage (glyph_id);
120
5.74M
    if (cache) {
121
4.82M
      if (coverage == NOT_COVERED)
122
2.94M
  cache->set (glyph_id, cache->MAX_VALUE);
123
1.87M
      else
124
1.87M
  cache->set (glyph_id, 0);
125
4.82M
    }
126
5.74M
    return coverage;
127
12.3M
  }
128
129
  unsigned get_population () const
130
177k
  {
131
177k
    switch (u.format.v) {
132
145k
    case 1: hb_barrier (); return u.format1.get_population ();
133
27.3k
    case 2: hb_barrier (); return u.format2.get_population ();
134
0
#ifndef HB_NO_BEYOND_64K
135
3.40k
    case 3: hb_barrier (); return u.format3.get_population ();
136
1.11k
    case 4: hb_barrier (); return u.format4.get_population ();
137
0
#endif
138
234
    default:return NOT_COVERED;
139
177k
    }
140
177k
  }
141
142
  template <typename Iterator,
143
      hb_requires (hb_is_sorted_source_of (Iterator, hb_codepoint_t))>
144
  bool serialize (hb_serialize_context_t *c, Iterator glyphs)
145
155k
  {
146
155k
    TRACE_SERIALIZE (this);
147
155k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
153k
    unsigned count = hb_len (+ glyphs);
150
153k
    unsigned num_ranges = 0;
151
153k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
153k
    hb_codepoint_t max = 0;
153
153k
    bool unsorted = false;
154
153k
    for (auto g: + glyphs)
155
147M
    {
156
147M
      if (last != (hb_codepoint_t) -2 && g < last)
157
1.54M
  unsorted = true;
158
147M
      if (last + 1 != g)
159
146M
  num_ranges++;
160
147M
      last = g;
161
147M
      if (g > max) max = g;
162
147M
    }
163
153k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
153k
#ifndef HB_NO_BEYOND_64K
166
153k
    if (max > 0xFFFFu)
167
46
      u.format.v += 2;
168
153k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
46
    {
173
46
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
46
      return_trace (false);
175
46
    }
176
177
153k
    switch (u.format.v)
178
153k
    {
179
129k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
24.8k
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
153k
    }
187
153k
  }
Unexecuted instantiation: _ZN2OT6Layout6Common8Coverage9serializeI17hb_sorted_array_tIKjETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS8_18is_sorted_iteratorEvE4typeELPv0EEEbP22hb_serialize_context_tS8_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: _ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSE_18is_sorted_iteratorEvE4typeELSB_0EEEbP22hb_serialize_context_tSE_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-aat-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-face.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-math.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_I13hb_zip_iter_tI15hb_range_iter_tIjjENS2_6iter_tEERK3$_6L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK4$_17LSF_0EERK8hb_map_tLSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tST_
hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tI17hb_sorted_array_tINS_11HBGlyphID16EE10hb_array_tIS7_EERK3$_7L24hb_function_sortedness_t1ELPv0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSJ_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSJ_
Line
Count
Source
145
1.00k
  {
146
1.00k
    TRACE_SERIALIZE (this);
147
1.00k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.00k
    unsigned count = hb_len (+ glyphs);
150
1.00k
    unsigned num_ranges = 0;
151
1.00k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.00k
    hb_codepoint_t max = 0;
153
1.00k
    bool unsorted = false;
154
1.00k
    for (auto g: + glyphs)
155
45.0k
    {
156
45.0k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
45.0k
      if (last + 1 != g)
159
22.2k
  num_ranges++;
160
45.0k
      last = g;
161
45.0k
      if (g > max) max = g;
162
45.0k
    }
163
1.00k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.00k
#ifndef HB_NO_BEYOND_64K
166
1.00k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.00k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.00k
    switch (u.format.v)
178
1.00k
    {
179
693
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
316
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.00k
    }
187
1.00k
  }
_ZN2OT6Layout6Common8Coverage9serializeI17hb_sorted_array_tINS_11HBGlyphID16EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS8_18is_sorted_iteratorEvE4typeELPv0EEEbP22hb_serialize_context_tS8_
Line
Count
Source
145
1.21k
  {
146
1.21k
    TRACE_SERIALIZE (this);
147
1.21k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.19k
    unsigned count = hb_len (+ glyphs);
150
1.19k
    unsigned num_ranges = 0;
151
1.19k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.19k
    hb_codepoint_t max = 0;
153
1.19k
    bool unsorted = false;
154
1.19k
    for (auto g: + glyphs)
155
7.71k
    {
156
7.71k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
7.71k
      if (last + 1 != g)
159
6.82k
  num_ranges++;
160
7.71k
      last = g;
161
7.71k
      if (g > max) max = g;
162
7.71k
    }
163
1.19k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.19k
#ifndef HB_NO_BEYOND_64K
166
1.19k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.19k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.19k
    switch (u.format.v)
178
1.19k
    {
179
1.19k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
0
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.19k
    }
187
1.19k
  }
Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-shaper-arabic.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-ot-shape-fallback.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Unexecuted instantiation: hb-subset-serialize.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK3$_8LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK3$_8LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK3$_8LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: gsubgpos-context.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK3$_8LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
_ZN2OT6Layout6Common8Coverage9serializeI17hb_sorted_array_tIKjETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS8_18is_sorted_iteratorEvE4typeELPv0EEEbP22hb_serialize_context_tS8_
Line
Count
Source
145
102k
  {
146
102k
    TRACE_SERIALIZE (this);
147
102k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
100k
    unsigned count = hb_len (+ glyphs);
150
100k
    unsigned num_ranges = 0;
151
100k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
100k
    hb_codepoint_t max = 0;
153
100k
    bool unsorted = false;
154
100k
    for (auto g: + glyphs)
155
147M
    {
156
147M
      if (last != (hb_codepoint_t) -2 && g < last)
157
1.52M
  unsorted = true;
158
147M
      if (last + 1 != g)
159
146M
  num_ranges++;
160
147M
      last = g;
161
147M
      if (g > max) max = g;
162
147M
    }
163
100k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
100k
#ifndef HB_NO_BEYOND_64K
166
100k
    if (max > 0xFFFFu)
167
24
      u.format.v += 2;
168
100k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
24
    {
173
24
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
24
      return_trace (false);
175
24
    }
176
177
100k
    switch (u.format.v)
178
100k
    {
179
84.2k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
16.2k
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
100k
    }
187
100k
  }
_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSE_18is_sorted_iteratorEvE4typeELSB_0EEEbP22hb_serialize_context_tSE_
Line
Count
Source
145
8.90k
  {
146
8.90k
    TRACE_SERIALIZE (this);
147
8.90k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
8.90k
    unsigned count = hb_len (+ glyphs);
150
8.90k
    unsigned num_ranges = 0;
151
8.90k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
8.90k
    hb_codepoint_t max = 0;
153
8.90k
    bool unsorted = false;
154
8.90k
    for (auto g: + glyphs)
155
11.0k
    {
156
11.0k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
11.0k
      if (last + 1 != g)
159
9.40k
  num_ranges++;
160
11.0k
      last = g;
161
11.0k
      if (g > max) max = g;
162
11.0k
    }
163
8.90k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
8.90k
#ifndef HB_NO_BEYOND_64K
166
8.90k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
8.90k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
8.90k
    switch (u.format.v)
178
8.90k
    {
179
8.84k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
64
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
8.90k
    }
187
8.90k
  }
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_20LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Line
Count
Source
145
9.26k
  {
146
9.26k
    TRACE_SERIALIZE (this);
147
9.26k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
9.26k
    unsigned count = hb_len (+ glyphs);
150
9.26k
    unsigned num_ranges = 0;
151
9.26k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
9.26k
    hb_codepoint_t max = 0;
153
9.26k
    bool unsorted = false;
154
9.26k
    for (auto g: + glyphs)
155
20.2k
    {
156
20.2k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
20.2k
      if (last + 1 != g)
159
12.2k
  num_ranges++;
160
20.2k
      last = g;
161
20.2k
      if (g > max) max = g;
162
20.2k
    }
163
9.26k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
9.26k
#ifndef HB_NO_BEYOND_64K
166
9.26k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
9.26k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
9.26k
    switch (u.format.v)
178
9.26k
    {
179
8.83k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
433
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
9.26k
    }
187
9.26k
  }
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_20LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Line
Count
Source
145
565
  {
146
565
    TRACE_SERIALIZE (this);
147
565
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
565
    unsigned count = hb_len (+ glyphs);
150
565
    unsigned num_ranges = 0;
151
565
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
565
    hb_codepoint_t max = 0;
153
565
    bool unsorted = false;
154
565
    for (auto g: + glyphs)
155
5.53k
    {
156
5.53k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
5.53k
      if (last + 1 != g)
159
1.64k
  num_ranges++;
160
5.53k
      last = g;
161
5.53k
      if (g > max) max = g;
162
5.53k
    }
163
565
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
565
#ifndef HB_NO_BEYOND_64K
166
565
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
565
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
565
    switch (u.format.v)
178
565
    {
179
491
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
74
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
565
    }
187
565
  }
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Line
Count
Source
145
5
  {
146
5
    TRACE_SERIALIZE (this);
147
5
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
5
    unsigned count = hb_len (+ glyphs);
150
5
    unsigned num_ranges = 0;
151
5
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
5
    hb_codepoint_t max = 0;
153
5
    bool unsorted = false;
154
5
    for (auto g: + glyphs)
155
5
    {
156
5
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
5
      if (last + 1 != g)
159
5
  num_ranges++;
160
5
      last = g;
161
5
      if (g > max) max = g;
162
5
    }
163
5
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
5
#ifndef HB_NO_BEYOND_64K
166
5
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
5
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
5
    switch (u.format.v)
178
5
    {
179
5
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
0
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
5
    }
187
5
  }
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Line
Count
Source
145
5
  {
146
5
    TRACE_SERIALIZE (this);
147
5
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
5
    unsigned count = hb_len (+ glyphs);
150
5
    unsigned num_ranges = 0;
151
5
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
5
    hb_codepoint_t max = 0;
153
5
    bool unsorted = false;
154
5
    for (auto g: + glyphs)
155
10
    {
156
10
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
10
      if (last + 1 != g)
159
10
  num_ranges++;
160
10
      last = g;
161
10
      if (g > max) max = g;
162
10
    }
163
5
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
5
#ifndef HB_NO_BEYOND_64K
166
5
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
5
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
5
    switch (u.format.v)
178
5
    {
179
5
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
0
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
5
    }
187
5
  }
Unexecuted instantiation: hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_20LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Line
Count
Source
145
735
  {
146
735
    TRACE_SERIALIZE (this);
147
735
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
735
    unsigned count = hb_len (+ glyphs);
150
735
    unsigned num_ranges = 0;
151
735
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
735
    hb_codepoint_t max = 0;
153
735
    bool unsorted = false;
154
735
    for (auto g: + glyphs)
155
258
    {
156
258
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
258
      if (last + 1 != g)
159
221
  num_ranges++;
160
258
      last = g;
161
258
      if (g > max) max = g;
162
258
    }
163
735
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
735
#ifndef HB_NO_BEYOND_64K
166
735
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
735
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
735
    switch (u.format.v)
178
735
    {
179
732
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
3
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
735
    }
187
735
  }
hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_20LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Line
Count
Source
145
351
  {
146
351
    TRACE_SERIALIZE (this);
147
351
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
351
    unsigned count = hb_len (+ glyphs);
150
351
    unsigned num_ranges = 0;
151
351
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
351
    hb_codepoint_t max = 0;
153
351
    bool unsorted = false;
154
351
    for (auto g: + glyphs)
155
500
    {
156
500
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
500
      if (last + 1 != g)
159
420
  num_ranges++;
160
500
      last = g;
161
500
      if (g > max) max = g;
162
500
    }
163
351
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
351
#ifndef HB_NO_BEYOND_64K
166
351
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
351
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
351
    switch (u.format.v)
178
351
    {
179
350
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
1
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
351
    }
187
351
  }
Unexecuted instantiation: hb-subset.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-subset-plan.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_I13hb_zip_iter_tI15hb_range_iter_tIjjENS2_6iter_tEERK3$_6L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_9LSF_0EERK8hb_map_tLSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Unexecuted instantiation: hb-subset-plan-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_I13hb_zip_iter_tI15hb_range_iter_tIjjENS2_6iter_tEERK3$_6L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK4$_17LSF_0EERK8hb_map_tLSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Line
Count
Source
145
12.8k
  {
146
12.8k
    TRACE_SERIALIZE (this);
147
12.8k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
12.8k
    unsigned count = hb_len (+ glyphs);
150
12.8k
    unsigned num_ranges = 0;
151
12.8k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
12.8k
    hb_codepoint_t max = 0;
153
12.8k
    bool unsorted = false;
154
12.8k
    for (auto g: + glyphs)
155
292k
    {
156
292k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
292k
      if (last + 1 != g)
159
110k
  num_ranges++;
160
292k
      last = g;
161
292k
      if (g > max) max = g;
162
292k
    }
163
12.8k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
12.8k
#ifndef HB_NO_BEYOND_64K
166
12.8k
    if (max > 0xFFFFu)
167
6
      u.format.v += 2;
168
12.8k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
6
    {
173
6
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
6
      return_trace (false);
175
6
    }
176
177
12.8k
    switch (u.format.v)
178
12.8k
    {
179
10.7k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
2.05k
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
12.8k
    }
187
12.8k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Line
Count
Source
145
5.14k
  {
146
5.14k
    TRACE_SERIALIZE (this);
147
5.14k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
5.14k
    unsigned count = hb_len (+ glyphs);
150
5.14k
    unsigned num_ranges = 0;
151
5.14k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
5.14k
    hb_codepoint_t max = 0;
153
5.14k
    bool unsorted = false;
154
5.14k
    for (auto g: + glyphs)
155
69.4k
    {
156
69.4k
      if (last != (hb_codepoint_t) -2 && g < last)
157
1.50k
  unsorted = true;
158
69.4k
      if (last + 1 != g)
159
47.7k
  num_ranges++;
160
69.4k
      last = g;
161
69.4k
      if (g > max) max = g;
162
69.4k
    }
163
5.14k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
5.14k
#ifndef HB_NO_BEYOND_64K
166
5.14k
    if (max > 0xFFFFu)
167
6
      u.format.v += 2;
168
5.14k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
6
    {
173
6
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
6
      return_trace (false);
175
6
    }
176
177
5.13k
    switch (u.format.v)
178
5.13k
    {
179
4.04k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
1.09k
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
5.13k
    }
187
5.13k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl20SingleSubstFormat2_4INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Line
Count
Source
145
1.51k
  {
146
1.51k
    TRACE_SERIALIZE (this);
147
1.51k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.51k
    unsigned count = hb_len (+ glyphs);
150
1.51k
    unsigned num_ranges = 0;
151
1.51k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.51k
    hb_codepoint_t max = 0;
153
1.51k
    bool unsorted = false;
154
1.51k
    for (auto g: + glyphs)
155
16.8k
    {
156
16.8k
      if (last != (hb_codepoint_t) -2 && g < last)
157
4.33k
  unsorted = true;
158
16.8k
      if (last + 1 != g)
159
15.0k
  num_ranges++;
160
16.8k
      last = g;
161
16.8k
      if (g > max) max = g;
162
16.8k
    }
163
1.51k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.51k
#ifndef HB_NO_BEYOND_64K
166
1.51k
    if (max > 0xFFFFu)
167
1
      u.format.v += 2;
168
1.51k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
1
    {
173
1
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
1
      return_trace (false);
175
1
    }
176
177
1.51k
    switch (u.format.v)
178
1.51k
    {
179
960
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
554
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.51k
    }
187
1.51k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID16EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_10SmallTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
Line
Count
Source
145
1.25k
  {
146
1.25k
    TRACE_SERIALIZE (this);
147
1.25k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.25k
    unsigned count = hb_len (+ glyphs);
150
1.25k
    unsigned num_ranges = 0;
151
1.25k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.25k
    hb_codepoint_t max = 0;
153
1.25k
    bool unsorted = false;
154
1.25k
    for (auto g: + glyphs)
155
36.4k
    {
156
36.4k
      if (last != (hb_codepoint_t) -2 && g < last)
157
1.04k
  unsorted = true;
158
36.4k
      if (last + 1 != g)
159
9.43k
  num_ranges++;
160
36.4k
      last = g;
161
36.4k
      if (g > max) max = g;
162
36.4k
    }
163
1.25k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.25k
#ifndef HB_NO_BEYOND_64K
166
1.25k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.25k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.25k
    switch (u.format.v)
178
1.25k
    {
179
313
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
939
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.25k
    }
187
1.25k
  }
Unexecuted instantiation: hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS5_I13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS_11HBGlyphID24EEERK8hb_set_tRK3$_7LPv0EESF_RK3$_6LSJ_0EEZNKS0_9GSUB_impl32ReverseChainSingleSubstFormat1_2INS0_11MediumTypesEE6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSA_EE_L24hb_function_sortedness_t1ELSJ_0EESI_LSZ_1ELSJ_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS13_18is_sorted_iteratorEvE4typeELSJ_0EEEbP22hb_serialize_context_tS13_
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI13hb_zip_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tERK8hb_map_tL24hb_function_sortedness_t1ELPv0EE16hb_repeat_iter_tI10hb_array_tIKNS_7NumTypeILb1EtLj2EEEEEERK3$_7LSB_1ELSC_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSR_18is_sorted_iteratorEvE4typeELSC_0EEEbP22hb_serialize_context_tSR_
Line
Count
Source
145
5.57k
  {
146
5.57k
    TRACE_SERIALIZE (this);
147
5.57k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
5.57k
    unsigned count = hb_len (+ glyphs);
150
5.57k
    unsigned num_ranges = 0;
151
5.57k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
5.57k
    hb_codepoint_t max = 0;
153
5.57k
    bool unsorted = false;
154
5.57k
    for (auto g: + glyphs)
155
74.6k
    {
156
74.6k
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
74.6k
      if (last + 1 != g)
159
17.6k
  num_ranges++;
160
74.6k
      last = g;
161
74.6k
      if (g > max) max = g;
162
74.6k
    }
163
5.57k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
5.57k
#ifndef HB_NO_BEYOND_64K
166
5.57k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
5.57k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
5.57k
    switch (u.format.v)
178
5.57k
    {
179
4.83k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
733
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
5.57k
    }
187
5.57k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EENS0_9GPOS_impl25single_pos_value_mapper_tEL24hb_function_sortedness_t1ELSH_0EESG_LSL_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSP_
Line
Count
Source
145
1.68k
  {
146
1.68k
    TRACE_SERIALIZE (this);
147
1.68k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.68k
    unsigned count = hb_len (+ glyphs);
150
1.68k
    unsigned num_ranges = 0;
151
1.68k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.68k
    hb_codepoint_t max = 0;
153
1.68k
    bool unsorted = false;
154
1.68k
    for (auto g: + glyphs)
155
30.0k
    {
156
30.0k
      if (last != (hb_codepoint_t) -2 && g < last)
157
627
  unsorted = true;
158
30.0k
      if (last + 1 != g)
159
27.2k
  num_ranges++;
160
30.0k
      last = g;
161
30.0k
      if (g > max) max = g;
162
30.0k
    }
163
1.68k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.68k
#ifndef HB_NO_BEYOND_64K
166
1.68k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.68k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.68k
    switch (u.format.v)
178
1.68k
    {
179
1.44k
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
235
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.68k
    }
187
1.68k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_10SmallTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Line
Count
Source
145
1.41k
  {
146
1.41k
    TRACE_SERIALIZE (this);
147
1.41k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.41k
    unsigned count = hb_len (+ glyphs);
150
1.41k
    unsigned num_ranges = 0;
151
1.41k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.41k
    hb_codepoint_t max = 0;
153
1.41k
    bool unsorted = false;
154
1.41k
    for (auto g: + glyphs)
155
69.7k
    {
156
69.7k
      if (last != (hb_codepoint_t) -2 && g < last)
157
3.26k
  unsorted = true;
158
69.7k
      if (last + 1 != g)
159
35.6k
  num_ranges++;
160
69.7k
      last = g;
161
69.7k
      if (g > max) max = g;
162
69.7k
    }
163
1.41k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.41k
#ifndef HB_NO_BEYOND_64K
166
1.41k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.41k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.41k
    switch (u.format.v)
178
1.41k
    {
179
557
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
857
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.41k
    }
187
1.41k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE10hb_array_tIKNS0_9GPOS_impl15EntryExitRecordINS0_11MediumTypesEEEEERK8hb_set_tRK3$_7LPv0EEZNKS9_19CursivePosFormat1_2ISB_E6subsetEP19hb_subset_context_tEUl9hb_pair_tIjRSD_EE_L24hb_function_sortedness_t1ELSM_0EESL_LSW_1ELSM_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrS10_18is_sorted_iteratorEvE4typeELSM_0EEEbP22hb_serialize_context_tS10_
Line
Count
Source
145
8
  {
146
8
    TRACE_SERIALIZE (this);
147
8
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
8
    unsigned count = hb_len (+ glyphs);
150
8
    unsigned num_ranges = 0;
151
8
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
8
    hb_codepoint_t max = 0;
153
8
    bool unsorted = false;
154
8
    for (auto g: + glyphs)
155
0
    {
156
0
      if (last != (hb_codepoint_t) -2 && g < last)
157
0
  unsorted = true;
158
0
      if (last + 1 != g)
159
0
  num_ranges++;
160
0
      last = g;
161
0
      if (g > max) max = g;
162
0
    }
163
8
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
8
#ifndef HB_NO_BEYOND_64K
166
8
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
8
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
8
    switch (u.format.v)
178
8
    {
179
8
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
0
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
8
    }
187
8
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEERK8hb_set_tRK3$_7LPv0EESG_L24hb_function_sortedness_t1ELSH_0EERK8hb_map_tLSJ_1ELSH_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSQ_18is_sorted_iteratorEvE4typeELSH_0EEEbP22hb_serialize_context_tSQ_
Line
Count
Source
145
1.58k
  {
146
1.58k
    TRACE_SERIALIZE (this);
147
1.58k
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
1.58k
    unsigned count = hb_len (+ glyphs);
150
1.58k
    unsigned num_ranges = 0;
151
1.58k
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
1.58k
    hb_codepoint_t max = 0;
153
1.58k
    bool unsorted = false;
154
1.58k
    for (auto g: + glyphs)
155
20.6k
    {
156
20.6k
      if (last != (hb_codepoint_t) -2 && g < last)
157
4.43k
  unsorted = true;
158
20.6k
      if (last + 1 != g)
159
16.0k
  num_ranges++;
160
20.6k
      last = g;
161
20.6k
      if (g > max) max = g;
162
20.6k
    }
163
1.58k
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
1.58k
#ifndef HB_NO_BEYOND_64K
166
1.58k
    if (max > 0xFFFFu)
167
0
      u.format.v += 2;
168
1.58k
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
0
    {
173
0
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
0
      return_trace (false);
175
0
    }
176
177
1.58k
    switch (u.format.v)
178
1.58k
    {
179
457
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
1.13k
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
1.58k
    }
187
1.58k
  }
hb-subset-table-layout.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_I13hb_zip_iter_tI15hb_range_iter_tIjjENS2_6iter_tEERK3$_6L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK4$_17LSF_0EERK8hb_map_tLSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tST_
Line
Count
Source
145
364
  {
146
364
    TRACE_SERIALIZE (this);
147
364
    if (unlikely (!c->extend_min (this))) return_trace (false);
148
149
363
    unsigned count = hb_len (+ glyphs);
150
363
    unsigned num_ranges = 0;
151
363
    hb_codepoint_t last = (hb_codepoint_t) -2;
152
363
    hb_codepoint_t max = 0;
153
363
    bool unsorted = false;
154
363
    for (auto g: + glyphs)
155
3.32k
    {
156
3.32k
      if (last != (hb_codepoint_t) -2 && g < last)
157
102
  unsorted = true;
158
3.32k
      if (last + 1 != g)
159
2.86k
  num_ranges++;
160
3.32k
      last = g;
161
3.32k
      if (g > max) max = g;
162
3.32k
    }
163
363
    u.format.v = !unsorted && count <= num_ranges * 3 ? 1 : 2;
164
165
363
#ifndef HB_NO_BEYOND_64K
166
363
    if (max > 0xFFFFu)
167
9
      u.format.v += 2;
168
363
    if (unlikely (max > 0xFFFFFFu))
169
#else
170
    if (unlikely (max > 0xFFFFu))
171
#endif
172
9
    {
173
9
      c->check_success (false, HB_SERIALIZE_ERROR_INT_OVERFLOW);
174
9
      return_trace (false);
175
9
    }
176
177
354
    switch (u.format.v)
178
354
    {
179
236
    case 1: hb_barrier (); return_trace (u.format1.serialize (c, glyphs));
180
118
    case 2: hb_barrier (); return_trace (u.format2.serialize (c, glyphs));
181
0
#ifndef HB_NO_BEYOND_64K
182
0
    case 3: hb_barrier (); return_trace (u.format3.serialize (c, glyphs));
183
0
    case 4: hb_barrier (); return_trace (u.format4.serialize (c, glyphs));
184
0
#endif
185
0
    default:return_trace (false);
186
354
    }
187
354
  }
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_18LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_18LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_18LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_18LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Unexecuted instantiation: hb-subset-table-var.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Unexecuted instantiation: hb-subset-table-cff.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Unexecuted instantiation: hb-subset-table-color.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage14clone_coverageERNSB_24gsubgpos_graph_context_tEjjjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph14PairPosFormat16shrinkERNSB_24gsubgpos_graph_context_tEjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_INS2_6iter_tEZNK5graph14PairPosFormat211clone_rangeERNS8_15split_context_tEjjEUljE_L24hb_function_sortedness_t1ELPv0EEZNKS8_11clone_rangeESA_jjEUljE0_RK3$_6LSD_0EEZNKS8_11clone_rangeESA_jjEUl9hb_pair_tIjjEE_LSC_1ELSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tIS4_INS2_6iter_tEZN5graph14PairPosFormat26shrinkERNS8_15split_context_tEjEUljE_L24hb_function_sortedness_t1ELPv0EEZNS8_6shrinkESA_jEUljE0_RK3$_6LSD_0EERK3$_7LSC_1ELSD_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSP_18is_sorted_iteratorEvE4typeELSD_0EEEbP22hb_serialize_context_tSP_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tI14hb_iota_iter_tIjjENS2_6iter_tEER8hb_set_tRK3$_7LPv0EERK3$_6L24hb_function_sortedness_t1ELSG_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSO_18is_sorted_iteratorEvE4typeELSG_0EEEbP22hb_serialize_context_tSO_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph8Coverage15filter_coverageERNSB_24gsubgpos_graph_context_tEjjjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSL_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrST_18is_sorted_iteratorEvE4typeELSL_0EEEbP22hb_serialize_context_tST_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tI16hb_filter_iter_tI13hb_zip_iter_tINS2_6iter_tE15hb_range_iter_tIjjEEZN5graph20LigatureSubstFormat16shrinkERNSB_24gsubgpos_graph_context_tEjj11hb_vector_tIjLb0EEjEUl9hb_pair_tIjjEE_RK4$_17LPv0EERK3$_7L24hb_function_sortedness_t1ELSN_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSV_18is_sorted_iteratorEvE4typeELSN_0EEEbP22hb_serialize_context_tSV_
Unexecuted instantiation: hb-subset-table-other.cc:_ZN2OT6Layout6Common8Coverage9serializeI13hb_map_iter_tIS4_I16hb_filter_iter_tIS4_IN23hb_bit_set_invertible_t6iter_tEZNS0_9GSUB_implL19subset_single_substEP19hb_subset_context_tRKS2_jjEUljE_L24hb_function_sortedness_t1ELPv0EERK8hb_set_tRK3$_6LSF_0EEZNS8_L19subset_single_substESA_SC_jjEUl9hb_pair_tIjjEE_LSE_1ELSF_0EERK3$_7LSE_1ELSF_0EETnPN12hb_enable_ifIXaasr15hb_is_source_ofIT_jEE5valuesrSX_18is_sorted_iteratorEvE4typeELSF_0EEEbP22hb_serialize_context_tSX_
188
189
  bool subset (hb_subset_context_t *c) const
190
70.3k
  {
191
70.3k
    TRACE_SUBSET (this);
192
70.3k
    const hb_subset_plan_t *plan = c->plan;
193
70.3k
    auto it =
194
70.3k
    + iter ()
195
70.3k
    | hb_take (plan->source->get_num_glyphs ())
196
298M
    | hb_map_retains_sorting ([plan] (hb_codepoint_t g) {
197
298M
  return plan->map_gsub_glyph (g);
198
298M
      })
199
154M
    | hb_filter ([] (hb_codepoint_t glyph) { return glyph != HB_MAP_VALUE_INVALID; })
200
70.3k
    ;
201
202
    // Cache the iterator result as it will be iterated multiple times
203
    // by the serialize code below.
204
70.3k
    hb_sorted_vector_t<hb_codepoint_t> glyphs (it);
205
70.3k
    Coverage_serialize (c->serializer, glyphs.iter ());
206
70.3k
    return_trace (bool (glyphs));
207
70.3k
  }
208
209
  bool intersects (const hb_set_t *glyphs) const
210
568k
  {
211
568k
    switch (u.format.v)
212
568k
    {
213
431k
    case 1: hb_barrier (); return u.format1.intersects (glyphs);
214
86.0k
    case 2: hb_barrier (); return u.format2.intersects (glyphs);
215
0
#ifndef HB_NO_BEYOND_64K
216
8.36k
    case 3: hb_barrier (); return u.format3.intersects (glyphs);
217
6.79k
    case 4: hb_barrier (); return u.format4.intersects (glyphs);
218
0
#endif
219
35.5k
    default:return false;
220
568k
    }
221
568k
  }
222
  bool intersects_coverage (const hb_set_t *glyphs, unsigned int index) const
223
0
  {
224
0
    switch (u.format.v)
225
0
    {
226
0
    case 1: hb_barrier (); return u.format1.intersects_coverage (glyphs, index);
227
0
    case 2: hb_barrier (); return u.format2.intersects_coverage (glyphs, index);
228
0
#ifndef HB_NO_BEYOND_64K
229
0
    case 3: hb_barrier (); return u.format3.intersects_coverage (glyphs, index);
230
0
    case 4: hb_barrier (); return u.format4.intersects_coverage (glyphs, index);
231
0
#endif
232
0
    default:return false;
233
0
    }
234
0
  }
235
236
  unsigned cost () const
237
0
  {
238
0
    switch (u.format.v) {
239
0
    case 1: hb_barrier (); return u.format1.cost ();
240
0
    case 2: hb_barrier (); return u.format2.cost ();
241
0
#ifndef HB_NO_BEYOND_64K
242
0
    case 3: hb_barrier (); return u.format3.cost ();
243
0
    case 4: hb_barrier (); return u.format4.cost ();
244
0
#endif
245
0
    default:return 0u;
246
0
    }
247
0
  }
248
249
  /* Might return false if array looks unsorted.
250
   * Used for faster rejection of corrupt data. */
251
  template <typename set_t>
252
  bool collect_coverage (set_t *glyphs) const
253
145k
  {
254
145k
    switch (u.format.v)
255
145k
    {
256
13.5k
    case 1: hb_barrier (); return u.format1.collect_coverage (glyphs);
257
54.5k
    case 2: hb_barrier (); return u.format2.collect_coverage (glyphs);
258
0
#ifndef HB_NO_BEYOND_64K
259
948
    case 3: hb_barrier (); return u.format3.collect_coverage (glyphs);
260
6.14k
    case 4: hb_barrier (); return u.format4.collect_coverage (glyphs);
261
0
#endif
262
70.1k
    default:return false;
263
145k
    }
264
145k
  }
bool OT::Layout::Common::Coverage::collect_coverage<hb_set_t>(hb_set_t*) const
Line
Count
Source
253
5.26k
  {
254
5.26k
    switch (u.format.v)
255
5.26k
    {
256
1.40k
    case 1: hb_barrier (); return u.format1.collect_coverage (glyphs);
257
860
    case 2: hb_barrier (); return u.format2.collect_coverage (glyphs);
258
0
#ifndef HB_NO_BEYOND_64K
259
131
    case 3: hb_barrier (); return u.format3.collect_coverage (glyphs);
260
60
    case 4: hb_barrier (); return u.format4.collect_coverage (glyphs);
261
0
#endif
262
2.81k
    default:return false;
263
5.26k
    }
264
5.26k
  }
bool OT::Layout::Common::Coverage::collect_coverage<hb_set_digest_t>(hb_set_digest_t*) const
Line
Count
Source
253
140k
  {
254
140k
    switch (u.format.v)
255
140k
    {
256
12.1k
    case 1: hb_barrier (); return u.format1.collect_coverage (glyphs);
257
53.6k
    case 2: hb_barrier (); return u.format2.collect_coverage (glyphs);
258
0
#ifndef HB_NO_BEYOND_64K
259
817
    case 3: hb_barrier (); return u.format3.collect_coverage (glyphs);
260
6.08k
    case 4: hb_barrier (); return u.format4.collect_coverage (glyphs);
261
0
#endif
262
67.3k
    default:return false;
263
140k
    }
264
140k
  }
265
266
  template <typename IterableOut,
267
      hb_requires (hb_is_sink_of (IterableOut, hb_codepoint_t))>
268
  void intersect_set (const hb_set_t &glyphs, IterableOut&& intersect_glyphs) const
269
218k
  {
270
218k
    switch (u.format.v)
271
218k
    {
272
174k
    case 1: hb_barrier (); return u.format1.intersect_set (glyphs, intersect_glyphs);
273
35.6k
    case 2: hb_barrier (); return u.format2.intersect_set (glyphs, intersect_glyphs);
274
0
#ifndef HB_NO_BEYOND_64K
275
3.46k
    case 3: hb_barrier (); return u.format3.intersect_set (glyphs, intersect_glyphs);
276
834
    case 4: hb_barrier (); return u.format4.intersect_set (glyphs, intersect_glyphs);
277
0
#endif
278
4.03k
    default:return ;
279
218k
    }
280
218k
  }
281
282
  struct iter_t : hb_iter_with_fallback_t<iter_t, hb_codepoint_t>
283
  {
284
    static constexpr bool is_sorted_iterator = true;
285
    iter_t (const Coverage &c_ = Null (Coverage))
286
522k
    {
287
522k
      hb_memset (this, 0, sizeof (*this));
288
522k
      format = c_.u.format.v;
289
522k
      switch (format)
290
522k
      {
291
262k
      case 1: hb_barrier (); u.format1.init (c_.u.format1); return;
292
88.2k
      case 2: hb_barrier (); u.format2.init (c_.u.format2); return;
293
0
#ifndef HB_NO_BEYOND_64K
294
5.58k
      case 3: hb_barrier (); u.format3.init (c_.u.format3); return;
295
5.86k
      case 4: hb_barrier (); u.format4.init (c_.u.format4); return;
296
0
#endif
297
160k
      default:                               return;
298
522k
      }
299
522k
    }
300
    bool __more__ () const
301
329M
    {
302
329M
      switch (format)
303
329M
      {
304
320M
      case 1: hb_barrier (); return u.format1.__more__ ();
305
5.07M
      case 2: hb_barrier (); return u.format2.__more__ ();
306
0
#ifndef HB_NO_BEYOND_64K
307
1.50M
      case 3: hb_barrier (); return u.format3.__more__ ();
308
2.12M
      case 4: hb_barrier (); return u.format4.__more__ ();
309
0
#endif
310
78.9k
      default:return false;
311
329M
      }
312
329M
    }
313
    void __next__ ()
314
174M
    {
315
174M
      switch (format)
316
174M
      {
317
168M
      case 1: hb_barrier (); u.format1.__next__ (); break;
318
3.56M
      case 2: hb_barrier (); u.format2.__next__ (); break;
319
0
#ifndef HB_NO_BEYOND_64K
320
1.17M
      case 3: hb_barrier (); u.format3.__next__ (); break;
321
2.07M
      case 4: hb_barrier (); u.format4.__next__ (); break;
322
0
#endif
323
0
      default:                   break;
324
174M
      }
325
174M
    }
326
    typedef hb_codepoint_t __item_t__;
327
330M
    __item_t__ __item__ () const { return get_glyph (); }
328
329
    hb_codepoint_t get_glyph () const
330
330M
    {
331
330M
      switch (format)
332
330M
      {
333
321M
      case 1: hb_barrier (); return u.format1.get_glyph ();
334
5.18M
      case 2: hb_barrier (); return u.format2.get_glyph ();
335
0
#ifndef HB_NO_BEYOND_64K
336
1.48M
      case 3: hb_barrier (); return u.format3.get_glyph ();
337
2.11M
      case 4: hb_barrier (); return u.format4.get_glyph ();
338
0
#endif
339
0
      default:return 0;
340
330M
      }
341
330M
    }
342
    bool operator != (const iter_t& o) const
343
2.82M
    {
344
2.82M
      if (unlikely (format != o.format)) return true;
345
2.82M
      switch (format)
346
2.82M
      {
347
2.20M
      case 1: hb_barrier (); return u.format1 != o.u.format1;
348
549k
      case 2: hb_barrier (); return u.format2 != o.u.format2;
349
0
#ifndef HB_NO_BEYOND_64K
350
26.8k
      case 3: hb_barrier (); return u.format3 != o.u.format3;
351
9.04k
      case 4: hb_barrier (); return u.format4 != o.u.format4;
352
0
#endif
353
30.9k
      default:return false;
354
2.82M
      }
355
2.82M
    }
356
    iter_t __end__ () const
357
90.8k
    {
358
90.8k
      iter_t it;
359
90.8k
      it.format = format;
360
90.8k
      switch (format)
361
90.8k
      {
362
35.3k
      case 1: hb_barrier (); it.u.format1 = u.format1.__end__ (); break;
363
22.1k
      case 2: hb_barrier (); it.u.format2 = u.format2.__end__ (); break;
364
0
#ifndef HB_NO_BEYOND_64K
365
1.09k
      case 3: hb_barrier (); it.u.format3 = u.format3.__end__ (); break;
366
1.30k
      case 4: hb_barrier (); it.u.format4 = u.format4.__end__ (); break;
367
0
#endif
368
30.9k
      default: break;
369
90.8k
      }
370
90.8k
      return it;
371
90.8k
    }
372
373
    private:
374
    unsigned int format;
375
    union {
376
#ifndef HB_NO_BEYOND_64K
377
    CoverageFormat2_4<MediumTypes>::iter_t      format4; /* Put this one first since it's larger; helps shut up compiler. */
378
    CoverageFormat1_3<MediumTypes>::iter_t      format3;
379
#endif
380
    CoverageFormat2_4<SmallTypes>::iter_t       format2; /* Put this one first since it's larger; helps shut up compiler. */
381
    CoverageFormat1_3<SmallTypes>::iter_t       format1;
382
    } u;
383
  };
384
431k
  iter_t iter () const { return iter_t (*this); }
385
};
386
387
template<typename Iterator>
388
static inline void
389
Coverage_serialize (hb_serialize_context_t *c,
390
                    Iterator it)
391
81.2k
{ c->start_embed<Coverage> ()->serialize (c, it); }
Unexecuted instantiation: hb-aat-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-aat-map.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-common.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-face.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-font.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-color.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-face.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-font.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: VARC.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-math.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-metrics.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-shape.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-var.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-cff1-table.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-cff2-table.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-shaper-arabic.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-ot-shape-fallback.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-serialize.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: gsubgpos-context.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_8 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_8 const&)0>)
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0>)
Line
Count
Source
391
9.26k
{ c->start_embed<Coverage> ()->serialize (c, it); }
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0>)
Line
Count
Source
391
565
{ c->start_embed<Coverage> ()->serialize (c, it); }
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Line
Count
Source
391
5
{ c->start_embed<Coverage> ()->serialize (c, it); }
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Line
Count
Source
391
5
{ c->start_embed<Coverage> ()->serialize (c, it); }
Unexecuted instantiation: hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0>)
Line
Count
Source
391
735
{ c->start_embed<Coverage> ()->serialize (c, it); }
hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_20 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_20 const&)0>)
Line
Count
Source
391
351
{ c->start_embed<Coverage> ()->serialize (c, it); }
Unexecuted instantiation: hb-subset.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-plan.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-plan-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-plan-var.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Line
Count
Source
391
70.3k
{ c->start_embed<Coverage> ()->serialize (c, it); }
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-layout.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_18 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_18 const&)0>)
Unexecuted instantiation: hb-subset-table-var.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-cff.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-color.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::clone_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::PairPosFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::clone_range(graph::PairPosFormat2::split_context_t&, unsigned int, unsigned int) const::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_map_iter_t<OT::Layout::Common::Coverage::iter_t, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1}, (hb_function_sortedness_t)1, (void*)0>, graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#2}, $_6 const&, (hb_function_sortedness_t)0>, $_7 const&, (graph::PairPosFormat2::shrink(graph::PairPosFormat2::split_context_t&, unsigned int)::{lambda(unsigned int)#1})1, (hb_function_sortedness_t)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, OT::Layout::Common::Coverage::iter_t>, hb_set_t&, $_7 const&, (void*)0>, $_6 const&, (hb_function_sortedness_t)1, (void*)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::Coverage::filter_coverage(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0> >(hb_serialize_context_t*, hb_map_iter_t<hb_filter_iter_t<hb_zip_iter_t<OT::Layout::Common::Coverage::iter_t, hb_range_iter_t<unsigned int, unsigned int> >, graph::LigatureSubstFormat1::shrink(graph::gsubgpos_graph_context_t&, unsigned int, unsigned int, hb_vector_t<unsigned int, false>, unsigned int)::{lambda(hb_pair_t<unsigned int, unsigned int>)#1}, $_17 const&, (void*)0>, $_7 const&, (hb_function_sortedness_t)1, ($_17 const&)0>)
Unexecuted instantiation: hb-subset-table-other.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-cff1.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-cff2.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
Unexecuted instantiation: hb-subset-cff-common.cc:void OT::Layout::Common::Coverage_serialize<hb_sorted_array_t<unsigned int const> >(hb_serialize_context_t*, hb_sorted_array_t<unsigned int const>)
392
393
}
394
}
395
}
396
397
#endif  // #ifndef OT_LAYOUT_COMMON_COVERAGE_HH