Reviewers: , Message: Contains two commits: [PATCH 2/2] Revert "Load only the default font for System_start_delimiter" [PATCH 1/2] Regtest for setting SystemStartGrob.style to 'brace
Description: Revert "Load only the default font for System_start_delimiter" This reverts commit 430bad24a2d15ec6600e0e780348a0caff29799b. Regtest for setting SystemStartGrob.style to 'brace Checks whether the SystemStartBrace is printed Please review this at https://codereview.appspot.com/557670043/ Affected files (+36, -5 lines): A input/regression/system-start-brace-style.ly M lily/system-start-delimiter.cc Index: input/regression/system-start-brace-style.ly diff --git a/input/regression/system-start-brace-style.ly b/input/regression/system-start-brace-style.ly new file mode 100644 index 0000000000000000000000000000000000000000..232d104e9d6b89ead73143432119571376dfb3e1 --- /dev/null +++ b/input/regression/system-start-brace-style.ly @@ -0,0 +1,27 @@ + +\header { +texidoc = "Disregarding the value of @code{systemStartDelimiter}, setting +SystemStartGrob's style of @code{StaffGroup} to @code{'brace}, always prints a +@code{SystemStartBrace}. +Every @code{StaffGroup} should start with a @code{SystemStartBrace}. +" +} + +\version "2.21.1" + +\layout { + \context { + \StaffGroup + \override SystemStartBar.style = #'brace + \override SystemStartBrace.style = #'brace + \override SystemStartBracket.style = #'brace + \override SystemStartSquare.style = #'brace + } +} + +<< + $@(map + (lambda (sym) + #{ \new StaffGroup \with { systemStartDelimiter = #sym } << b1 b1 >> #}) + '(SystemStartBracket SystemStartBrace SystemStartSquare SystemStartBar)) +>> \ No newline at end of file Index: lily/system-start-delimiter.cc diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index 9020aa24ae805391e69990d033e0c0f35de77111..94f8997a6d830515b47ed4c04067174d1300c145 100644 --- a/lily/system-start-delimiter.cc +++ b/lily/system-start-delimiter.cc @@ -146,11 +146,15 @@ Stencil System_start_delimiter::staff_brace (Grob *me, Real y) { Font_metric *fm = 0; - - /* - Find the default brace font if the user overrides it. - */ - fm = Font_interface::get_default_font (me); + /* We go through the style sheet to lookup the font file + name. This is better than using find_font directly, + esp. because that triggers mktextfm for non-existent + fonts. */ + SCM fam = scm_cons (ly_symbol2scm ("font-encoding"), + ly_symbol2scm ("fetaBraces")); + + SCM alist = scm_list_n (fam, SCM_UNDEFINED); + fm = select_font (me->layout (), scm_list_n (alist, SCM_UNDEFINED)); int lo = 0;