From 92125c0a3d8ab85e060dcb0faba2c8b2ba73859a Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sun, 14 Mar 2004 01:23:26 +0000 Subject: [PATCH] * lily/font-interface.cc (text_font_alist_chain): rename function, and use text-font-defaults. * lily/font-select.cc (properties_to_font_size_family): call SCM code. * scm/paper.scm (paper-set-staff-size): use new function. * scm/new-font.scm (make-font-tree): new function. --- ChangeLog | 11 ++ lily/accidental.cc | 2 +- lily/balloon.cc | 2 +- lily/beam.cc | 2 +- lily/font-interface.cc | 12 +- lily/font-select.cc | 49 +----- lily/grob-scheme.cc | 14 +- lily/include/font-interface.hh | 1 + lily/line-spanner.cc | 2 +- lily/multi-measure-rest.cc | 2 +- lily/ottava-bracket.cc | 2 +- lily/paper-column.cc | 2 +- lily/system-start-delimiter.cc | 2 +- lily/text-item.cc | 2 +- lily/text-spanner.cc | 2 +- lily/time-signature.cc | 13 +- lily/tuplet-bracket.cc | 2 +- ly/declarations-init.ly | 13 +- scm/lily.scm | 2 +- scm/new-font.scm | 265 +++++++++++++-------------------- scm/output-lib.scm | 17 +-- scm/page-layout.scm | 4 +- scm/paper.scm | 3 +- 23 files changed, 171 insertions(+), 255 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3e11a64b60..54e4f0e2de 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2004-03-14 Han-Wen Nienhuys + + * lily/font-interface.cc (text_font_alist_chain): rename function, + and use text-font-defaults. + + * lily/font-select.cc (properties_to_font_size_family): call SCM code. + + * scm/paper.scm (paper-set-staff-size): use new function. + + * scm/new-font.scm (make-font-tree): new function. + 2004-03-13 Jan Nieuwenhuizen * lily/paper-book.cc (output): Bugfix: no output if no \paper. diff --git a/lily/accidental.cc b/lily/accidental.cc index 3d2cdacf96..b565881e88 100644 --- a/lily/accidental.cc +++ b/lily/accidental.cc @@ -196,7 +196,7 @@ Accidental_interface::print (SCM smob) Font_metric *fm = 0; if (smaller) { - SCM ac = Font_interface::font_alist_chain (me); + SCM ac = Font_interface::text_font_alist_chain (me); ac = gh_cons (gh_cons (gh_cons (ly_symbol2scm ("font-size"), scm_int2num (-2)), SCM_EOL), diff --git a/lily/balloon.cc b/lily/balloon.cc index 0461115008..07d75803cc 100644 --- a/lily/balloon.cc +++ b/lily/balloon.cc @@ -59,7 +59,7 @@ Balloon_interface::print (SCM smob) SCM bt = me->get_property ("balloon-text"); - SCM chain = Font_interface::font_alist_chain (me); + SCM chain = Font_interface::text_font_alist_chain (me); chain = gh_cons (me->get_property ("balloon-text-props"), chain); diff --git a/lily/beam.cc b/lily/beam.cc index 145c4e4289..6f0da9d5a7 100644 --- a/lily/beam.cc +++ b/lily/beam.cc @@ -520,7 +520,7 @@ Beam::print (SCM grob) parameters. */ String str; - SCM properties = Font_interface::font_alist_chain (me); + SCM properties = Font_interface::text_font_alist_chain (me); Stencil tm = *unsmob_stencil (Text_item::interpret_markup (me->get_paper ()->self_scm (), properties, quant_score)); diff --git a/lily/font-interface.cc b/lily/font-interface.cc index 587cc9c155..4923cdeb3e 100644 --- a/lily/font-interface.cc +++ b/lily/font-interface.cc @@ -21,9 +21,14 @@ Font_interface::get_default_font (Grob *me) Font_metric *fm = unsmob_metrics (me->get_property ("font")); if (!fm) { - fm = select_font (me->get_paper (), font_alist_chain (me)); + + SCM defaults = me->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults")); + SCM chain = me->get_property_alist_chain (defaults); + + fm = select_font (me->get_paper (), chain); me->set_property ("font", fm->self_scm ()); } + return fm; } @@ -37,10 +42,11 @@ LY_DEFINE (ly_font_interface_get_default_font, "ly:get-default-font", return Font_interface::get_default_font (gr)->self_scm (); } + SCM -Font_interface::font_alist_chain (Grob *g) +Font_interface::text_font_alist_chain (Grob *g) { - SCM defaults = g->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults")); + SCM defaults = g->get_paper ()->lookup_variable (ly_symbol2scm ("text-font-defaults")); return g->get_property_alist_chain (defaults); } diff --git a/lily/font-select.cc b/lily/font-select.cc index 654ad04111..d4773c853c 100644 --- a/lily/font-select.cc +++ b/lily/font-select.cc @@ -41,6 +41,7 @@ wild_compare (SCM field_val, SCM val) { return (val == SCM_BOOL_F || field_val == ly_symbol2scm ("*") || field_val == val); } + Font_metric* get_font_by_design_size (Paper_def* paper, Real requested, SCM font_vector) @@ -87,54 +88,14 @@ get_font_by_mag_step (Paper_def* paper, Real requested_step, -/* - We can probably get more efficiency points if we preprocess FONTS - to make lookup easier. - */ SCM properties_to_font_size_family (SCM fonts, SCM alist_chain) { - SCM shape = SCM_BOOL_F; - SCM family = SCM_BOOL_F; - SCM series = SCM_BOOL_F; - - shape = ly_assoc_chain (ly_symbol2scm ("font-shape"), alist_chain); - family = ly_assoc_chain (ly_symbol2scm ("font-family"), alist_chain); - series = ly_assoc_chain (ly_symbol2scm ("font-series"), alist_chain); - - if (gh_pair_p (shape)) - shape = ly_cdr (shape); - if (gh_pair_p (family)) - family = ly_cdr (family); - if (gh_pair_p (series)) - series = ly_cdr (series); - + static SCM proc; + if (!proc ) + proc = scm_c_eval_string ("lookup-font"); - for (SCM s = fonts ; gh_pair_p (s); s = ly_cdr (s)) - { - SCM qlist = ly_caar (s); - - if (!wild_compare (SCM_VECTOR_REF (qlist, 0), series)) - continue; - if (!wild_compare (SCM_VECTOR_REF (qlist, 1), shape)) - continue; - if (!wild_compare (SCM_VECTOR_REF (qlist, 2), family)) - continue; - - SCM qname = ly_cdar (s); - return qname; - } - - warning (_f ("cannot find font for: (%s %s %s)", - ly_symbol2string (series).to_str0 (), - ly_symbol2string (shape).to_str0 (), - ly_symbol2string (family).to_str0 ())); - - scm_write (scm_list_n (shape, series , family, - SCM_UNDEFINED), scm_current_error_port ()); - scm_flush (scm_current_error_port ()); - - return scm_makfrom0str ("cmr10"); + return scm_call_2 (proc, fonts, alist_chain); } diff --git a/lily/grob-scheme.cc b/lily/grob-scheme.cc index f7158e7f45..587a692c38 100644 --- a/lily/grob-scheme.cc +++ b/lily/grob-scheme.cc @@ -70,16 +70,20 @@ LY_DEFINE (ly_grob_paper,"ly:grob-paper", 1, 0, 0, LY_DEFINE(ly_grob_alist_chain, "ly:grob-alist-chain", - 1, 0, 0, - (SCM g), - "Get an alist chain for grob @var{g}." + 1, 1, 0, + (SCM g, SCM global), + "Get an alist chain for grob @var{g}, with @var{global} as the " + "global default. If unspecified, @code{font-defaults} " + "from the paper block is taken. " ) { Grob * sc = unsmob_grob (g); SCM_ASSERT_TYPE (sc, g, SCM_ARG1, __FUNCTION__, "grob"); - SCM defaults = sc->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults")); - return sc->get_property_alist_chain (defaults); + if (global == SCM_UNDEFINED) + global = sc->get_paper ()->lookup_variable (ly_symbol2scm ("font-defaults")); + + return sc->get_property_alist_chain (global); } diff --git a/lily/include/font-interface.hh b/lily/include/font-interface.hh index 58e9a986c6..522ee2c133 100644 --- a/lily/include/font-interface.hh +++ b/lily/include/font-interface.hh @@ -15,6 +15,7 @@ struct Font_interface { + static SCM text_font_alist_chain (Grob*); static SCM font_alist_chain (Grob*); static Font_metric * get_default_font (Grob*); static bool has_interface (Grob*); diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc index 6456135af9..6eb46f8a23 100644 --- a/lily/line-spanner.cc +++ b/lily/line-spanner.cc @@ -112,7 +112,7 @@ Line_spanner::line_stencil (Grob *me, else if (gh_symbol_p (type) && type == ly_symbol2scm ("trill")) { - SCM alist_chain = Font_interface::font_alist_chain (me); + SCM alist_chain = Font_interface::text_font_alist_chain (me); SCM style_alist = scm_list_n (gh_cons (ly_symbol2scm ("font-family"), ly_symbol2scm ("music")), SCM_UNDEFINED); diff --git a/lily/multi-measure-rest.cc b/lily/multi-measure-rest.cc index b04768dfea..9436069dd8 100644 --- a/lily/multi-measure-rest.cc +++ b/lily/multi-measure-rest.cc @@ -135,7 +135,7 @@ Multi_measure_rest::symbol_stencil (Grob *me, Real space) return s; } - SCM alist_chain = Font_interface::font_alist_chain (me); + SCM alist_chain = Font_interface::text_font_alist_chain (me); Real staff_space = Staff_symbol_referencer::staff_space (me); Font_metric *musfont diff --git a/lily/ottava-bracket.cc b/lily/ottava-bracket.cc index d77a6b6e2d..ef0f02404c 100644 --- a/lily/ottava-bracket.cc +++ b/lily/ottava-bracket.cc @@ -66,7 +66,7 @@ Ottava_bracket::print (SCM smob) } while (flip (&d) != LEFT); - SCM properties = Font_interface::font_alist_chain (me); + SCM properties = Font_interface::text_font_alist_chain (me); SCM markup = me->get_property ("text"); Stencil text; if (Text_item::markup_p (markup)) diff --git a/lily/paper-column.cc b/lily/paper-column.cc index 69e49a77d9..21ec714301 100644 --- a/lily/paper-column.cc +++ b/lily/paper-column.cc @@ -115,7 +115,7 @@ Paper_column::print (SCM p) Grob *me = unsmob_grob (p); String r = to_string (Paper_column::get_rank (me)); - SCM properties = Font_interface::font_alist_chain (me); + SCM properties = Font_interface::text_font_alist_chain (me); SCM scm_mol = Text_item::interpret_markup (me->get_paper ()->self_scm (), properties, diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index b460c4f57f..e61fa4e718 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -147,7 +147,7 @@ System_start_delimiter::staff_brace (Grob*me, Real y) name. This is better than using find_font directly, esp. because that triggers mktextfm for non-existent fonts. */ - SCM fam = gh_cons (ly_symbol2scm ("font-family"), ly_symbol2scm ("braces")); + SCM fam = gh_cons (ly_symbol2scm ("font-encoding"), ly_symbol2scm ("braces")); SCM alist = scm_list_n (fam, SCM_UNDEFINED); fm = select_font (me->get_paper (), scm_list_n (alist, SCM_UNDEFINED)); diff --git a/lily/text-item.cc b/lily/text-item.cc index 31d3402410..e8e9dcabf7 100644 --- a/lily/text-item.cc +++ b/lily/text-item.cc @@ -64,7 +64,7 @@ Text_item::print (SCM grob) Grob * me = unsmob_grob (grob); SCM t = me->get_property ("text"); - SCM chain = Font_interface::font_alist_chain (me); + SCM chain = Font_interface::text_font_alist_chain (me); return interpret_markup (me->get_paper ()->self_scm (), chain, t); } diff --git a/lily/text-spanner.cc b/lily/text-spanner.cc index 77321cbf6e..e7e75c3351 100644 --- a/lily/text-spanner.cc +++ b/lily/text-spanner.cc @@ -77,7 +77,7 @@ Text_spanner::print (SCM smob) while (flip (&d) != LEFT); - SCM properties = Font_interface::font_alist_chain (me); + SCM properties = Font_interface::text_font_alist_chain (me); SCM edge_text = me->get_property ("edge-text"); Drul_array edge; if (gh_pair_p (edge_text)) diff --git a/lily/time-signature.cc b/lily/time-signature.cc index b92028b161..7d414ab268 100644 --- a/lily/time-signature.cc +++ b/lily/time-signature.cc @@ -100,14 +100,13 @@ Time_signature::special_time_signature (Grob *me, SCM scm_style, int n, int d) Stencil Time_signature::numbered_time_signature (Grob*me,int num, int den) { - SCM chain = Font_interface::font_alist_chain (me); - me->set_property ("font-family", ly_symbol2scm ("number")); - -SCM sn = - Text_item::interpret_markup (me->get_paper ()->self_scm (), chain, + SCM number_def = scm_list_1 (gh_cons (ly_symbol2scm ("font-encoding"), + ly_symbol2scm ("number"))); + + SCM chain = me->get_property_alist_chain (number_def); + SCM sn = Text_item::interpret_markup (me->get_paper ()->self_scm (), chain, scm_makfrom0str (to_string (num).to_str0 ())); -SCM sd = - Text_item::interpret_markup (me->get_paper ()->self_scm (), chain, + SCM sd = Text_item::interpret_markup (me->get_paper ()->self_scm (), chain, scm_makfrom0str (to_string (den).to_str0 ())); Stencil n = *unsmob_stencil (sn); diff --git a/lily/tuplet-bracket.cc b/lily/tuplet-bracket.cc index be0e0a2294..2ef78c968c 100644 --- a/lily/tuplet-bracket.cc +++ b/lily/tuplet-bracket.cc @@ -171,7 +171,7 @@ Tuplet_bracket::print (SCM smob) Paper_def *pap = me->get_paper (); if (gh_string_p (number) && number_visibility) { - SCM properties = Font_interface::font_alist_chain (me); + SCM properties = Font_interface::text_font_alist_chain (me); SCM snum = Text_item::interpret_markup (pap->self_scm (), properties, number); Stencil num = *unsmob_stencil (snum); num.align_to (X_AXIS, CENTER); diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly index 0a119daeb7..6293006cac 100644 --- a/ly/declarations-init.ly +++ b/ly/declarations-init.ly @@ -45,19 +45,22 @@ melismaEnd = #(make-span-event 'ManualMelismaEvent STOP) % Do units first; must be done before any units are specified. \paper { - unit = "mm" %% ugh: coupled to LilyPond C++ code. + unit = #(ly:unit) mm = 1.0 in = 25.4 pt = #(/ in 72.27) cm = #(* 10 mm) #(define font-defaults - '((font-family . music) - (font-shape . upright) + '((font-encoding . music)) + ) + + #(define text-font-defaults + '((font-encoding . text) (baseline-skip . 2) (word-space . 0.6) - (font-series . medium) - )) + )) + \include "engraver-init.ly" } diff --git a/scm/lily.scm b/scm/lily.scm index 9329701c04..3b9e77530d 100644 --- a/scm/lily.scm +++ b/scm/lily.scm @@ -423,7 +423,7 @@ L1 is copied, L2 not. "beam.scm" "clef.scm" "slur.scm" - "font.scm" +; "font.scm" "new-font.scm" "define-markup-commands.scm" diff --git a/scm/new-font.scm b/scm/new-font.scm index e131ea4256..d378c82842 100644 --- a/scm/new-font.scm +++ b/scm/new-font.scm @@ -1,5 +1,3 @@ - - ;; As an excercise, do it with records. ;; Should use GOOPS, really. @@ -101,16 +99,6 @@ (display node port)))) ) -(define-public (scale-font-node node factor) - (cond - ((font-tree-node? node) - (hash-for-each (lambda (k v) - (scale-font-tree v factor) - (font-tree-children node)))) - (else - (cons (* factor (car node)) - (cdr node))))) - (define-public (lookup-font node alist-chain) (cond ((font-tree-node? node) @@ -125,165 +113,112 @@ desired-font (lookup-font (hashq-ref (font-tree-children node) def) alist-chain))) - ) font)) (else node)) ) - -(define-public paper20-font-tree (make-font-tree-node 'font-encoding 'music)) - - - -(add-font - paper20-font-tree - '((font-encoding . number)) - '(10 . #((4.0 . "feta-nummer4") - (6.0 . "feta-nummer6") - (8.0 . "feta-nummer8") - (10.0 . "feta-nummer10") - (12.0 . "feta-nummer12") - (16.0 . "feta-nummer16")))) - -(add-font - paper20-font-tree - '((font-encoding . dynamic)) - '(14.0 . #((6.0 . "feta-din6") - (8.0 . "feta-din8") - (10.0 . "feta-din10") - (12.0 . "feta-din12") - (14.0 . "feta-din14") - (17.0 . "feta-din17") - ))) - - (use-modules (ice-9 readline)) - - - -(for-each - (lambda (x) - (add-font - paper20-font-tree - `((font-encoding . text) - (font-series . ,(vector-ref (car x) 0)) - (font-shape . ,(vector-ref (car x) 1)) - (font-family . ,(vector-ref (car x) 2))) - (cdr x)) - ) - '( - (#(roman upright medium) . - (10.0 . #((6.0 . "cmr6") - (8.0 . "cmr8") - (10.0 . "cmr10") - (17.0 . "cmr17") - ))) - - - - (#(roman upright bold) . - (10.0 . #((6.0 . "cmbx6") - (8.0 . "cmbx8") - (10.0 . "cmbx10") - (12.0 . "cmbx12") - ))) - - (#(roman italic medium) . - (10.0 . #((7.0 . "cmti7") - (10.0 . "cmti10") - (12.0 . "cmti12") - ))) - (#(roman italic bold) . - (10.0 . #((8.0 . "cmbxti8") - (10.0 . "cmbxti10") - (14.0 . "cmbxti14") - ))) +(define-public (make-font-tree factor) + (let* + ((n (make-font-tree-node 'font-encoding 'music)) + ) - (#(roman caps medium) . - (10.0 . #((10.0 . "cmcsc10")))) - - (#(roman upright bold-narrow ) . - (10.0 . #((10.0 . "cmb10") - ))) - - (#(sans upright medium) . - (10.0 . #((8.0 . "cmss8") - (10.0 . "cmss10") - (12.0 . "cmss12") - (17.0 . "cmss17") - ))) - (#(typewriter upright medium) . - (10.0 . #((8.0 . "cmtt8") - (10.0 . "cmtt10") - (12.0 . "cmtt12") - ))) - )) - - - -(add-font - paper20-font-tree - '((font-encoding . math)) - '(10.0 . #((10.0 . "msam10")))) - -(add-font - paper20-font-tree - '((font-encoding . music)) - '(20.0 . #((11.22 . ("feta11" "parmesan11")) - (12.60 . ("feta13" "parmesan13")) - (14.14 . ("feta14" "parmesan14")) - (15.87 . ("feta16" "parmesan16")) - (17.82 . ("feta18" "parmesan18")) - (20.0 . ("feta20" "parmesan20")) - (22.45 . ("feta23" "parmesan23")) - (25.20 . ("feta26" "parmesan26")) - ))) - -(add-font - paper20-font-tree - '((font-encoding . braces)) - '(10 . #((10.0 . ("feta-braces00" - "feta-braces10" - "feta-braces20" - "feta-braces30" - "feta-braces40" - "feta-braces50" - "feta-braces60" - "feta-braces70" - "feta-braces80")) - ))) - - -(display-font-node paper20-font-tree ) - -(if #f - (begin - (newline) - (display - (lookup-font - paper20-font-tree - '(((font-encoding . text) - (font-shape . italic) - )))) - (newline) - )) - - - - - -(define (scale-font-tree root factor) - "Scale ROOT with FACTOR." - (cond - ((and (font-tree-node? node) - (equal? (font-tree-qualifier node) 'font-encoding)) - (hash-for-each (lambda (k v) - (if (not (equal? k 'braces)) - (scale-font-node v factor)) - (font-tree-children node)))) - (else - (scale-font-node node)))) + (for-each + (lambda (x) + (add-font n + (list (cons 'font-encoding (car x))) + (cons (* factor (cadr x)) + (caddr x)))) + '((number 10 #((4.0 . "feta-nummer4") + (6.0 . "feta-nummer6") + (8.0 . "feta-nummer8") + (10.0 . "feta-nummer10") + (12.0 . "feta-nummer12") + (16.0 . "feta-nummer16"))) + (dynamic 14.0 #((6.0 . "feta-din6") + (8.0 . "feta-din8") + (10.0 . "feta-din10") + (12.0 . "feta-din12") + (14.0 . "feta-din14") + (17.0 . "feta-din17") + )) + (math 10 #((10.0 . "msam10"))) + (music 20.0 + #((11.22 . ("feta11" "parmesan11")) + (12.60 . ("feta13" "parmesan13")) + (14.14 . ("feta14" "parmesan14")) + (15.87 . ("feta16" "parmesan16")) + (17.82 . ("feta18" "parmesan18")) + (20.0 . ("feta20" "parmesan20")) + (22.45 . ("feta23" "parmesan23")) + (25.20 . ("feta26" "parmesan26")) + )) + (braces 10 #((10.0 . ("feta-braces00" + "feta-braces10" + "feta-braces20" + "feta-braces30" + "feta-braces40" + "feta-braces50" + "feta-braces60" + "feta-braces70" + "feta-braces80")) + )))) + + (for-each + (lambda (x) + (add-font + n + `((font-encoding . text) + (font-series . ,(vector-ref (car x) 0)) + (font-shape . ,(vector-ref (car x) 1)) + (font-family . ,(vector-ref (car x) 2))) + (cons (* factor (cadr x)) + (cddr x)) + )) + '((#(roman upright medium) . + (10.0 . #((6.0 . "cmr6") + (8.0 . "cmr8") + (10.0 . "cmr10") + (17.0 . "cmr17") + ))) + + (#(roman upright bold) . + (10.0 . #((6.0 . "cmbx6") + (8.0 . "cmbx8") + (10.0 . "cmbx10") + (12.0 . "cmbx12") + ))) + + (#(roman italic medium) . + (10.0 . #((7.0 . "cmti7") + (10.0 . "cmti10") + (12.0 . "cmti12") + ))) + (#(roman italic bold) . + (10.0 . #((8.0 . "cmbxti8") + (10.0 . "cmbxti10") + (14.0 . "cmbxti14") + ))) + + (#(roman caps medium) . + (10.0 . #((10.0 . "cmcsc10")))) - + (#(roman upright bold-narrow ) . + (10.0 . #((10.0 . "cmb10") + ))) + + (#(sans upright medium) . + (10.0 . #((8.0 . "cmss8") + (10.0 . "cmss10") + (12.0 . "cmss12") + (17.0 . "cmss17") + ))) + (#(typewriter upright medium) . + (10.0 . #((8.0 . "cmtt8") + (10.0 . "cmtt10") + (12.0 . "cmtt12") + ))) + )) + n)) diff --git a/scm/output-lib.scm b/scm/output-lib.scm index 1f70e44e62..805e571124 100644 --- a/scm/output-lib.scm +++ b/scm/output-lib.scm @@ -11,15 +11,6 @@ (define (tablature-stem-attachment-function style duration) (cons 0.0 0.5)) -; The TabNoteHead stencil callback. -; Create a text stencil -(define-public (tablature-print-function grob) - (let ((stencil (fontify-text - (ly:get-default-font grob) - (ly:grob-property grob 'text) - ))) - stencil ; return the stencil. - )) ; The TabNoteHead tablatureFormat callback. ; Compute the text grob-property @@ -47,8 +38,12 @@ (else ""))) ) - (let ((slur (Slur::print grob)) - (text (fontify-text (ly:get-default-font grob) letter))) + (let* ((slur (Slur::print grob)) + (paper (ly:grob-paper grob)) + (text (interpret-markup + paper + (ly:grob-alist-chain grob (ly:paper-lookup paper 'text-font-defaults)) + letter))) (let ((x (/ (- (cdr (ly:stencil-extent slur 0)) (/ (cdr (ly:stencil-extent text 0)) 2.0) diff --git a/scm/page-layout.scm b/scm/page-layout.scm index 3cbed697c5..83e0bdb166 100644 --- a/scm/page-layout.scm +++ b/scm/page-layout.scm @@ -21,8 +21,8 @@ (let ((props (list (append `((linewidth . ,(ly:paper-get-number paper 'linewidth)) - (font-family . roman)) - (ly:paper-lookup paper 'font-defaults))))) + ) + (ly:paper-lookup paper 'text-font-defaults))))) (interpret-markup paper props (markup diff --git a/scm/paper.scm b/scm/paper.scm index 3cbc141784..a52b24d672 100644 --- a/scm/paper.scm +++ b/scm/paper.scm @@ -12,7 +12,8 @@ (pt (eval 'pt m)) (mm (eval 'mm m))) - (module-define! m 'fonts (scale-font-list (/ sz (* 20 pt)))) + (module-define! m 'fonts (make-font-tree (/ sz (* 20 pt)))) + (module-define! m 'staffheight sz) (module-define! m 'staff-space ss) (module-define! m 'staffspace ss) -- 2.39.2