drop dotsection as hint along with test case
This commit is contained in:
parent
072c7aba92
commit
b67a7c731f
|
@ -857,6 +857,10 @@ struct SubrSubsetter
|
||||||
drop.ends_in_hint = true;
|
drop.ends_in_hint = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case OpCode_dotsection:
|
||||||
|
str.values[pos].set_drop ();
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* NONE */
|
/* NONE */
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -283,6 +283,7 @@ struct CFF1CSOpSet_Flatten : CFF1CSOpSet<CFF1CSOpSet_Flatten, FlattenParam>
|
||||||
case OpCode_vstemhm:
|
case OpCode_vstemhm:
|
||||||
case OpCode_hintmask:
|
case OpCode_hintmask:
|
||||||
case OpCode_cntrmask:
|
case OpCode_cntrmask:
|
||||||
|
case OpCode_dotsection:
|
||||||
if (param.drop_hints)
|
if (param.drop_hints)
|
||||||
{
|
{
|
||||||
env.clear_args ();
|
env.clear_args ();
|
||||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -266,6 +266,26 @@ test_subset_cff1_seac (void)
|
||||||
hb_face_destroy (face);
|
hb_face_destroy (face);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
test_subset_cff1_dotsection (void)
|
||||||
|
{
|
||||||
|
hb_face_t *face = hb_test_open_font_file ("fonts/cff1_dotsect.otf");
|
||||||
|
hb_face_t *face_subset = hb_test_open_font_file ("fonts/cff1_dotsect.nohints.otf");
|
||||||
|
|
||||||
|
hb_set_t *codepoints = hb_set_create ();
|
||||||
|
hb_set_add (codepoints, 0x69); /* i */
|
||||||
|
hb_subset_input_t *input = hb_subset_test_create_input (codepoints);
|
||||||
|
hb_subset_input_set_drop_hints (input, true);
|
||||||
|
hb_face_t *face_test = hb_subset_test_create_subset (face, input);
|
||||||
|
hb_set_destroy (codepoints);
|
||||||
|
|
||||||
|
hb_subset_test_check (face_subset, face_test, HB_TAG ('C','F','F',' '));
|
||||||
|
|
||||||
|
hb_face_destroy (face_test);
|
||||||
|
hb_face_destroy (face_subset);
|
||||||
|
hb_face_destroy (face);
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
@ -282,6 +302,7 @@ main (int argc, char **argv)
|
||||||
hb_test_add (test_subset_cff1_j_desubr_strip_hints);
|
hb_test_add (test_subset_cff1_j_desubr_strip_hints);
|
||||||
hb_test_add (test_subset_cff1_expert);
|
hb_test_add (test_subset_cff1_expert);
|
||||||
hb_test_add (test_subset_cff1_seac);
|
hb_test_add (test_subset_cff1_seac);
|
||||||
|
hb_test_add (test_subset_cff1_dotsection);
|
||||||
|
|
||||||
return hb_test_run ();
|
return hb_test_run ();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue