fix CFF2 local subr subsetting
bug exposed by impl change of fdmap also fixed name of subr_remap_ts as subr_remaps_t
This commit is contained in:
parent
a190140fa4
commit
a7b801f6d1
|
@ -572,15 +572,15 @@ struct subr_remap_t : hb_map2_t
|
|||
int bias;
|
||||
};
|
||||
|
||||
struct subr_remap_ts
|
||||
struct subr_remaps_t
|
||||
{
|
||||
subr_remap_ts ()
|
||||
subr_remaps_t ()
|
||||
{
|
||||
global_remap.init ();
|
||||
local_remaps.init ();
|
||||
}
|
||||
|
||||
~subr_remap_ts () { fini (); }
|
||||
~subr_remaps_t () { fini (); }
|
||||
|
||||
void init (unsigned int fdCount)
|
||||
{
|
||||
|
@ -996,7 +996,7 @@ struct subr_subsetter_t
|
|||
parsed_cs_str_vec_t parsed_global_subrs;
|
||||
hb_vector_t<parsed_cs_str_vec_t> parsed_local_subrs;
|
||||
|
||||
subr_remap_ts remaps;
|
||||
subr_remaps_t remaps;
|
||||
|
||||
private:
|
||||
typedef typename SUBRS::count_type subr_count_type;
|
||||
|
|
|
@ -326,18 +326,16 @@ struct cff2_subset_plan {
|
|||
{
|
||||
subset_localsubrs[fd].init ();
|
||||
offsets.localSubrsInfos[fd].init ();
|
||||
if (fdmap.has (fd))
|
||||
{
|
||||
if (!subr_subsetter.encode_localsubrs (fd, subset_localsubrs[fd]))
|
||||
return false;
|
||||
|
||||
unsigned int dataSize = subset_localsubrs[fd].total_size ();
|
||||
if (dataSize > 0)
|
||||
{
|
||||
offsets.localSubrsInfos[fd].offset = final_size;
|
||||
offsets.localSubrsInfos[fd].offSize = calcOffSize (dataSize);
|
||||
offsets.localSubrsInfos[fd].size = CFF2Subrs::calculate_serialized_size (offsets.localSubrsInfos[fd].offSize, subset_localsubrs[fd].length, dataSize);
|
||||
}
|
||||
if (!subr_subsetter.encode_localsubrs (fd, subset_localsubrs[fd]))
|
||||
return false;
|
||||
|
||||
unsigned int dataSize = subset_localsubrs[fd].total_size ();
|
||||
if (dataSize > 0)
|
||||
{
|
||||
offsets.localSubrsInfos[fd].offset = final_size;
|
||||
offsets.localSubrsInfos[fd].offSize = calcOffSize (dataSize);
|
||||
offsets.localSubrsInfos[fd].size = CFF2Subrs::calculate_serialized_size (offsets.localSubrsInfos[fd].offSize, subset_localsubrs[fd].length, dataSize);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue