X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=lily%2Fpaper-def.cc;h=e9a56ae0e190f269ce0c0ed690c933e0c46defd8;hb=1925ac1b4c79c3f1eb97c633f9a259648802220e;hp=0ef9ddbb11a1499fcaabaa2863f969720f1d566b;hpb=0d3c78505a6adb958f9280509bb7fa170de54611;p=lilypond.git diff --git a/lily/paper-def.cc b/lily/paper-def.cc index 0ef9ddbb11..e9a56ae0e1 100644 --- a/lily/paper-def.cc +++ b/lily/paper-def.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2004--2005 Han-Wen Nienhuys + (c) 2004--2007 Han-Wen Nienhuys */ #include "dimensions.hh" @@ -15,7 +15,7 @@ Real output_scale (Output_def *od) { - return scm_to_double (od->lookup_variable (ly_symbol2scm ("outputscale"))); + return scm_to_double (od->lookup_variable (ly_symbol2scm ("output-scale"))); } SCM @@ -53,13 +53,13 @@ find_scaled_font (Output_def *mod, Font_metric *f, Real m) SCM font_table = get_font_table (mod); SCM sizes = scm_hashq_ref (font_table, f->self_scm (), SCM_EOL); - SCM handle = scm_assoc (scm_make_real (lookup_mag), sizes); + SCM handle = scm_assoc (scm_from_double (lookup_mag), sizes); if (scm_is_pair (handle)) return unsmob_metrics (scm_cdr (handle)); SCM val = Modified_font_metric::make_scaled_font_metric (f, lookup_mag); - sizes = scm_acons (scm_make_real (lookup_mag), val, sizes); + sizes = scm_acons (scm_from_double (lookup_mag), val, sizes); unsmob_metrics (val)->unprotect (); scm_hashq_set_x (font_table, f->self_scm (), sizes); return unsmob_metrics (val); @@ -76,16 +76,21 @@ find_pango_font (Output_def *layout, SCM descr, Real factor) SCM size_key = scm_from_double (factor); SCM handle = scm_assoc (size_key, sizes); if (scm_is_pair (handle)) - { - return unsmob_metrics (scm_cdr (handle)); - } + return unsmob_metrics (scm_cdr (handle)); PangoFontDescription *description = pango_font_description_from_string (scm_i_string_chars (descr)); + + pango_font_description_set_size (description, + gint (factor * + pango_font_description_get_size (description))); + + Font_metric *fm = all_fonts_global->find_pango_font (description, - factor, output_scale (layout)); + pango_font_description_free (description); + sizes = scm_acons (size_key, fm->self_scm (), sizes); scm_hash_set_x (table, descr, sizes);