- if (gh_pair_p (met))
- return unsmob_metrics (gh_cdr (met));
-
- SCM ssc;
- if (scope_p_->try_retrieve (ly_symbol2scm ("outputscale"), &ssc))
- {
- m /= gh_scm2double (ssc);
- }
-
- Font_metric* f = all_fonts_global_p->find_font (ly_scm2string (fn));
- SCM val = Scaled_font_metric::make_scaled_font_metric (f, m);
- scaled_fonts_ = scm_acons (key, val, scaled_fonts_ );
-
- scm_unprotect_object (val);
-
- return dynamic_cast<Scaled_font_metric*> (unsmob_metrics (val));