- SCM key = gh_cons (fn, gh_double2scm (m));
- SCM met = scm_assoc (key, scaled_fonts_);
-
- if (gh_pair_p (met))
- return unsmob_metrics (ly_cdr (met));
-
- /*
- Hmm. We're chaining font - metrics. Should consider wether to merge
- virtual-font and scaled_font.
- */
- Font_metric* f=0;
- if (gh_list_p (fn))
+ if (layout->parent_)
+ return find_pango_font (layout->parent_, descr, factor);
+
+ SCM table = get_pango_font_table (layout);
+ SCM sizes = scm_hash_ref (table, descr, SCM_EOL);
+ SCM size_key = scm_from_double (factor);
+ SCM handle = scm_assoc (size_key, sizes);
+ if (scm_is_pair (handle))