Coverage Report

Created: 2026-06-30 06:15

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/harfbuzz/src/hb-subset-table-var.cc
Line
Count
Source
1
#include "hb-subset-table.hh"
2
3
#include "hb-ot-var-hvar-table.hh"
4
#include "hb-ot-var-gvar-table.hh"
5
#include "hb-ot-var-fvar-table.hh"
6
#include "hb-ot-var-avar-table.hh"
7
#include "hb-ot-var-cvar-table.hh"
8
#include "hb-ot-var-mvar-table.hh"
9
10
bool _hb_subset_table_var   (hb_subset_plan_t *plan, hb_vector_t<char> &buf, hb_tag_t tag, bool *success)
11
253k
{
12
253k
#ifndef HB_NO_VAR
13
253k
  switch (tag)
14
253k
  {
15
3.41k
  case HB_TAG('H','V','A','R'): *success = _hb_subset_table<const OT::HVAR> (plan, buf); return true;
16
140
  case HB_TAG('V','V','A','R'): *success = _hb_subset_table<const OT::VVAR> (plan, buf); return true;
17
1.73k
  case HB_TAG('g','v','a','r'): *success = _hb_subset_table<const OT::gvar> (plan, buf); return true;
18
3.70k
  case HB_TAG('f','v','a','r'):
19
3.70k
    if (plan->user_axes_location.is_empty ())
20
2.57k
      *success = _hb_subset_table_passthrough (plan, tag);
21
1.13k
    else
22
1.13k
      *success = _hb_subset_table<const OT::fvar> (plan, buf);
23
3.70k
    return true;
24
746
  case HB_TAG('a','v','a','r'):
25
746
    if (plan->user_axes_location.is_empty ())
26
561
      *success = _hb_subset_table_passthrough (plan, tag);
27
185
    else
28
185
      *success = _hb_subset_table<const OT::avar> (plan, buf);
29
746
    return true;
30
35
  case HB_TAG('c','v','a','r'):
31
35
    if (plan->user_axes_location.is_empty ())
32
15
      *success = _hb_subset_table_passthrough (plan, tag);
33
20
    else
34
20
      *success = _hb_subset_table<const OT::cvar> (plan, buf);
35
35
    return true;
36
891
  case HB_TAG('M','V','A','R'):
37
891
    if (plan->user_axes_location.is_empty ())
38
652
      *success = _hb_subset_table_passthrough (plan, tag);
39
239
    else
40
239
      *success = _hb_subset_table<const OT::MVAR> (plan, buf);
41
891
    return true;
42
253k
  }
43
242k
#endif
44
242k
  return false;
45
253k
}