From 3bd9e8e2eb4edbdfaa0a3ed17e7b6c4372b566f0 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sat, 10 Apr 2004 21:22:07 +0000 Subject: [PATCH] * scm/font.scm (add-cmr-fonts): add sauter fonts under latin1 font-encoding. * scm/define-grobs.scm (all-grob-descriptions): idem. * lily/time-signature.cc (numbered_time_signature): idem. * scm/font.scm (add-cmr-fonts): use real encoding names for font-encoding. --- ChangeLog | 12 ++++++ lily/line-spanner.cc | 2 +- lily/my-lily-lexer.cc | 5 ++- lily/system-start-delimiter.cc | 2 +- lily/time-signature.cc | 4 +- ly/declarations-init.ly | 4 +- scm/define-grob-properties.scm | 6 ++- scm/define-grobs.scm | 18 ++++---- scm/define-markup-commands.scm | 8 ++-- scm/font.scm | 76 +++++++++++++++++++++++++++++----- 10 files changed, 105 insertions(+), 32 deletions(-) diff --git a/ChangeLog b/ChangeLog index b763d6e7dc..e0ba1ebb23 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,15 @@ +2004-04-10 Han-Wen Nienhuys + + * scm/font.scm (add-cmr-fonts): add sauter fonts under latin1 + font-encoding. + + * scm/define-grobs.scm (all-grob-descriptions): idem. + + * lily/time-signature.cc (numbered_time_signature): idem. + + * scm/font.scm (add-cmr-fonts): use real encoding names for + font-encoding. + 2004-04-10 Jan Nieuwenhuizen * lily/paper-book.cc (classic_output): diff --git a/lily/line-spanner.cc b/lily/line-spanner.cc index 10c63b9fff..854a641f63 100644 --- a/lily/line-spanner.cc +++ b/lily/line-spanner.cc @@ -114,7 +114,7 @@ Line_spanner::line_stencil (Grob *me, { SCM alist_chain = Font_interface::text_font_alist_chain (me); SCM style_alist = scm_list_n (scm_cons (ly_symbol2scm ("font-encoding"), - ly_symbol2scm ("music")), + ly_symbol2scm ("fetaMusic")), SCM_UNDEFINED); Font_metric *fm = select_font (me->get_paper (), diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 6a4016e35c..cafa1f6a78 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -247,5 +247,8 @@ My_lily_lexer::prepare_for_next_token () void My_lily_lexer::set_encoding (String s) { - encoding_ = ly_symbol2scm (s.to_str0 ()); + if (s.length ()) + encoding_ = ly_symbol2scm (s.to_str0 ()); + else + encoding_ = SCM_EOL; } diff --git a/lily/system-start-delimiter.cc b/lily/system-start-delimiter.cc index 82133825b8..9c59d8930e 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 = scm_cons (ly_symbol2scm ("font-encoding"), ly_symbol2scm ("braces")); + SCM fam = scm_cons (ly_symbol2scm ("font-encoding"), ly_symbol2scm ("fetaBraces")); SCM alist = scm_list_n (fam, SCM_UNDEFINED); fm = select_font (me->get_paper (), scm_list_n (alist, SCM_UNDEFINED)); diff --git a/lily/time-signature.cc b/lily/time-signature.cc index 8f7f7acfb6..f6d2cd81c5 100644 --- a/lily/time-signature.cc +++ b/lily/time-signature.cc @@ -84,7 +84,7 @@ Time_signature::special_time_signature (Grob *me, SCM scm_style, int n, int d) } String char_name = style + to_string (n) + "/" + to_string (d); - me->set_property ("font-encoding", ly_symbol2scm ("music")); + me->set_property ("font-encoding", ly_symbol2scm ("fetaMusic")); Stencil out = Font_interface::get_default_font (me) ->find_by_name ("timesig-" + char_name); if (!out.is_empty ()) @@ -102,7 +102,7 @@ Time_signature::numbered_time_signature (Grob*me,int num, int den) { SCM chain = me->get_property_alist_chain (Font_interface::text_font_alist_chain (me)); chain = scm_cons (scm_list_1 (scm_cons (ly_symbol2scm ("font-encoding"), - ly_symbol2scm ("number"))), + ly_symbol2scm ("fetaNumber"))), chain); SCM sn = Text_item::interpret_markup (me->get_paper ()->self_scm (), chain, diff --git a/ly/declarations-init.ly b/ly/declarations-init.ly index daa4916d21..26d8cc733c 100644 --- a/ly/declarations-init.ly +++ b/ly/declarations-init.ly @@ -60,11 +60,11 @@ melismaEnd = #(make-span-event 'ManualMelismaEvent STOP) #(define $is-paper #t) #(define font-defaults - '((font-encoding . music)) + '((font-encoding . fetaMusic)) ) #(define text-font-defaults - '((font-encoding . text) + '((font-encoding . latin1) (baseline-skip . 2) (word-space . 0.6) )) diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index e604fbd6a9..61fe391169 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -228,8 +228,10 @@ flag.") (stroke-style ,string? "set to \"grace\" to turn stroke through flag on.") (flag-width-function ,procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).") (font-family ,symbol? "The font family is the broadest category for selecting text fonts. Options include: @code{sans}, @code{roman} ") - (font-encoding ,symbol? "The font encoding is the broadest category for selecting a font. Options include: @code{music}, @code{number}, @code{text}, -@code{math}, @code{braces}, @code{dynamic}") + (font-encoding ,symbol? "The font encoding is the broadest +category for selecting a font. Options include: @code{fetaMusic}, +@code{fetaNumber}, @code{TeX-text}, @code{TeX-math}, @code{fetaBraces}, +@code{fetaDynamic}") (font-name ,string? "Specifies a file name (without extension) of the font to load. This setting override selection using @code{font-family}, @code{font-series} and @code{font-shape}.") diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 0e086b6a69..b7cdfff34b 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -327,7 +327,7 @@ (print-function . ,Percent_repeat_item_interface::double_percent) (breakable . #t) (slope . 1.0) - (font-encoding . music) + (font-encoding . fetaMusic) (width . 2.0) (thickness . 0.48) (break-align-symbol . staff-bar) @@ -347,7 +347,7 @@ (no-spacing-rods . #t) (script-priority . 100) (font-series . bold) - (font-encoding . dynamic) + (font-encoding . fetaDynamic) (font-shape . italic) (self-alignment-Y . 0) (meta . ((interfaces . (font-interface text-interface self-alignment-interface dynamic-interface script-interface item-interface)))) @@ -392,7 +392,7 @@ (self-alignment-X . 0) (self-alignment-Y . 0) (script-priority . 100) - (font-encoding . number) + (font-encoding . fetaNumber) (font-size . -5) ; don't overlap when next to heads. (meta . ((interfaces . (finger-interface font-interface text-script-interface text-interface side-position-interface self-alignment-interface item-interface )))) )) @@ -589,7 +589,7 @@ (thick-thickness . 6.6) (hair-thickness . 2.0) (padding . 1) - (font-encoding . music) + (font-encoding . fetaMusic) (meta . ((interfaces . (multi-measure-rest-interface multi-measure-interface rest-interface font-interface staff-symbol-referencer-interface)))) )) @@ -603,7 +603,7 @@ (direction . 1) (padding . 1.3) (staff-padding . 1.3) - (font-encoding . number) + (font-encoding . fetaNumber) (meta . ((interfaces . (side-position-interface multi-measure-interface self-alignment-interface font-interface spanner-interface text-interface)))) )) (MultiMeasureRestText @@ -748,7 +748,7 @@ (print-function . ,Multi_measure_rest::percent) (slope . 1.0) (thickness . 0.48) - (font-encoding . music) + (font-encoding . fetaMusic) (meta . ((interfaces . (multi-measure-rest-interface spanner-interface font-interface percent-repeat-interface)))) )) @@ -818,7 +818,7 @@ ;; (script-priority . 0) priorities for scripts, see script.scm (X-offset-callbacks . (,Self_alignment_interface::centered_on_parent)) (before-line-breaking-callback . ,Script_interface::before_line_breaking) - (font-encoding . music) + (font-encoding . fetaMusic) (meta . ((interfaces . (script-interface side-position-interface font-interface item-interface )))) )) @@ -1045,7 +1045,7 @@ (glyph . "brace") (print-function . ,System_start_delimiter::print) (collapse-height . 5.0) - (font-encoding . braces) + (font-encoding . fetaBraces) (Y-extent-callback . #f) (meta . ((interfaces . (system-start-delimiter-interface font-interface)))) )) @@ -1241,7 +1241,7 @@ (print-function . ,Volta_bracket_interface::print) (direction . 1) (padding . 1) - (font-encoding . number) + (font-encoding . fetaNumber) (Y-offset-callbacks . (,Side_position_interface::aligned_side)) (thickness . 1.6) ; linethickness (height . 2.0) ; staffspace; diff --git a/scm/define-markup-commands.scm b/scm/define-markup-commands.scm index 913772b645..c2c4c91988 100644 --- a/scm/define-markup-commands.scm +++ b/scm/define-markup-commands.scm @@ -123,7 +123,7 @@ Use @code{\\fontsize} otherwise." "Set font family to @code{number}, which yields the font used for time signatures and fingerings. This font only contains numbers and some punctuation. It doesn't have any letters. " - (interpret-markup paper (prepend-alist-chain 'font-encoding 'number props) arg)) + (interpret-markup paper (prepend-alist-chain 'font-encoding 'fetaNumber props) arg)) (def-markup-command (roman paper props arg) (markup?) "Set font family to @code{roman}." @@ -167,7 +167,7 @@ some punctuation. It doesn't have any letters. " normal words (like ``pi@`{u}'') should be done in a different font. The recommend font for this is bold and italic" (interpret-markup - paper (prepend-alist-chain 'font-encoding 'dynamic props) arg)) + paper (prepend-alist-chain 'font-encoding 'fetaDynamic props) arg)) (def-markup-command (italic paper props arg) (markup?) "Use italic @code{font-shape} for @var{arg}. " @@ -274,7 +274,7 @@ accordingly." See @usermanref{The Feta font} for a complete listing of the possible glyphs. " (ly:find-glyph-by-name - (ly:paper-get-font paper (cons '((font-encoding . music)) + (ly:paper-get-font paper (cons '((font-encoding . fetaMusic)) props)) glyph-name)) @@ -336,7 +336,7 @@ and/or @code{extra-offset} properties. " "Construct a note symbol, with stem. By using fractional values for @var{dir}, you can obtain longer or shorter stems." - (let* ((font (ly:paper-get-font paper (cons '((font-encoding . music)) props))) + (let* ((font (ly:paper-get-font paper (cons '((font-encoding . fetaMusic)) props))) (stemlen (max 3 (- log 1))) (headgl (ly:find-glyph-by-name font diff --git a/scm/font.scm b/scm/font.scm index 0badebc011..1cf468b7c4 100644 --- a/scm/font.scm +++ b/scm/font.scm @@ -144,21 +144,21 @@ (list (cons 'font-encoding (car x))) (cons (* factor (cadr x)) (caddr x)))) - `((number 10 + `((fetaNumber 10 #(,(delay (ly:font-load "feta-nummer4")) ,(delay (ly:font-load "feta-nummer6")) ,(delay (ly:font-load "feta-nummer8")) ,(delay (ly:font-load "feta-nummer10")) ,(delay (ly:font-load "feta-nummer12")) ,(delay (ly:font-load "feta-nummer16")))) - (dynamic 14.0 #(,(delay (ly:font-load "feta-din6")) + (fetaDynamic 14.0 #(,(delay (ly:font-load "feta-din6")) ,(delay (ly:font-load "feta-din8")) ,(delay (ly:font-load "feta-din10")) ,(delay (ly:font-load "feta-din12")) ,(delay (ly:font-load "feta-din14")) ,(delay (ly:font-load "feta-din17")) )) - (music 20.0 + (fetaMusic 20.0 #(,(delay (ly:make-virtual-font (ly:font-load "feta11") (ly:font-load "parmesan11"))) @@ -185,7 +185,7 @@ (ly:font-load "parmesan26"))) )) - (braces 15 #(,(delay + (fetaBraces 15 #(,(delay (ly:make-virtual-font (ly:font-load "feta-braces-a") (ly:font-load "feta-braces-b") @@ -202,14 +202,14 @@ (define-public (add-cmr-fonts node factor) (add-font node - '((font-encoding . math)) + '((font-encoding . TeX-math)) `(,(* factor 10) . #(,(delay (ly:font-load "msam10"))))) (for-each (lambda (x) (add-font node - `((font-encoding . text) + `((font-encoding . TeX-text) (font-series . ,(vector-ref (car x) 2)) (font-shape . ,(vector-ref (car x) 1)) (font-family . ,(vector-ref (car x) 0))) @@ -258,8 +258,64 @@ (10.0 . #(,(delay (ly:font-load "cmtt8")) ,(delay (ly:font-load "cmtt10")) ,(delay (ly:font-load "cmtt12")) + ))))) + + (for-each + (lambda (x) + (add-font + node + `((font-encoding . latin1) + (font-series . ,(vector-ref (car x) 2)) + (font-shape . ,(vector-ref (car x) 1)) + (font-family . ,(vector-ref (car x) 0))) + (cons (* factor (cadr x)) + (cddr x)) + )) + `((#(roman upright medium) . + (10.0 . #(,(delay (ly:font-load "ecrm6")) + ,(delay (ly:font-load "ecrm8")) + ,(delay (ly:font-load "ecrm10")) + ,(delay (ly:font-load "ecrm17")) + ))) + + (#(roman upright bold) . + (10.0 . #(,(delay (ly:font-load "ecbx6")) + ,(delay (ly:font-load "ecbx8")) + ,(delay (ly:font-load "ecbx10")) + ,(delay (ly:font-load "ecbx12")) + ))) + + (#(roman italic medium) . + (10.0 . #(,(delay (ly:font-load "ecti7")) + ,(delay (ly:font-load "ecti10")) + ,(delay (ly:font-load "ecti12")) + ))) + (#(roman italic bold) . + (10.0 . #(,(delay (ly:font-load "ecbxti8")) + ,(delay (ly:font-load "ecbxti10")) + ,(delay (ly:font-load "ecbxti14")) + ))) + + (#(roman caps medium) . + (10.0 . #(,(delay (ly:font-load "eccsc10"))))) + + (#(roman upright bold-narrow ) . + (10.0 . #(,(delay (ly:font-load "ecb10")) + ))) + + (#(sans upright medium) . + (10.0 . #(,(delay (ly:font-load "ecss8")) + ,(delay (ly:font-load "ecss10")) + ,(delay (ly:font-load "ecss12")) + ,(delay (ly:font-load "ecss17")) + ))) + (#(typewriter upright medium) . + (10.0 . #(,(delay (ly:font-load "ectt8")) + ,(delay (ly:font-load "ectt10")) + ,(delay (ly:font-load "ectt12")) ))) ))) + ;; (display (make-font-tree 1.0)) @@ -270,28 +326,28 @@ '((font-family . roman) (font-shape . upright) (font-series . medium) - (font-encoding . text)) + (font-encoding . latin1)) `(10.0 . #(,(delay (ly:font-load "c059013l"))))) (add-font node '((font-family . roman) (font-shape . italic) (font-series . medium) - (font-encoding . text)) + (font-encoding . latin1)) `(10.0 . #(,(delay (ly:font-load "c059033l"))))) (add-font node '((font-family . roman) (font-shape . upright) (font-series . bold) - (font-encoding . text)) + (font-encoding . latin1)) `(10.0 . #(,(delay (ly:font-load "c059016l"))))) (add-font node '((font-family . roman) (font-shape . italic) (font-series . bold) - (font-encoding . text)) + (font-encoding . latin1)) `(10.0 . #(,(delay (ly:font-load "c059036l"))))) ) -- 2.39.5