rem: OpenType::Gsub gsub(gsub_table, errh);
add: OpenType::Gsub gsub(gsub_table, &otf, errh);
context: do_query_scripts(const OpenType::Font &otf, ErrorHandler *errh, ErrorHandler *result_errh){    Vector<String> results;    if (String gsub_table = otf.table("GSUB")) {	OpenType::Gsub gsub(gsub_table, errh);	collect_script_descriptions(gsub.script_list(), results, errh);    }    if (String gpos_table = otf.table("GPOS")) {	OpenType::Gpos gpos(gpos_table, errh);	collect_script_descriptions(gpos.script_list(), results, errh);    }    if (results.size()) {	std::sort(results.begin(), results.end());	String *unique_result = std::unique(results.begin(), results.end());	for (String *sp = results.begin(); sp < unique_result; sp++)	    result_errh->message("%s", sp->c_str());    }}