From eafc6f83cf2efd2469e4c59ad4854d12578175c1 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Fri, 26 Sep 1997 09:35:36 +0200 Subject: [PATCH] patch::: 0.1.17.jcn2: biems pl 17.jcn2 - egcs compile (no link yet) - nicer 4rest - beam font (je kunt wel tegen een grapje, eva?) - mf-to-table: * "breapth" (x-depth) feature * handle generic stuff such as beams --- NEWS | 8 +++++ VERSION | 2 +- bin/mf-to-table.in | 16 ++++++--- init/dyn10.ly | 2 +- init/font-en-tja16.ly | 29 +++++++++------- init/font-en-tja20.ly | 29 +++++++++------- init/table16.ly | 2 +- init/table20.ly | 2 +- input/font.ly | 5 ++- lily/clef-grav.cc | 2 +- lily/include/translator-group.hh | 5 ++- lily/performer.cc | 4 --- lily/rhythmic-column-grav.cc | 3 +- lily/translator-group.cc | 9 ++++- make/Toplevel.make.in | 4 +-- mf/Makefile | 8 ++--- mf/autometric.mf | 15 +++++++-- mf/bolletjes.mf | 8 ++--- mf/dimen.tex | 9 +++-- mf/eindelijk.mf | 37 ++++++++++---------- mf/font-en-tja16.mf | 1 + mf/font-en-tja20.mf | 1 + mf/wat-zie-ik.mf | 58 ++++++++++++++++++++++++++++++++ tex/dyn10.tex | 2 +- tex/fetdefs.tex | 17 +++++++++- tex/font-en-tja16.tex | 7 +++- tex/font-en-tja20.tex | 7 +++- tex/taupindefs.tex | 12 +++---- 28 files changed, 221 insertions(+), 83 deletions(-) create mode 100644 mf/wat-zie-ik.mf diff --git a/NEWS b/NEWS index 3dbecdea57..de36da862a 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +pl 17.jcn2 + - egcs compile (no link yet) + - nicer 4rest + - beam font (je kunt wel tegen een grapje, eva?) + - mf-to-table: + * "breapth" (x-depth) feature + * handle generic stuff such as beams + pl 17.jcn1 - all of the above diff --git a/VERSION b/VERSION index c7e2cb0a84..dc2827164c 100644 --- a/VERSION +++ b/VERSION @@ -3,4 +3,4 @@ TOPLEVEL_MINOR_VERSION = 1 TOPLEVEL_PATCH_LEVEL = 17 # use to send patches, always empty for released version: -TOPLEVEL_MY_PATCH_LEVEL = .jcn1 +TOPLEVEL_MY_PATCH_LEVEL = .jcn2 diff --git a/bin/mf-to-table.in b/bin/mf-to-table.in index dbca26c004..c7e5a25b94 100644 --- a/bin/mf-to-table.in +++ b/bin/mf-to-table.in @@ -68,10 +68,18 @@ sub make_table my $w = $fields [3]; my $h = $fields [4]; my $d = $fields [5]; - my $id = $fields [6]; - my $texstr = $fields [7]; - print OUTLY sprintf( "\"%s\"\t\"\\%s\"\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\n", $id, $texstr, 0, $w, $h, $d ); - print OUTTEX sprintf( "\\fetdef\\%s{%d}\n", $texstr, $c); + my $b = $fields [6]; + my $id = $fields [7]; + my $texstr = $fields [8]; + print OUTLY sprintf( "\"%s\"\t\"\\%s\"\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\t%.2f\\pt\n", $id, $texstr, -$b, $w, $h, -$d ); + # remove % from generic chars, and save start charcode + my $defstr = "\\fetdef"; + if ($texstr =~ /{%/) { + $texstr =~ s/{%.*//; + $texstr .= "start"; + $defstr = "\\def" + } + print OUTTEX sprintf( "%s\\%s{%d}\n", $defstr, $texstr, $c); } else { print STDERR "mf-to-table: $lineno: unknown label: \`$label\'\n"; } diff --git a/init/dyn10.ly b/init/dyn10.ly index b0697a1e61..80a224c5c0 100644 --- a/init/dyn10.ly +++ b/init/dyn10.ly @@ -1,4 +1,4 @@ -% generated at Thu Sep 25 01:22:50 1997 from out/dyn10.log +% generated at Fri Sep 26 09:25:28 1997 from out/dyn10.log % changes will be lost % dyn=\symboltables { diff --git a/init/font-en-tja16.ly b/init/font-en-tja16.ly index 905ba2cf9a..f060334fd9 100644 --- a/init/font-en-tja16.ly +++ b/init/font-en-tja16.ly @@ -1,20 +1,25 @@ -% generated at Thu Sep 25 01:22:51 1997 from out/font-en-tja16.log +% generated at Fri Sep 26 09:25:30 1997 from out/font-en-tja16.log % changes will be lost % font-en-tja=\symboltables { "balls" = \table { - "0" "\wholeball" 0.00\pt 8.64\pt 4.80\pt 0.00\pt - "1" "\halfball" 0.00\pt 6.01\pt 4.80\pt 0.00\pt - "2" "\quartball" 0.00\pt 5.76\pt 4.80\pt 0.00\pt - "-1" "\breveball" 0.00\pt 8.00\pt 4.00\pt 0.00\pt - "-2" "\longaball" 0.00\pt 8.00\pt 4.00\pt 0.00\pt + "0" "\wholeball" -0.00\pt 8.28\pt 4.60\pt -0.00\pt + "1" "\halfball" -0.00\pt 5.76\pt 4.60\pt -0.00\pt + "2" "\quartball" -0.00\pt 5.52\pt 4.60\pt -0.00\pt + "-1" "\breveball" -0.00\pt 8.00\pt 4.00\pt -0.00\pt + "-2" "\longaball" -0.00\pt 8.00\pt 4.00\pt -0.00\pt } "almostrests" = \table { - "4" "\quartrest" 0.00\pt 4.00\pt 16.00\pt 0.00\pt - "-2" "\eighthrest" 0.00\pt 5.33\pt 7.47\pt 0.00\pt - "-2" "\sixteenthrest" 0.00\pt 5.33\pt 11.47\pt 0.00\pt - "-2" "\thirtysecondrest" 0.00\pt 5.33\pt 15.47\pt 0.00\pt - "-2" "\sixtyfourthrest" 0.00\pt 5.33\pt 19.47\pt 0.00\pt - "-2" "\hundredtwentyeighthrest" 0.00\pt 5.33\pt 23.47\pt 0.00\pt + "4" "\quartrest" -0.00\pt 4.00\pt 16.00\pt -0.00\pt + "-2" "\eighthrest" -0.00\pt 5.33\pt 7.47\pt -0.00\pt + "-2" "\sixteenthrest" -0.00\pt 5.33\pt 11.47\pt -0.00\pt + "-2" "\thirtysecondrest" -0.00\pt 5.33\pt 15.47\pt -0.00\pt + "-2" "\sixtyfourthrest" -0.00\pt 5.33\pt 19.47\pt -0.00\pt + "-2" "\hundredtwentyeighthrest" -0.00\pt 5.33\pt 23.47\pt -0.00\pt + } + "beamslopes" = \table { + "uslope" "\beamuslope{%}{%}" 2.00\pt 32.00\pt 0.00\pt -0.00\pt + "dslope" "\beamdslope{%}{%}" 2.00\pt 32.00\pt 0.00\pt -0.00\pt + "horizontal" "\rulesym{%}{%}" -0.00\pt 0.00\pt 0.00\pt -0.00\pt } % } % font-en-tja diff --git a/init/font-en-tja20.ly b/init/font-en-tja20.ly index cabba87281..b9a1c2f314 100644 --- a/init/font-en-tja20.ly +++ b/init/font-en-tja20.ly @@ -1,20 +1,25 @@ -% generated at Thu Sep 25 01:22:52 1997 from out/font-en-tja20.log +% generated at Fri Sep 26 09:25:32 1997 from out/font-en-tja20.log % changes will be lost % font-en-tja=\symboltables { "balls" = \table { - "0" "\wholeball" 0.00\pt 10.44\pt 5.80\pt 0.00\pt - "1" "\halfball" 0.00\pt 7.26\pt 5.80\pt 0.00\pt - "2" "\quartball" 0.00\pt 6.97\pt 5.80\pt 0.00\pt - "-1" "\breveball" 0.00\pt 10.00\pt 5.00\pt 0.00\pt - "-2" "\longaball" 0.00\pt 10.00\pt 5.00\pt 0.00\pt + "0" "\wholeball" -0.00\pt 10.08\pt 5.60\pt -0.00\pt + "1" "\halfball" -0.00\pt 7.01\pt 5.60\pt -0.00\pt + "2" "\quartball" -0.00\pt 6.73\pt 5.60\pt -0.00\pt + "-1" "\breveball" -0.00\pt 10.00\pt 5.00\pt -0.00\pt + "-2" "\longaball" -0.00\pt 10.00\pt 5.00\pt -0.00\pt } "almostrests" = \table { - "4" "\quartrest" 0.00\pt 5.00\pt 20.00\pt 0.00\pt - "-2" "\eighthrest" 0.00\pt 6.67\pt 9.13\pt 0.00\pt - "-2" "\sixteenthrest" 0.00\pt 6.67\pt 14.13\pt 0.00\pt - "-2" "\thirtysecondrest" 0.00\pt 6.67\pt 19.13\pt 0.00\pt - "-2" "\sixtyfourthrest" 0.00\pt 6.67\pt 24.13\pt 0.00\pt - "-2" "\hundredtwentyeighthrest" 0.00\pt 6.67\pt 29.13\pt 0.00\pt + "4" "\quartrest" -0.00\pt 5.00\pt 20.00\pt -0.00\pt + "-2" "\eighthrest" -0.00\pt 6.67\pt 9.13\pt -0.00\pt + "-2" "\sixteenthrest" -0.00\pt 6.67\pt 14.13\pt -0.00\pt + "-2" "\thirtysecondrest" -0.00\pt 6.67\pt 19.13\pt -0.00\pt + "-2" "\sixtyfourthrest" -0.00\pt 6.67\pt 24.13\pt -0.00\pt + "-2" "\hundredtwentyeighthrest" -0.00\pt 6.67\pt 29.13\pt -0.00\pt + } + "beamslopes" = \table { + "uslope" "\beamuslope{%}{%}" 2.00\pt 32.00\pt 0.00\pt -0.00\pt + "dslope" "\beamdslope{%}{%}" 2.00\pt 32.00\pt 0.00\pt -0.00\pt + "horizontal" "\rulesym{%}{%}" -0.00\pt 0.00\pt 0.00\pt -0.00\pt } % } % font-en-tja diff --git a/init/table16.ly b/init/table16.ly index 99a3a295a2..46ff184838 100644 --- a/init/table16.ly +++ b/init/table16.ly @@ -165,7 +165,7 @@ table_sixteen= "d7" "\dhundredtwentyeighthflag" 0.0\pt 4.0\pt 0.0\pt 0.0\pt } - "beamslopes" = \table { + "oldbeamslopes" = \table { "uslope" "\beamuslope{%}{%}" 2.0\pt 64.0\pt 0.0\pt 0.0\pt "dslope" "\beamdslope{%}{%}" 2.0\pt 64.0\pt 0.0\pt 0.0\pt "horizontal" "\rulesym{%}{%}" diff --git a/init/table20.ly b/init/table20.ly index c2a8f02bca..2d276a6af4 100644 --- a/init/table20.ly +++ b/init/table20.ly @@ -165,7 +165,7 @@ table_twenty = "d7" "\dhundredtwentyeighthflag" 0.0\pt 5.0\pt 0.0\pt 0.0\pt } - "beamslopes" = \table { + "oldbeamslopes" = \table { "uslope" "\beamuslope{%}{%}" 2.0\pt 64.0\pt 0.0\pt 0.0\pt "dslope" "\beamdslope{%}{%}" 2.0\pt 64.0\pt 0.0\pt 0.0\pt "horizontal" "\rulesym{%}{%}" diff --git a/input/font.ly b/input/font.ly index 1a1cd0b9bc..738871d15f 100644 --- a/input/font.ly +++ b/input/font.ly @@ -16,7 +16,10 @@ TestedFeatures font-en-tja c2 g c' a' c4 g c' a' a\ppp a\pp a\p a\mp a\mf a\f a\ff a\fff - a\fp a\sf a\sfz % a\fz a\rf + a\fp a\sf a\sfz a % a\fz a\rf + [c8 c] [a' a'] +% [c a'] [a' c] + [c d e f] [a' g' f' e'] r1 r2 r4 r8 r16 r32 r64 r128 } \paper{ diff --git a/lily/clef-grav.cc b/lily/clef-grav.cc index 670e5d9cd0..fc70af6a0e 100644 --- a/lily/clef-grav.cc +++ b/lily/clef-grav.cc @@ -75,7 +75,7 @@ void Clef_engraver::do_creation_processing() { Scalar def = get_property ("defaultclef"); - if (def) + if (def.operator bool ()) // egcs: Scalar to bool is ambiguous set_type (def); if (clef_type_str_.length_i ()) create_clef(); diff --git a/lily/include/translator-group.hh b/lily/include/translator-group.hh index dc2e8365eb..1cc3a0b3c3 100644 --- a/lily/include/translator-group.hh +++ b/lily/include/translator-group.hh @@ -17,7 +17,9 @@ #include "plist.hh" #include "parray.hh" +// egcs typedef void (Translator::*Method_pointer)(void); +typedef void (Translator::*Const_method_pointer)(void) const; /** Make some kind of #Element#s from Requests. Elements are made by hierarchically grouped #Translator#s @@ -68,7 +70,8 @@ protected: virtual void do_post_move_processing(); virtual void do_creation_processing(); virtual void do_removal_processing(); - void each (Method_pointer) const; + void each (Method_pointer); + void each (Const_method_pointer) const; }; #endif // TRANSLATOR_GROUP_HH diff --git a/lily/performer.cc b/lily/performer.cc index 5775f157eb..ed171b5a70 100644 --- a/lily/performer.cc +++ b/lily/performer.cc @@ -14,10 +14,6 @@ IMPLEMENT_IS_TYPE_B1(Performer, Translator); -Performer::Performer() -{ -} - void Performer::play (Audio_element* p) { diff --git a/lily/rhythmic-column-grav.cc b/lily/rhythmic-column-grav.cc index af3238c0f9..7cba706c24 100644 --- a/lily/rhythmic-column-grav.cc +++ b/lily/rhythmic-column-grav.cc @@ -76,7 +76,8 @@ Rhythmic_column_engraver::do_pre_move_processing() if (ncol_p_) { if (! ncol_p_->h_shift_b_) - ncol_p_->h_shift_b_ = (bool) get_property ("hshift"); + // egcs + ncol_p_->h_shift_b_ = get_property ("hshift").operator bool (); if (! ncol_p_->dir_) ncol_p_->dir_ =(Direction) int(get_property ("ydirection")); diff --git a/lily/translator-group.cc b/lily/translator-group.cc index 1521ede70d..5725a028c3 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -267,7 +267,14 @@ Translator_group::get_default_interpreter() } void -Translator_group::each (Method_pointer method) const +Translator_group::each (Method_pointer method) +{ + for (PCursor i (trans_p_list_.top ()); i.ok (); i++) + (i.ptr()->*method) (); +} + +void +Translator_group::each (Const_method_pointer method) const { for (PCursor i (trans_p_list_.top ()); i.ok (); i++) (i.ptr()->*method) (); diff --git a/make/Toplevel.make.in b/make/Toplevel.make.in index e472fde411..5de434c161 100644 --- a/make/Toplevel.make.in +++ b/make/Toplevel.make.in @@ -27,8 +27,8 @@ include ./$(depth)/make/Variables.make # descent order into subdirectories: # -SUBDIRS = flower lib lily mf mi2mu \ - Documentation bin init input tex make +SUBDIRS = bin flower lib lily mf mi2mu \ + Documentation init input tex make # # list of distribution files: diff --git a/mf/Makefile b/mf/Makefile index 42acbad8f9..6e6446bcfe 100644 --- a/mf/Makefile +++ b/mf/Makefile @@ -46,12 +46,12 @@ localuninstall: # dependencies: # $(lyout)/dyn10.ly: autometric.mf ital-f.mf ital-m.mf ital-p.mf ital-r.mf ital-s.mf ital-z.mf dyn10.mf -$(lyout)/font-en-tja16.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf -$(lyout)/font-en-tja20.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf +$(lyout)/font-en-tja16.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf wat-zie-ik.mf +$(lyout)/font-en-tja20.ly: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf wat-zie-ik.mf # $(texout)/dyn10.tex: autometric.mf ital-f.mf ital-m.mf ital-p.mf ital-r.mf ital-s.mf ital-z.mf dyn10.mf -$(texout)/font-en-tja16.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf -$(texout)/font-en-tja20.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf +$(texout)/font-en-tja16.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja16.mf wat-zie-ik.mf +$(texout)/font-en-tja20.tex: autometric.mf bolletjes.mf eindelijk.mf font-en-tja20.mf wat-zie-ik.mf # diff --git a/mf/autometric.mf b/mf/autometric.mf index 6d87094155..e178978ddd 100644 --- a/mf/autometric.mf +++ b/mf/autometric.mf @@ -1,5 +1,9 @@ % autometric.mf % part of LilyPond's pretty-but-neat music font +% +% these macros help create ascii logging output +% to automate generation of lily tables and tex backend +% parsed by the mf-to-table script % font or database? def fet_beginfont(expr name,size) = @@ -25,8 +29,15 @@ def fet_endgroup(expr name) = message ""; enddef; -def fet_beginchar(expr code,w,h,d,name,id,texstr) = - message "@@char:"&name&":"&decimal code&":"&decimal w&":"&decimal h&":"&decimal d&":"&id&":"&texstr&"@@"; +% starts just as plain mf's beginchar: +% charcode, width, height, depth +% and then adds: +% charname see below +% breapth x-depth +% id index in lily's table +% texstr name of tex macro in lily's table and tex backend +def fet_beginchar(expr code,w,h,d,b,name,id,texstr) = + message "@@char:"&name&":"&decimal code&":"&decimal w&":"&decimal h&":"&decimal d&":"&decimal b&":"&id&":"&texstr&"@@"; beginchar(code,w,h,d) name; enddef; diff --git a/mf/bolletjes.mf b/mf/bolletjes.mf index fadb1683cd..bbc31feed2 100644 --- a/mf/bolletjes.mf +++ b/mf/bolletjes.mf @@ -7,7 +7,7 @@ interline#:=staffsize#/(stafflines-1); %noteheight#:=interline#; % even more pronounced (almost overdone), just like the original -noteheight#:=interline#+2stafflinethickness#; +noteheight#:=interline#+1.5stafflinethickness#; def test_grid = if test>1: @@ -46,7 +46,7 @@ def end_notehead(expr code,height,name,id,texstr) = define_pixels(a,b); define_pixels(w,h); define_pixels(ai,bi); - fet_beginchar(code,w#,h#,0,name,id,texstr); + fet_beginchar(code,w#,h#,0,0,name,id,texstr); path black,white; black=distorted_ellipse(a,b,a*err_y_a,0,super); white=distorted_ellipse(ai,bi,ai*err_y_ai,bi*err_x_bi,superi); @@ -156,7 +156,7 @@ nhh#:=interline#; nhw#:=6/5interline#; define_pixels(nhh,nhw); -fet_beginchar(incr code,2interline#,interline#,0,"Brevis notehead","-1","breveball"); +fet_beginchar(incr code,2interline#,interline#,0,0,"Brevis notehead","-1","breveball"); fill_square (5/4nhw, .25nhh, (0,.25nhh)); add_mirror (origin, right); x1=x2=0; x3=x4=5/4nhw; y1=-y2=y3=-y4=.7nhh; @@ -165,7 +165,7 @@ fet_beginchar(incr code,2interline#,interline#,0,"Brevis notehead","-1","breveba savepic; endchar; -fet_beginchar(incr code,2interline#,interline#,0,"Longa notehead","-2","longaball"); +fet_beginchar(incr code,2interline#,interline#,0,0,"Longa notehead","-2","longaball"); callpic; pickup line_pen; draw (5/4nhw,-.7nhh)--(5/4nhw,-1.7nhh); diff --git a/mf/dimen.tex b/mf/dimen.tex index dd1df884d6..acba4b1d5b 100644 --- a/mf/dimen.tex +++ b/mf/dimen.tex @@ -4,9 +4,14 @@ \font\musicfont=musix16 \font\slurfont=xslu16 -\font\specfont=musixspx -\def\thefont{\musicfont} +\font\specfont=musixspx % tildes? beams, circles, (de)-crescendos, pianobraces +\font\eglerfont=opus16 % notes, clefs, beams +\font\eglerspec=opussps % tabulars, circles, glissandi, pianobraces +\font\tjafont=font-en-tja16 +%\def\thefont{\musicfont} %\def\thefont{\specfont} +%\def\thefont{\eglerfont} +\def\thefont{\tjafont} \def\mb#1{{\thefont\char#1}} diff --git a/mf/eindelijk.mf b/mf/eindelijk.mf index ff2dc89d73..56541e11c3 100644 --- a/mf/eindelijk.mf +++ b/mf/eindelijk.mf @@ -4,11 +4,9 @@ define_pixels(interline); define_pixels(stafflinethickness); % MO*TeX stuff -nhh#:=interline#; -nhw#:=6/5*interline#; -define_pixels(nhh,nhw); - - +% nhh#:=interline#; +% nhw#:=6/5*interline#; +% define_pixels(interline,nhw); med#:=1/33designsize; thick#:=1/16designsize; @@ -32,22 +30,25 @@ stem#:=1/5interline#; flare#:=2/3interline#; define_pixels(stem,flare); -fet_beginchar(incr code,interline#,4interline#,0,"Quarter rest","4","quartrest"); +fet_beginchar(incr code,interline#,4interline#,0,0,"Quarter rest","4","quartrest"); alpha:=-50; penpos1(rthin,alpha+90); penpos2(5/4rthick,alpha); penpos4(5/4rthick,alpha); penpos3(3/4rthick,alpha); penpos6(rthin,alpha-20); - penpos7(4/3thick,alpha); +% penpos6(rthick,alpha-20); +% penpos7(4/3thick,alpha); + penpos7(5/8rthick,alpha); penpos8(rthin,-10); - y1l=7/2nhh; x1l=1/3nhh; - z2r=z1+(nhh*right) rotated alpha; + y1l=7/2interline; x1l=1/3interline; + z2r=z1+(interline*right) rotated alpha; z3=1/2[z2,z4]; - x4=3/8nhh; y4=2nhh; - z6=z4l+(5/4nhh*right) rotated alpha; - x7l=x4l; y7r=y6l; - x8=1/3nhw; y8= nhh-1/4nhh; + x4=3/8interline; y4=2interline; + z6=z4l+(5/4interline*right) rotated alpha; +% x7l=x4l; y7r=y6l; + x7l=x4l; y7l=y4r; + x8=2/5interline; y8= interline-1/4interline; z5=z6r shifted (sqrt(2)*rthin/4,sqrt(2)*rthin/4); pickup penrazor scaled rthin rotated 45; @@ -92,7 +93,7 @@ def brush(expr a,w,b,v) = endgroup; enddef; -fet_beginchar(incr code,4/3interline#,5/3interline#+2stafflinethickness#,0,"8th rest","-2","eighthrest"); +fet_beginchar(incr code,4/3interline#,5/3interline#+2stafflinethickness#,0,0,"8th rest","-2","eighthrest"); save x,y; x1=w-stem/6; y1=h-flare/4; crook (z1,w-stem/6); @@ -104,7 +105,7 @@ fet_beginchar(incr code,4/3interline#,5/3interline#+2stafflinethickness#,0,"8th % currentpicture:=currentpicture shifted (0,interline+2stafflinethickness); endchar; -fet_beginchar(incr code,4/3interline#,5/3interline#+interline#+2stafflinethickness#,0,"16th rest","-2","sixteenthrest"); +fet_beginchar(incr code,4/3interline#,5/3interline#+interline#+2stafflinethickness#,0,0,"16th rest","-2","sixteenthrest"); save x,y; x1=w-stem/6; y1=h-flare/4; z2-z1=whatever*dir74; @@ -117,7 +118,7 @@ fet_beginchar(incr code,4/3interline#,5/3interline#+interline#+2stafflinethickne % currentpicture:=currentpicture shifted (0,2stafflinethickness); endchar; -fet_beginchar(incr code,4/3interline#,5/3interline#+2interline#+2stafflinethickness#,0,"32th rest","-2","thirtysecondrest"); +fet_beginchar(incr code,4/3interline#,5/3interline#+2interline#+2stafflinethickness#,0,0,"32th rest","-2","thirtysecondrest"); save x,y; x1=w-stem/6; y1=h-flare/4; z2-z1=whatever*dir76; @@ -133,7 +134,7 @@ fet_beginchar(incr code,4/3interline#,5/3interline#+2interline#+2stafflinethickn % currentpicture:=currentpicture shifted (0,2stafflinethickness); endchar; -fet_beginchar(incr code,4/3interline#,5/3interline#+3interline#+2stafflinethickness#,0,"64th rest","-2","sixtyfourthrest"); +fet_beginchar(incr code,4/3interline#,5/3interline#+3interline#+2stafflinethickness#,0,0,"64th rest","-2","sixtyfourthrest"); save x,y; x1=w-stem/6; y1=h-flare/4; z2-z1=whatever*dir78; @@ -152,7 +153,7 @@ fet_beginchar(incr code,4/3interline#,5/3interline#+3interline#+2stafflinethickn % currentpicture:=currentpicture shifted (0,2stafflinethickness); endchar; -fet_beginchar(incr code,4/3interline#,5/3interline#+4interline#+2stafflinethickness#,0,"128th rest","-2","hundredtwentyeighthrest"); +fet_beginchar(incr code,4/3interline#,5/3interline#+4interline#+2stafflinethickness#,0,0,"128th rest","-2","hundredtwentyeighthrest"); save x,y; x1=w-stem/6; y1=h-flare/4; z2-z1=whatever*dir80; diff --git a/mf/font-en-tja16.mf b/mf/font-en-tja16.mf index c4bec4c8b9..f82dc30dbb 100644 --- a/mf/font-en-tja16.mf +++ b/mf/font-en-tja16.mf @@ -18,6 +18,7 @@ code:=-1; input bolletjes; input eindelijk; +input wat-zie-ik; fet_endfont("font-en-tja"); diff --git a/mf/font-en-tja20.mf b/mf/font-en-tja20.mf index f58aedfb62..0015e173cf 100644 --- a/mf/font-en-tja20.mf +++ b/mf/font-en-tja20.mf @@ -16,6 +16,7 @@ code:=-1; input bolletjes; input eindelijk; +input wat-zie-ik; fet_endfont("font-en-tja"); diff --git a/mf/wat-zie-ik.mf b/mf/wat-zie-ik.mf new file mode 100644 index 0000000000..0f835ae512 --- /dev/null +++ b/mf/wat-zie-ik.mf @@ -0,0 +1,58 @@ +% wat-zie-ik.mf +% part of LilyPond's pretty-but-neat music font +% beams: plat en steil + +fet_begingroup("beamslopes"); + +beamheight#:=0.48interline#; +define_pixels(beamheight); + +pen beam_pen; +beam_pen:=penrazor scaled beamheight rotated 90; + +% mimic taupin-SLOPES for now -- because lily knows them +ELEM_TAN:=0.05; +SLOPES:=10; +LENGTHS:=5; +ELEM_LEN:=2; + +% fake char for tables; will be overwritten by mf +% misuse breapth for minimum length (mf-to-table negates breapth again) +fet_beginchar(code+1,ELEM_LEN**LENGTHS,0,0,-ELEM_LEN,"Beamslopes up","uslope","beamuslope{%}{%}"); + endchar; + +% Beamslopes up +for i:=1 upto SLOPES: + width:=ELEM_LEN; + for j:=1 upto LENGTHS: + beginchar(incr code,width,0,0); + pickup beam_pen; + draw origin--(lft w,w*i*ELEM_TAN); + endchar; + width:=2*width; + endfor; + endfor; + +% fake char for tables; will be overwritten by mf +% misuse breapth for minimum length (mf-to-table negates breapth again) +fet_beginchar(code+1,ELEM_LEN**LENGTHS,0,0,-ELEM_LEN,"Beamslopes down","dslope","beamdslope{%}{%}"); + endchar; + +% Beamslopes down +for i:=1 upto SLOPES: + width:=ELEM_LEN; + for j:=1 upto LENGTHS: + beginchar(incr code,width,0,0); + pickup beam_pen; + draw origin--(lft w,-w*i*ELEM_TAN); + endchar; + width:=2*width; + endfor; + endfor; + +% fake char for tables +fet_beginchar(code+1*SLOPES*LENGTHS,0,0,0,0,"Horizontal beams","horizontal","rulesym{%}{%}"); + endchar; + +fet_endgroup("beamslopes"); + diff --git a/tex/dyn10.tex b/tex/dyn10.tex index b63ddfb36e..3d9a26df80 100644 --- a/tex/dyn10.tex +++ b/tex/dyn10.tex @@ -1,4 +1,4 @@ -% generated at Thu Sep 25 01:22:50 1997 from out/dyn10.log +% generated at Fri Sep 26 09:25:28 1997 from out/dyn10.log % changes will be lost % dyn diff --git a/tex/fetdefs.tex b/tex/fetdefs.tex index 049a3a59e7..39c7e36418 100644 --- a/tex/fetdefs.tex +++ b/tex/fetdefs.tex @@ -1,3 +1,5 @@ +% fetdefs.tex +% encapsulating tex backend for auto-generated font-en-tja definitions \def\fetsixteendefs{ \font\fontentja=font-en-tja16 @@ -8,6 +10,19 @@ % \def\fetdef#1#2{\def#1{\fetchar{#2}}} % ugh, linewidth, ugh, tablexx.ly balldims not used! -\def\fetdef#1#2{\def#1{\lower.5\staffrulethickness\hbox{\fetchar{#2}}}} +\def\fetdef#1#2{\def#1{\lower.3884\staffrulethickness\hbox{\fetchar{#2}}}} \def\fetchar#1{\fontentja\char#1} + \input font-en-tja20 + +\def\beamuslope#1#2{{\count0=#2\advance\count0 by#1 + \advance\count0 by \beamuslopestart + % huh?? -- think i followed taupin beam convention + % is lily confused? + \advance\count0 by -8 + \fetchar\count0}} +\def\beamdslope#1#2{{\count0=#2\advance\count0 by#1 + \advance\count0 by \beamdslopestart + % huh?? + \advance\count0 by -8 + \fetchar\count0}} diff --git a/tex/font-en-tja16.tex b/tex/font-en-tja16.tex index 3e3f447680..3419d253d6 100644 --- a/tex/font-en-tja16.tex +++ b/tex/font-en-tja16.tex @@ -1,4 +1,4 @@ -% generated at Thu Sep 25 01:22:51 1997 from out/font-en-tja16.log +% generated at Fri Sep 26 09:25:30 1997 from out/font-en-tja16.log % changes will be lost % font-en-tja @@ -17,3 +17,8 @@ \fetdef\sixtyfourthrest{9} \fetdef\hundredtwentyeighthrest{10} +% beamslopes +\def\beamuslopestart{11} +\def\beamdslopestart{61} +\def\rulesymstart{160} + diff --git a/tex/font-en-tja20.tex b/tex/font-en-tja20.tex index 42b2b50b75..2dd7bb4ad9 100644 --- a/tex/font-en-tja20.tex +++ b/tex/font-en-tja20.tex @@ -1,4 +1,4 @@ -% generated at Thu Sep 25 01:22:52 1997 from out/font-en-tja20.log +% generated at Fri Sep 26 09:25:32 1997 from out/font-en-tja20.log % changes will be lost % font-en-tja @@ -17,3 +17,8 @@ \fetdef\sixtyfourthrest{9} \fetdef\hundredtwentyeighthrest{10} +% beamslopes +\def\beamuslopestart{11} +\def\beamdslopestart{61} +\def\rulesymstart{160} + diff --git a/tex/taupindefs.tex b/tex/taupindefs.tex index 77ffb3bcec..4a47f9dcc8 100644 --- a/tex/taupindefs.tex +++ b/tex/taupindefs.tex @@ -128,10 +128,10 @@ \def\tr{{\it tr}} -\def\beamuslope#1#2{{\count0=#2\advance\count0 by#1 - \advance\count0 by 122 - \musicfnt\char\count0}} -\def\beamdslope#1#2{{\count0=#2\advance\count0 by#1 - \advance\count0 by 186 - \musicfnt\char\count0}} +% \def\beamuslope#1#2{{\count0=#2\advance\count0 by#1 +% \advance\count0 by 122 +% \musicfnt\char\count0}} +% \def\beamdslope#1#2{{\count0=#2\advance\count0 by#1 +% \advance\count0 by 186 +% \musicfnt\char\count0}} -- 2.39.5