From: Han-Wen Nienhuys Date: Sun, 11 Apr 2004 17:47:42 +0000 (+0000) Subject: * mf/ecb.mf (font_identifier): new file, based on ecbx X-Git-Tag: release/2.3.0~8 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f1b8d5c5e6f436776bca94ad7f7f965064e596b1;p=lilypond.git * mf/ecb.mf (font_identifier): new file, based on ecbx * mf/ecb10.mf (gensize): new file. * Documentation/topdocs/NEWS.texi (Top): document some more new features. * lily/my-lily-parser.cc (LY_DEFINE): move parse-file function from input-file-results. Remove input-file-results.* --- diff --git a/ChangeLog b/ChangeLog index 1fa04ed476..5b18bec1fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2004-04-11 Han-Wen Nienhuys + * mf/ecb.mf (font_identifier): new file, based on ecbx + + * mf/ecb10.mf (gensize): new file. + + * Documentation/topdocs/NEWS.texi (Top): document some more new + features. + * ly/declarations-init.ly: run convert-ly * lily/my-lily-parser.cc (LY_DEFINE): move parse-file function diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index 2232d7c471..21ffc0f99c 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -8,6 +8,24 @@ @itemize @bullet +@item The parser is encapsulated in a Scheme function +@code{ly:parse-file}, so the following fragment processes two files + +@verbatim + #(ly:parse-file "another.ly") + \score { \notes { c4 }} +@end verbatim + +@item The @code{font-encoding} property can now be used to select +differently encoded fonts. The previous default setting +@code{TeX-text} has been replaced by latin1. LilyPond requires the +@uref{ec-fonts-mftraced,http://www.lilypond.org/download/fonts/} +installed to function properly. + +@item The encoding of a file can be switched with +@code{\encoding}. The strings for markup texts are translated +automatically. + @item The toplevel block @code{book} introduces page layout. A @code{book} groups @code{score} blocks into one page layout entity. Page layout consists of markup titles, headers and footers, and page @@ -30,6 +48,8 @@ The @code{lilypond} program does not generate La@TeX{} titles or page layout. If you need La@TeX{} titles, you can use the @code{lilypond-book} program. +@item There is now less of a noticeable ``hook'' at the end of a long slur. + @item The meaning of the @code{|} in the input can be redefined, by assigning a music expression to @code{pipeSymbol}. diff --git a/input/test/title-markup.ly b/input/test/title-markup.ly index 63b1ecd010..24fd359cba 100644 --- a/input/test/title-markup.ly +++ b/input/test/title-markup.ly @@ -121,4 +121,4 @@ spaceTest = \markup { "two space chars" } \paper { } } -} \ No newline at end of file +} diff --git a/lily/my-lily-parser.cc b/lily/my-lily-parser.cc index a5604a8063..1a0513ad24 100644 --- a/lily/my-lily-parser.cc +++ b/lily/my-lily-parser.cc @@ -131,12 +131,10 @@ My_lily_parser::here_input () const /****************************************************************/ - -bool store_locations_global_b; - /* - TODO: should merge with My_lily_parser. + junkme? */ +bool store_locations_global_b; /* no ! suffix since it doesn't modify 1st argument. @@ -248,9 +246,6 @@ LY_DEFINE(ly_parse_file, "ly:parse-file", My_lily_parser parser (&sources); parser.parse_file (init, in_file, out_file); - - - if (parser.error_level_) { /* diff --git a/mf/GNUmakefile b/mf/GNUmakefile index 19ed8d01d8..1e35e0ca9f 100644 --- a/mf/GNUmakefile +++ b/mf/GNUmakefile @@ -24,13 +24,14 @@ TEXTABLES = $(FETA_MF_FILES:%.mf=$(outdir)/%.tex) AFM_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.afm) \ $(AF_FILES:%.af=$(outdir)/%.afm) ENC_FILES = $(TEXTABLES:.tex=.enc) $(outdir)/cmr.enc -TFM_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.tfm) +TFM_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%.tfm) $(addprefix $(outdir)/,$(addsuffix .tfm,$(SAUTER_FONTS))) FETA_LIST_FILES = $(FETA_MF_FILES:%.mf=$(outdir)/%list.ly) ENCODING_FILE=$(findstring $(<:.mf=.enc), $(FETA_MF_FILES:.mf=.enc)) MFTRACE_FLAGS=$(if $(ENCODING_FILE),--encoding $(ENCODING_FILE),) - +bla: + echo $(TFM_FILES) # only for fonts which # @@ -41,10 +42,9 @@ MFTRACE_FLAGS=$(if $(ENCODING_FILE),--encoding $(ENCODING_FILE),) ## use separate package sauter-fonts-mftraced. -SAUTER_FONTS = +SAUTER_FONTS = ecb10 #cmbxti8 ecbm14 ecrm12 - MORE_SAUTER_FONTS = cmbx14 cmbx17 \ cmbxti12 cmbxti14 \ cmbxti6 cmbxti7 cmbxti8 \ diff --git a/mf/ecb.mf b/mf/ecb.mf new file mode 100644 index 0000000000..9967bc6d94 --- /dev/null +++ b/mf/ecb.mf @@ -0,0 +1,95 @@ +% ecbx.mf +% +% (c) Copyright 1995, 1996, 1997 J"org Knappen +% (c) Copyright 1990, 1992 Norbert Schwarz +% +% This file is part of ecfonts version 1.0 +% +% Please read the files 00readme.txt, 00inst.txt, 00error.txt, and +% copyrite.txt for further information +% +% You find some documentation in ecdoc.tex (needs LaTeX2e) +% +% Content: +% +% Parameter for +% +% European Computer Modern Bold Extend Roman + +%% modified: Han-Wen Nienhuys, change u# down to ecrm value. +% +% + +font_identifier:="ECB"; +font_size (gensize*pt#); +basedef ( 5, 6, 7, 8, 9, 10, 12); +gendef [1/36pt#]( u# )( 12.5, 14, 15.5, 17, 18.5, 20, 23.5); +gendef [1/36pt#]( width_adj# )( 7, 7.8, 8.6, 9.4, 10.2, 11, 13); +gendef [1/36pt#]( serif_fit# )( 0, 0, 0, 0, 0, 0, 0); +gendef [1/36pt#]( cap_serif_fit# )( 3, 3.8, 4.6, 5.4, 6.2, 7, 8); +gendef [1/36pt#]( letter_fit# )( 3, 2, 1, 0, 0, 0, 0); +gendef [1/36pt#]( body_height# )( 135, 162, 189, 216, 243, 270, 324); +gendef [1/36pt#]( asc_height# )( 125, 150, 175, 200, 225, 250, 300); +gendef [1/36pt#]( cap_height# )( 123.5, 148.2, 172.9, 197.6, 222.3, 247, 296.4); +gendef [1/36pt#]( fig_height# )( 116, 139.2, 162.4, 185.6, 208.8, 232, 278.4); +gendef [1/36pt#]( x_height# )( 80, 96, 112, 128, 144, 160, 192); +gendef [1/36pt#]( math_axis# )( 45, 54, 63, 72, 81, 90, 108); +gendef [1/36pt#]( bar_height# )( 40, 49, 58, 67, 76, 85, 102); +gendef [1/36pt#]( comma_depth# )( 35, 42, 49, 56, 63, 70, 84); +gendef [1/36pt#]( desc_depth# )( 35, 42, 49, 56, 63, 70, 84); +gendef [1/36pt#]( acc_height# )( 37.5, 45, 52.5, 60, 67.5, 75, 90); +gendef [1/36pt#]( dot_height# )( 37.5, 45, 52.5, 60, 67.5, 75, 90); +gendef [1/36pt#]( udot_height# )( 29.5, 35.5, 41.3, 47.2, 53.1, 59, 70.8); +gendef [1/36pt#]( crisp# )( 0, 0, 0, 0, 0, 0, 0); +gendef [1/36pt#]( tiny# )( 9, 10, 11, 12, 13, 13, 13); +gendef [1/36pt#]( fine# )( 8, 9, 9, 10, 10, 10, 10); +gendef [1/36pt#]( thin_join# )( 8, 9, 9, 10, 10, 10, 10.5); +gendef [1/36pt#]( hair# )( 15, 15.4, 15.8, 16.2, 16.6, 17, 18.3); +gendef [1/36pt#]( stem# )( 24, 28, 32, 35, 38, 41, 47); +gendef [1/36pt#]( curve# )( 27, 31, 35, 39, 43, 46, 52); +gendef [1/36pt#]( ess# )( 19, 25, 29, 32, 35, 38, 44); +gendef [1/36pt#]( flare# )( 27, 31, 35, 39, 42, 45, 51); +gendef [1/36pt#]( dot_size# )( 31, 36, 41, 46, 51, 56, 62); +gendef [1/36pt#]( cap_hair# )( 17, 18, 18, 19, 19, 19, 20); +gendef [1/36pt#]( cap_stem# )( 28, 33, 38, 43, 47, 51, 57); +gendef [1/36pt#]( cap_curve# )( 31, 36, 41, 46, 51, 55, 61); +gendef [1/36pt#]( cap_ess# )( 24, 31, 37, 43, 48, 53, 59); +gendef [pt#]( rule_thickness#)( .43, .47, .51, .54, .57, .60, .66); +gendef [1/36pt#]( dish# )( .7, .8, .9, 1, 1, 1, 1); +gendef [1/36pt#]( bracket# )( 5, 6, 7, 8, 9, 10, 12); +gendef [1/36pt#]( jut# )( 13, 15, 17, 19, 22, 25, 30); +gendef [1/36pt#]( cap_jut# )( 19, 23, 27, 31, 35, 39, 46); +gendef [1/36pt#]( beak_jut# )( 7, 7.8, 8.6, 9.4, 10.2, 11, 12.4); +gendef [1/36pt#]( beak# )( 25, 36, 46, 55, 63, 70, 84); +gendef [1/36pt#]( vair# )( 10, 11, 11.5, 12, 12.5, 13, 14.3); +gendef [pt#]( notch_cut# )( 5, 6, 7, 8, 9, 10, 12); +gendef [1/36pt#]( bar# )( 12, 13, 14, 15, 16, 17, 18.5); +gendef [1/36pt#]( slab# )( 12, 13, 14, 15, 16, 17, 18.5); +gendef [1/36pt#]( cap_bar# )( 12, 13, 14, 15, 16, 17, 18.5); +gendef [1/36pt#]( cap_band# )( 12, 13, 14, 15, 16, 17, 18.5); +gendef [pt#]( cap_notch_cut# )( 5, 6, 7, 8, 9, 10, 12); +gendef [1/36pt#]( serif_drop# )( 1.5, 1.8, 2.1, 2.4, 2.7, 3, 3.6); +gendef [1/36pt#]( stem_corr# )( 1.5, 1.6, 1.7, 1.8, 1.9, 2, 2); +gendef [1/36pt#]( vair_corr# )( 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.5); +gendef [1/36pt#]( apex_corr# )( 9, 5, 2, 0, 0, 0, 0); +gendef [1/36pt#]( o# )( 3, 3, 3, 4, 4, 4, 5); +gendef [1/36pt#]( apex_o# )( 3, 3, 3, 3, 3, 3, 4); +slant:=0; +gendef ( fudge )( 1, 1, 1, 1, 1, 1, 1); +gendef ( math_spread )( 1.5, 1.3, 1.1, .9, .7, .5, .5); +superness:=8/11; +superpull:=1/8; +beak_darkness:=.4; +square_dots:=false; +hefty:=false; +serifs:=true; +monospace:=false; +variant_g:=false; +low_asterisk:=false; +math_fitting:=false; + +clear_extra_memory; + +generate exroman; + +endinput; diff --git a/mf/ecb10.mf b/mf/ecb10.mf new file mode 100644 index 0000000000..3e5299e159 --- /dev/null +++ b/mf/ecb10.mf @@ -0,0 +1,3 @@ +if unknown exbase: input exbase fi; +gensize:=10; +generate ecb; diff --git a/scripts/lilypond-book.py b/scripts/lilypond-book.py index d1afc82560..eaafc7dbad 100644 --- a/scripts/lilypond-book.py +++ b/scripts/lilypond-book.py @@ -420,7 +420,7 @@ def to_eps (file): # Redirect to stderr cmd = '(( %s >&2 ) >&- )' % cmd ly.system (cmd) - ly.system ('dvips -Ppdf -u+lilypond.map -E -o %s.eps %s' \ + ly.system ('dvips -Ppdf -u+ec-mftrace.map -u+lilypond.map -E -o %s.eps %s' \ % (file, file)) @@ -435,7 +435,7 @@ def to_eps (file): if re.search ("^%%Pages: ", f.readline ()): # make non EPS. - ly.system ('dvips -Ppdf -u+lilypond.map -o %s.eps %s' \ + ly.system ('dvips -Ppdf -u+ec-mftrace.map -u+lilypond.map -o %s.eps %s' \ % (file, file)) break diff --git a/scripts/lilypond.py b/scripts/lilypond.py index 4851eceff4..ad0b414faa 100644 --- a/scripts/lilypond.py +++ b/scripts/lilypond.py @@ -508,7 +508,7 @@ leaving a PS file in OUTBASE.ps pass if pfa_file: - opts = opts + ' -Ppdf -G0 -u +sauter-mftrace.map -u +lilypond.map' + opts = opts + ' -Ppdf -G0 -u +ec-mftrace.map -u +lilypond.map' else: ly.warning (_ ('''Trying create PDF, but no PFA fonts found. Using bitmap fonts instead. This will look bad.''')) @@ -519,7 +519,7 @@ Using bitmap fonts instead. This will look bad.''')) if preview_p: for score in find_tex_files (files, extra): preview_base = ly.strip_extension (score[0], '.tex') - cmd = 'dvips -E -Ppdf -u+sauter-mftrace.map -u+lilypond.map -o%s %s' \ + cmd = 'dvips -E -Ppdf -u+ec-mftrace.map -u+lilypond.map -o%s %s' \ % (preview_base + '.preview.ps', preview_base + '.preview.dvi') ly.system (cmd)