[instancer] bug fix for COLRv1, add missing mapping to VarIdx::NO_VARIATION

cff2-instancing-try2
Qunxin Liu 9 months ago committed by Behdad Esfahbod
parent b74a7ecc93
commit 7975c9cabd
  1. 17
      src/hb-subset-plan.cc
  2. BIN
      test/subset/data/expected/instantiate_colrv1/Foldit.default.41.wght=300-600.ttf
  3. BIN
      test/subset/data/expected/instantiate_colrv1/Foldit.default.41.wght=900.ttf
  4. BIN
      test/subset/data/expected/instantiate_colrv1/KalniaGlaze.default.41.wght=300-600.ttf
  5. BIN
      test/subset/data/expected/instantiate_colrv1/KalniaGlaze.default.41.wght=900.ttf
  6. BIN
      test/subset/data/expected/instantiate_colrv1/KalniaGlaze.default.all.wght=300-600.ttf
  7. BIN
      test/subset/data/expected/instantiate_colrv1/KalniaGlaze.default.all.wght=900.ttf
  8. BIN
      test/subset/data/fonts/KalniaGlaze.ttf
  9. 2
      test/subset/data/tests/instantiate_colrv1.tests

@ -527,11 +527,20 @@ _remap_colrv1_delta_set_index_indices (const OT::DeltaSetIndexMap &index_map,
for (unsigned delta_set_idx : delta_set_idxes)
{
unsigned var_idx = index_map.map (delta_set_idx);
hb_pair_t<unsigned, int> *new_varidx_delta;
if (!variation_idx_delta_map.has (var_idx, &new_varidx_delta)) continue;
unsigned new_varidx = HB_OT_LAYOUT_NO_VARIATIONS_INDEX;
int delta = 0;
if (var_idx != HB_OT_LAYOUT_NO_VARIATIONS_INDEX)
{
hb_pair_t<unsigned, int> *new_varidx_delta;
if (!variation_idx_delta_map.has (var_idx, &new_varidx_delta)) continue;
new_varidx = hb_first (*new_varidx_delta);
delta = hb_second (*new_varidx_delta);
}
new_deltaset_idx_varidx_map.set (new_delta_set_idx, hb_first (*new_varidx_delta));
delta_set_idx_delta_map.set (delta_set_idx, hb_pair_t<unsigned, int> (new_delta_set_idx, hb_second (*new_varidx_delta)));
new_deltaset_idx_varidx_map.set (new_delta_set_idx, new_varidx);
delta_set_idx_delta_map.set (delta_set_idx, hb_pair_t<unsigned, int> (new_delta_set_idx, delta));
new_delta_set_idx++;
}
variation_idx_delta_map = std::move (delta_set_idx_delta_map);

@ -1,10 +1,12 @@
FONTS:
Foldit.ttf
KalniaGlaze.ttf
PROFILES:
default.txt
SUBSETS:
A
*
INSTANCES:

Loading…
Cancel
Save