unsigned int *range_start, /* OUT. May be NULL */
unsigned int *range_end /* OUT. May be NULL */)
{
+ bool ret = false;
const OT::GPOS &gpos = _get_gpos (face);
unsigned int num_features = gpos.get_feature_count ();
const OT::FeatureParamsSize ¶ms = f.get_feature_params ().u.size;
#define PARAM(a, A) if (a) *a = params.A
+ if (!params.designSize)
+ goto zero_all;
PARAM (design_size, designSize);
+ if (!params.subfamilyID)
+ {
+ ret = true;
+ goto zero_most;
+ };
PARAM (subfamily_id, subfamilyID);
PARAM (subfamily_name_id, subfamilyNameID);
PARAM (range_start, rangeStart);
}
#define PARAM(a, A) if (a) *a = 0
+zero_all:
PARAM (design_size, designSize);
+zero_most:
PARAM (subfamily_id, subfamilyID);
PARAM (subfamily_name_id, subfamilyNameID);
PARAM (range_start, rangeStart);
PARAM (range_end, rangeEnd);
#undef PARAM
- return false;
+ return ret;
}