rem: get_design_size(const OpenType::Font &otf)
add: get_design_size(const FontInfo &finfo)
context: get_design_size(const OpenType::Font &otf){    try {	String gpos_table = otf.table("GPOS");	if (!gpos_table)	    throw OpenType::Error();	ErrorHandler *errh = ErrorHandler::silent_handler();	OpenType::Gpos gpos(gpos_table, errh);	// extract 'size' feature(s)	int required_fid;	Vector<int> fids;	for (const OpenType::Tag *t = interesting_scripts.begin(); t < interesting_scripts.end(); t += 2)	    gpos.script_list().features(t[0], t[1], required_fid, fids, 0, false);	int size_fid = gpos.feature_list().find(OpenType::Tag("size"), fids);	if (size_fid < 0)	    throw OpenType::Error();	// it looks like Adobe fonts implement an old, incorrect idea	// of what the FeatureParams offset means.	OpenType::Data size_data = gpos.feature_list().params(size_fid, 10, errh, true);	if (!size_data.length())	    throw OpenType::Error();	double result = size_data.u16(0) / 10.;	// check for insane design sizes	if (result < 1 || result > 1000)	    throw OpenType::Error();	// return a number in 'pt', not 'bp'	return result * 72.27 / 72.;	    } catch (OpenType::Error) {	return 10.0;    }}