]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 0.1.15.jcn1: pats
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 Sep 1997 07:39:57 +0000 (09:39 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 18 Sep 1997 07:39:57 +0000 (09:39 +0200)
pl 15.jcn1
- bf: typos whole and half notehead
- de-uglyfied bolletjes.mf
- ascii output of font metrics in mf logfile

NEWS
VERSION
input/abbrev.ly
mf/TODO
mf/autometric.mf [new file with mode: 0644]
mf/bolletjes.mf
mf/dyn10.mf
mf/font-en-tja16.mf
mf/font-en-tja20.mf

diff --git a/NEWS b/NEWS
index 0946caab2d68138430ffb2f19bc4694880d531ac..811d918554d015eb30cb486b2fca6825f47ca564 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+pl 15.jcn1
+       - bf: typos whole and half notehead
+       - de-uglyfied bolletjes.mf
+       - ascii output of font metrics in mf logfile
+       
 pl 15
        - put top of NEWS file in the webpage
        - breadth first search for engravers.
diff --git a/VERSION b/VERSION
index e7f388b50643ec3c6851845ee5841302d365363d..9c1970c8a29ca07b837c9fcaa60772e1d3cbeb07 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -3,4 +3,4 @@ TOPLEVEL_MINOR_VERSION = 1
 TOPLEVEL_PATCH_LEVEL = 15
 
 # use to send patches, always empty for released version:
-TOPLEVEL_MY_PATCH_LEVEL = 
+TOPLEVEL_MY_PATCH_LEVEL = .jcn1
index 2ea0b483ceb688e35c5ec7727453901619d406fa..e81a18a4941c57a9480908d1b046edc2962ed78e 100644 (file)
@@ -14,7 +14,7 @@ TestedFeatures        simple abbreviations
                c4 c4: c4:32 c4: c4 c2.
                'a1
                'a1:32
-               'c4:8 c' 'c4:16 c'
+               'c4:8 c': 'c4:16 c':
 %              [ 'c8:16 'c 'c 'c ] [ a a a a ]
 %              [ 'c 'f 'b e ] 
 %              [ 'c16:32 'c 'c 'c ] [ a16:32 a a a ]
diff --git a/mf/TODO b/mf/TODO
index 06eef8d16bd4a712c00274504436d09cdf130050..d8263259209720a7e0ac587cc4689817065649ab 100644 (file)
--- a/mf/TODO
+++ b/mf/TODO
@@ -1,8 +1,9 @@
+       - add r to dynfont
        - move to OpusTeX fonts
-       - make own lilyfont{10,11,13,16,20} files
+       - make own font-en-tja{10,11,13,16,20} files
        - opustex/lilypond fonts from the same generic driver files
        - LilyPond fonts should generate TFM spacing info
-       - include important spaacing dims in TFM
+       - include important spacing dims in TFM
        - lilyrules.mf for different rules (lines) ?
        - check out Adobe Sonata/Petrucci font layout.  They are the
 standard for Music fonts
diff --git a/mf/autometric.mf b/mf/autometric.mf
new file mode 100644 (file)
index 0000000..ae9a8ed
--- /dev/null
@@ -0,0 +1,13 @@
+% metric.mf
+% part of LilyPond's pretty-but-neat music font
+
+def fet_beginfont(expr name,size) =
+       message "@@font:"&name&":"&decimal size&"@@";
+       message "";
+       enddef;
+       
+def fet_beginchar(expr code,w,h,d,name) =
+       message "@@char:"&name&":"&decimal code&":"&decimal w&":"&decimal h&":"&decimal d&"@@";
+       beginchar(code,w,h,d) name;
+       enddef;
+
index 9980b05be674b47f432e1188e5079ad42649bd75..849c9f9b6f7f68e22db91a8d00d15673b6061884 100644 (file)
@@ -5,32 +5,17 @@
 
 interline#:=staffsize#/(stafflines-1)+stafflinethickness#;
 
-def ugh_grid =
-       makegrid(-5pt,-4pt,-3pt,-2pt,-1pt,0pt,1pt,2pt,3pt,4pt,5pt)
-               (-5pt,-4pt,-3pt,-2pt,-1pt,0pt,1pt,2pt,3pt,4pt,5pt);
-       makegrid(-4.8pt,-4.6pt,-4.4pt,-4.2pt,-4.0pt,
-                -3.8pt,-3.6pt,-3.4pt,-3.2pt,-3.0pt,
-                -2.8pt,-2.6pt,-2.4pt,-2.2pt,-2.0pt,
-                -1.8pt,-1.6pt,-1.4pt,-1.2pt,-1.0pt,
-                -0.8pt,-0.6pt,-0.4pt,-0.2pt,-0.0pt,
-                0.0pt,0.2pt,0.4pt,0.6pt,0.8pt,
-                1.0pt,1.2pt,1.4pt,1.6pt,1.8pt,
-                2.0pt,2.2pt,2.4pt,2.6pt,2.8pt,
-                3.0pt,3.2pt,3.4pt,3.6pt,3.8pt,
-                4.0pt,4.2pt,4.4pt,4.6pt,4.8pt)
-               (-4.8pt,-4.6pt,-4.4pt,-4.2pt,-4.0pt,
-                -3.8pt,-3.6pt,-3.4pt,-3.2pt,-3.0pt,
-                -2.8pt,-2.6pt,-2.4pt,-2.2pt,-2.0pt,
-                -1.8pt,-1.6pt,-1.4pt,-1.2pt,-1.0pt,
-                -0.8pt,-0.6pt,-0.4pt,-0.2pt,-0.0pt,
-                0.0pt,0.2pt,0.4pt,0.6pt,0.8pt,
-                1.0pt,1.2pt,1.4pt,1.6pt,1.8pt,
-                2.0pt,2.2pt,2.4pt,2.6pt,2.8pt,
-                3.0pt,3.2pt,3.4pt,3.6pt,3.8pt,
-                4.0pt,4.2pt,4.4pt,4.6pt,4.8pt);
+def test_grid =
+if test>1:
+       proofrulethickness 1pt#;
+       makegrid(0pt,0pt for i:=-5pt step 1pt until 5pt: ,i endfor)
+               (0pt,0pt for i:=-5pt step 1pt until 5pt: ,i endfor);
+       proofrulethickness .1pt#;
+       makegrid(0pt,0pt for i:=-4.8pt step .2pt until 4.8pt: ,i endfor)
+               (0pt,0pt for i:=-4.8pt step .2pt until 4.8pt: ,i endfor);
+fi
        enddef;
 
-
 % a: x diameter
 % b: y diameter
 % err_x: drift of y axis at top
@@ -39,9 +24,14 @@ def distorted_ellipse(expr a,b,err_y,err_x,super) =
        superellipse((a,err_x),(-err_y,b),(-a,-err_x),(err_y,-b),super);
        enddef;
 
-% brr.
-% def notehead(expr code,il,hdb,adb,adw,xda,s,alpha,cda,ddb,r) =
-def notehead(expr code,interline,name) =
+def begin_notehead =
+       begingroup;
+       save a_b,err_y_a,alpha,super;
+       save ai_a,ai_bi,err_y_ai,err_x_bi,alphai,superi;
+       save b_h,a_w;
+       enddef;
+
+def end_notehead(expr code,interline,name) =
        save a,b,h,w,ai,bi;
        h#=interline;
        2b#=h#*b_h;
@@ -52,99 +42,84 @@ def notehead(expr code,interline,name) =
        define_pixels(a,b);
        define_pixels(w,h);
        define_pixels(ai,bi);
-%      save x;
-%      x1=-x3=a; x2=x4=0; y1=y3=0; y2=-y4=b;
-%      penlabels(1,2,3,4);
-if test>0:
-       beginchar(code,w#,h#,0); name;
-               fill distorted_ellipse(a,b,a*err_y_a,0,super);
-               unfill distorted_ellipse(ai,bi,ai*err_y_ai,0,superi);
-if test=1:
-               pickup pencircle;
-               draw (0,0)--(a,0) rotated alpha;
-               draw (0,0)--(-a,0) rotated alphai;
-else:
-               ugh_grid;
-fi
-else:
-       beginchar(code,w#,h#,0); name;
+       fet_beginchar(code,w#,h#,0,name);
                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);
+if test>0:
+               save x;
+               x1=-x3=a; x2=x4=0; y1=y3=0; y2=-y4=b;
+               penlabels(1,2,3,4);
+               test_grid;
+else:
                black:=black rotated alpha;
 %              black:=black shifted (w/2,h/2);
                black:=black shifted (w/2,0);
-               fill black;
-               white=distorted_ellipse(ai,bi,ai*err_y_ai,bi*err_x_bi,superi);
                white:=white rotated alphai;
 %              white:=white shifted (w/2,h/2);
                white:=white shifted (w/2,0);
-               unfill white;
 fi
+               fill black;
+               unfill white;
                endchar;
+               endgroup;
        enddef;
                
 % whole note
-% a/b=1.7
-% h/b=1; 
-% a/w=1; 
-% x/a=1; 
-%notehead(incr code,interline#,1,1.7,1,1/20,0.707,0,1/2.2,1/1.3,0.74);
-%notehead(incr code,interline#,1,1.7,1,1/20,0.707,0,5/11,3/4,0.74);
-
-%def notehead(expr code,il,hdb,adb,adw,xda,s,alpha,cda,ddb,r) =
-
-% whole note
-% wanske, p.38
-save a_b,err_y_a,alpha,super;
-save ai_a,ai_bi,err_y_ai,err_x_bi,alphai,superi;
-save b_h,a_w;
-a_b:=1.80;
-err_y_a:=0; % no slant
-alpha:=0;
-super:=0.707;
-ai_a:=0.508;
-ai_bi:=1.23;
-% err_y_ai:=0.0938;
-% err_x_bi:=0;
-err_y_ai:=0;
-err_x_bi:=0.115;
-alphai:=135;
-superi:=0.68;
-b_h:=1; %no rotate-> no height correction
-a_w:=1; % no rotate-> no width correction
-notehead(incr code,interline#,"Whole notehead");
+% Wanske, p.38
+% begin_notehead(incr code,interline#,"Whole notehead");
+begin_notehead;
+       a_b:=1.80;
+       err_y_a:=0; % no slant
+       alpha:=0;
+       super:=0.707;
+       ai_a:=0.508;
+       ai_bi:=1.23;
+       % err_y_ai:=0.0938;
+       % err_x_bi:=0;
+       err_y_ai:=0;
+       err_x_bi:=0.115;
+       alphai:=135;
+       superi:=0.69;
+       b_h:=1; %no rotate-> no height correction
+       a_w:=1; % no rotate-> no width correction
+       end_notehead(incr code,interline#,"Whole notehead");
 
 % half note
-% wanske, p.39
-a_b:=1.49;
-err_y_a:=0.157;
-alpha:=34;
-super:=0.66;
-ai_a:=0.863;
-ai_bi:=3.41;
-err_y_ai:=0;
-err_x_bi:=-0.12;
-alphai:=alpha;
-superi:=0.80;
-b_h:=0.935;
-a_w:=1.12;
-notehead(incr code,interline#,"Half notehead");
+% Wanske, p.39
+begin_notehead;
+       a_b:=1.49; % after text
+       % a_b:=1.50; % after drawing
+       err_y_a:=0.157;
+       alpha:=34;
+       super:=0.66;
+       ai_a:=0.863;
+       ai_bi:=3.14;
+       err_y_ai:=0;
+       err_x_bi:=-0.12;
+       alphai:=alpha;
+       superi:=0.80;
+       b_h:=0.935;
+       a_w:=1.12;
+       end_notehead(incr code,interline#,"Half notehead");
 
 % quarter note
-% wanske p.38
-a_b:=1.57;
-err_y_a:=0.044;
-alpha:=32;
-super:=0.707;
-ai_a:=0;
-ai_bi:=1;
-err_y_ai:=0;
-err_x_bi:=0;
-alphai:=0;
-superi:=0.707;
-b_h:=0.85;
-a_w:=1.09;
-notehead(incr code,interline#,"Quarter notehead");
+% Wanske p.38
+begin_notehead;
+       a_b:=1.57; % after text
+       % a_b:=1.54; % after drawing
+       err_y_a:=0.044;
+       alpha:=32;
+       super:=0.707;
+       ai_a:=0;
+       ai_bi:=1;
+       err_y_ai:=0;
+       err_x_bi:=0;
+       alphai:=0;
+       superi:=0.707;
+       b_h:=0.85;
+       a_w:=1.09;
+       end_notehead(incr code,interline#,"Quarter notehead");
 
 end.
 
index 7e2d853f74bdd8d15eb9e8bc04913b84b65f1e92..64ea7c7af28b4128489cdfd378d2204634a3aa36 100644 (file)
@@ -1,5 +1,10 @@
 % dyn10.mf
 % from cmbxti10.mf
+%
+% music dynamics font
+%
+% 16pt staff: \font\dynfont=dyn10 scaled \magstep1
+% 20pt staff: \font\dynfont=dyn10 scaled \magstep2
 
 % Computer Modern Bold Extended Text Italic 10 point
 % if unknown cmbase: input cmbase fi
@@ -82,10 +87,10 @@ math_fitting:=false;    % should math-mode spacing be used?
 
 % mode_setup; font_setup;
 
-% "f" obviously has a _lot_ bigger slant than "p" (see wanske p239)
+% "f" obviously has a _lot_ bigger slant than "p" (see Wanske p.239)
 % however; perhaps we need two f symbols:
 %  - a super-slanted one used in "f" "mf" "sfz" "sf", and
-%  - a more normal-slanted in "ff" "fff" "fp" "fp" (see wanske p241)
+%  - a more normal-slanted in "ff" "fff" "fp" "fp" (see Wanske p.241)
 %
 % looking at professionally typeset music reveals that typesetters 
 % are somewhat unsure about slanting in "mf", "fp", "sfz"
index 92752fdf002003040a5ad3188bb8188374691a6e..1e15311273efedceb389f30bb904aabb164b5fdd 100644 (file)
@@ -3,6 +3,9 @@
 
 mode_setup;
 
+font_name:="font-en-tja";
+font_size:=16;
+
 test:=0;
 
 staffsize#:=16pt#;
@@ -10,6 +13,9 @@ stafflines:=5;
 stafflinethickness#:=0.4pt#;
 code:=-1;
 
+input autometric;
+fet_beginfont;
+
 input bolletjes;
 
 end.
index 526573948a521681c2b2fc4b6c093038a1832f81..744133d7fe137417468509aecaf3a247b3640cff 100644 (file)
@@ -11,6 +11,9 @@ stafflines:=5;
 stafflinethickness#:=0.4pt#;
 code:=-1;
 
+input autometric;
+fet_beginfont("font-en-tja", 16);
+
 input bolletjes;
 
 end.