]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.5.43
authorfred <fred>
Wed, 27 Mar 2002 02:07:03 +0000 (02:07 +0000)
committerfred <fred>
Wed, 27 Mar 2002 02:07:03 +0000 (02:07 +0000)
18 files changed:
GNUmakefile.in
buildscripts/lilypond-profile.sh
buildscripts/mutopia-index.py
input/baerenreiter-sarabande.ly
lily/afm.cc
lily/include/dimensions.hh
lily/tfm.cc
make/lilypond-vars.make
make/mutopia-rules.make
make/mutopia-targets.make
make/mutopia-vars.make
ps/lilyponddefs.ps
scm/pdf.scm
scm/pdftex.scm
scm/ps.scm
scm/sketch.scm
scm/tex.scm
tex/lily-ps-defs.tex

index 35a549cd8cd3248d7512e9fa6a1374ebe1101ac0..d3ef1f97576d8ee05ad286dd7922ef3dc8c2a834 100644 (file)
@@ -35,6 +35,7 @@ footify:
        $(footify) --index=./ `$(FIND) . -maxdepth 1 -name '*.html' -print`
        $(footify-all-command)
 
+
 fonts:
        $(MAKE) -C $(depth)/mf
 
@@ -60,21 +61,24 @@ TOP_HTMLS = index.html short-examples.html long-examples.html
 
 index: web-doc
 
-short-examples:
+short-examples: pfa-fonts
        $(MAKE) out=www -C input WWW
        $(PYTHON) $(buildscript-dir)/mutopia-index.py -o short-examples.html input/
 
 
-long-examples:
+long-examples: pfa-fonts
        $(MAKE) out=www -C mutopia WWW
        $(PYTHON) $(buildscript-dir)/mutopia-index.py -o long-examples.html mutopia/
 
+pfa-fonts:
+       $(MAKE) MAKE_PFA_FILES=1 -C mf
+
 lily: lily/$(outdir)/lilypond
 
 lily/$(outdir)/lilypond:
        $(MAKE) -C lily
 
-local-web: fonts lily $(TOP_HTMLS:%.html=%) footify do-top-doc top-web
+local-web: fontpaths fonts lily $(TOP_HTMLS:%.html=%) footify do-top-doc top-web
 
 top-web:
        rm -f `find . -name \*.html~ -print`
@@ -109,3 +113,11 @@ top-WWW-clean:
 
 
 WWW:
+
+fontpaths:
+       -ln -s $(depth)/mf/out dvips
+       -mkdir -p fonts
+       -ln -s ../$(depth)/mf fonts/source
+       -ln -s ../$(depth)/mf/out fonts/afm
+       -ln -s ../$(depth)/mf/out fonts/tfm
+       -ln -s ../$(depth)/mf/out fonts/type1
index 8539cd36d6fb419ee3edf484acd32af43ad7825b..11464f2ba51b121368b1bd0be6bd2852e09c29e9 100644 (file)
@@ -23,7 +23,7 @@ GS_LIB="$datadir/ps:"${GS_LIB:=""}
 
 # Add the installation directory to the teTeX system tree, 
 # see Documentation/misc/fontinstallation
-TEXMF="{$DATADIR,"`kpsexpand  \\$TEXMF`"}"
+TEXMF="{$datadir,"`kpsexpand  \\$TEXMF`"}"
 
 # LILYPONDPREFIX="$datadir"
 # export LILYPONDPREFIX
index 4bbc0bb2c58416688cf728ffb058cc528d3866cd..2e5d3b5e35ce558d830ca22bfb8f91932c4c4442 100644 (file)
@@ -3,7 +3,6 @@
 
 name = 'mutopia-index'
 
-# find.py -- deprecated in python 2.0
 import fnmatch
 import os
 
@@ -57,9 +56,10 @@ headertext= r"""
 These files are also included in the distribution. The output is
 completely generated by LilyPond, without any touch up by humans.
 
-<p>The PostScript files were generated using TeX and dvips. The pictures
-are 90dpi anti-aliased snapshots of the printed output.  The images
-are in PNG format, and should be viewable with any current browser.
+<p>The PostScript files were generated using TeX and dvips at 600 dpi.
+The pictures are 90dpi anti-aliased snapshots of the printed output.
+The images are in PNG format, and should be viewable with any current
+browser.
 
 <p>If you want a better impression of the appearance, do print out one of
 the postscript files.
@@ -166,6 +166,7 @@ def gen_list(inputs, filename):
                        if not file_exist_b (f):
                                break
                        list_item(f, 'See a picture of page %d' % pageno, 'png')
+               list_item(base + '.pdf', 'Print ', 'PDF')
                list_item(base + '.ps.gz', 'Print ', 'gzipped PostScript')
                list_item(base + '.midi', 'Listen', 'MIDI')
                list.write ("</ul>\n");
index 175735eef1798d96378819f88d08e621a60e07c4..1a529b1a9ced380ed7b9456ec7fabfa2f8716380 100644 (file)
@@ -19,7 +19,7 @@ measure 25, we get back the linebreaking of Baerenreiter.
 
 
 This file used to show spacing weaknesses. Now it shows weaknesses in
-beam and slur handling.
+slur handling.
 
 Note that the Barenreiter edition contains an engraving mistake. The
 second line begins with measure 6 (but prints 5).
@@ -133,16 +133,31 @@ sarabandeCelloStaff =  \context Staff <
   \sarabandeCelloScripts
 >
 
-\score{
-  \sarabandeCelloStaff
-  \paper{
-    indent = 7. \mm
-    linewidth = 183.5 \mm
+% size perversions
+smallerPaper = \paper {
+    \translator { \StaffContext
+                 fontSize = #-1
+                 StaffSymbol \override  #'staff-space = #0.8
+                 }
     \translator { \ScoreContext
-                 %% SpacingSpanner \override #'maximum-duration-for-spacing = #(make-moment 1 16)
+                  SpacingSpanner \override #'spacing-increment = #0.96
+               }
+       
+    indent = 5.6 \mm
+    linewidth = 146.8 \mm
+}
+
+baerPaper = \paper {
+    indent = 7. \mm
+    linewidth =183.5 \mm
+}
 
 
-               }}
+\score{
+  \sarabandeCelloStaff
+  \paper{
+    \baerPaper
+  }
   \midi{ \tempo 4 = 40 }
   \header{
     opus= "" 
index ddca303bc004712493eac82029b317ef9198a52b..1c760a181379560c5076fd4279fcdc2319f2f5ed 100644 (file)
@@ -9,6 +9,7 @@
 #include "afm.hh"
 #include "warn.hh"
 #include "molecule.hh"
+#include "dimensions.hh"
 
 Adobe_font_metric::Adobe_font_metric (AFM_Font_info * fi)
 {
@@ -129,12 +130,16 @@ read_afm_file (String nm)
   return Adobe_font_metric::make_afm (fi, cs);
 }
 
-  
+
+/*
+  actually, AFMs will be printers point, usually, but our .py script dumps
+  real points.
+ */
 Box
 afm_bbox_to_box (AFM_BBox bb)
 {
-  return Box (Interval (bb.llx, bb.urx)* (1/1000.0),
-             Interval (bb.lly, bb.ury)* (1/1000.0));
+  return Box (Interval (bb.llx, bb.urx)* (1/1000.0) PT,
+             Interval (bb.lly, bb.ury)* (1/1000.0) PT);
 
 }
   
index 8fe9487fcdcd3bbb2ac88e798551d67e32ad0bd8..66a9d0868d36bb2215c608a30f291fdc2820235c 100644 (file)
@@ -4,14 +4,17 @@
 #include "real.hh"
 class String;
 
+
 const Real INCH_TO_PT=72.270;
-const Real CM_TO_PT=INCH_TO_PT/2.54;
-const Real MM_TO_PT=CM_TO_PT/10;
+const Real CM_TO_PT=(INCH_TO_PT/2.54);
+const Real MM_TO_PT=(CM_TO_PT/10);
 const Real PT_TO_PT =1.0;
 const Real INCH_TO_BP = 72;
-const Real BIGPOINT_TO_POINT = INCH_TO_PT/ INCH_TO_BP;
+const Real BIGPOINT_TO_POINT = (INCH_TO_PT/ INCH_TO_BP);
 const Real CHAR_TO_PT =1.0;
+const Real PT_TO_MM = (1.0/MM_TO_PT);
 
+#ifdef POINTS
 
 #define PT  *PT_TO_PT
 #define MM  *MM_TO_PT
@@ -20,6 +23,17 @@ const Real CHAR_TO_PT =1.0;
 #define BIGPOINT *BIGPOINT_TO_POINT
 #define CHAR *CHAR_TO_PT
 
+#else  // mm
+
+#define PT  *PT_TO_PT *PT_TO_MM
+#define MM  *MM_TO_PT *PT_TO_MM
+#define CM  *CM_TO_PT *PT_TO_MM
+#define INCH *INCH_TO_PT *PT_TO_MM
+#define BIGPOINT *BIGPOINT_TO_POINT *PT_TO_MM
+#define CHAR *CHAR_TO_PT *PT_TO_MM
+
+#endif
+
 String print_dimen (Real);
 
 #endif // DIMENSIONS_HH
index 01b26efabad3f57dd6b735f0d7c085fea8313c42..89a09a5011807a79027e05e1eef94f222e3c9d78 100644 (file)
@@ -14,6 +14,7 @@
 #include "string-convert.hh"
 #include "debug.hh"
 #include "warn.hh"
+#include "dimensions.hh"
 
 Box
 Tex_font_char_metric::dimensions () const
@@ -26,7 +27,12 @@ Tex_font_char_metric::dimensions () const
     }
   
   Real d = -depth_;
-  return Box (Interval (0, width_),Interval (d <? height_, d >? height_));
+
+  Real point_constant = 1 PT;
+  
+  return Box (Interval (0, width_*point_constant ),
+             Interval ((d <? height_)*point_constant,
+                       (d >? height_)*point_constant));
 }
 
 Tex_font_char_metric::Tex_font_char_metric ()
index 9891207728f70e4f386dcaf8a7ebbf5e5bedf317..b7ddebfa75bde44071a103398d23fab908348630 100644 (file)
@@ -3,11 +3,8 @@
 
 
 export PATH:=$(topdir)/lily/out:$(topdir)/buildscripts/out:$(PATH)
+export TEXMF:={$(topdir),$(shell kpsexpand \$$TEXMF)}
 
-export MFINPUTS:=$(topdir)/mf/:$(MFINPUTS)::
-export TEXINPUTS:=$(topdir)/mf/out/:$(topdir)/tex/:$(topdir)/ps/:$(TEXINPUTS):$(pwd)::
-export LILYINCLUDE:=$(topdir)/ps:$(topdir)/scm:$(topdir)/ly:$(topdir)/mf/out::$(TEX_TFMDIR):$(LILYINCLUDE)
-export TFMFONTS:=$(topdir)/mf/out:
 export extra_mem_top=1000000
 export extra_mem_bottom=1000000
 export pool_size=250000
index 08445758d53908ab05bf49f719dbfbd38ea3c5e9..81b6b57fd41a1c17428d4bdb6ab11a877b3268b0 100644 (file)
@@ -33,6 +33,13 @@ $(outdir)/%.dvi: $(outdir)/%.ly
 $(outdir)/%.dvi: %.ly
        $(PYTHON) $(LY2DVI) --output=$@ --dependencies $< 
 
+
+$(outdir)/%.pdf: $(outdir)/%.dvi
+       dvips -u lilypond.map -o $@.pdfps  -Ppdf $<
+       ps2pdf $@.pdfps $@
+
+       $(PYTHON) $(LY2DVI) --output=$@ --dependencies $< 
+
 $(outdir)-$(PAPERSIZE)/%.dvi: %.ly
        $(PYTHON) $(LY2DVI) --output=$@ --dependencies --set=papersize=$(PAPERSIZE) $< 
 
index 3504259fb557722233d4ba97e05aa7d10f1f80b8..54cd429bb5fc737e12b43a5ab9fecb90ebe24a0d 100644 (file)
@@ -12,7 +12,7 @@ all: $(OUT_FILES)
 
 # we want dvi_examples as well, because they get thrown away otherwise
 # incurring another costly lilypond run.
-local-WWW: $(ly_examples) $(dvi_examples) $(ps_examples) $(png_examples)
+local-WWW: $(ly_examples) $(pdf_examples) $(ps_examples) $(png_examples)
 
 tar:
        mkdir -p $(outdir)/$(tarball)
index 2132fab7570ef33d4f190665d7146e0ed62639f6..84bc7bf8498bd4ca782a4cdc793cf3d7f1e6362d 100644 (file)
@@ -14,6 +14,7 @@ ly_examples=$(addprefix $(outdir)/, $(addsuffix .ly.txt, $(examples)))
 all_examples=$(examples)
 dvi_examples=$(addprefix $(outdir)/, $(addsuffix .dvi, $(all_examples)))
 ps_examples=$(addprefix $(outdir)/, $(addsuffix .ps.gz, $(all_examples)))
+pdf_examples=$(addprefix $(outdir)/, $(addsuffix .pdf, $(all_examples)))
 gif_examples=$(addprefix $(outdir)/, $(addsuffix .gif, $(all_examples)))
 png_examples=$(addprefix $(outdir)/, $(addsuffix .png, $(all_examples)))
 
index 220b6cf2ea4a826e2482f155bb520587f2663d9e..453135ab52395b0aa4bb93271908081c940b9daf 100644 (file)
 % FIXME: why isn't this set (by default) by lily?
 % /text-height lilypondpapertextheight def
 
-/output-scale lilypondpaperoutputscale def
+/lily-output-units 2.83464  def  %% milimeter
+% /lily-output-units 0.996264  def  %% true points.
+
+/output-scale
+lilypondpaperoutputscale lily-output-units mul 
+def
+
+/set-ps-scale-to-lily-scale
+{
+output-scale output-scale scale
+} bind def
+
 /paper-size { lilypondpaperpapersize } bind def
 
 % FIXME
index 50c674e88f6e5d516a17bc04a0821dbc86a01aa2..5f022652c79213d763753105bb091db1e327af27 100644 (file)
     (string-append 
      "(\\" (inexact->string i 8) ") " s " " ))
   
-  (define (invoke-dim1 s d) 
-    (string-append
-     (ly-number->string (* d  (/ 72.27 72))) " " s ))
-
   (define (placebox x y s) "")
 
   (define (bezier-sandwich l thick)
            (define font-load-command ,font-load-command)
            (define header ,header) 
            (define invoke-char ,invoke-char) 
-           (define invoke-dim1 ,invoke-dim1)
+
            (define placebox ,placebox)
            (define repeat-slash ,repeat-slash) 
            (define select-font ,select-font)
 
 ; Local Variables:
 ; scheme-program-name: "guile"
-; End:
\ No newline at end of file
+; End:
index 736cf9bcbfe36b6fdc61fe6bd04e9a23b5221061..6fccc24420a24fd98a4083a19c5a9a6e5df3f7a1 100644 (file)
@@ -7,6 +7,9 @@
 ;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
 ;;; Stephen Peters <portnoy@portnoy.org>
 
+
+;; TODO: port this  to the new module framework.
+
 (define (pdftex-scm action-name)
   (define (unknown) 
     "%\n\\unknown%\n")
     (string-append 
      "\n\\" s "{" (inexact->string i 10) "}" ))
 
-  (define (invoke-dim1 s d)
-    (string-append
-     "\n\\" s "{" (number->dim d) "}"))
-  (define (pt->sp x)
-    (* 65536 x))
-  
   ;;
   ;; need to do something to make this really safe.
   ;;
            (define ez-ball ,ez-ball)
            (define header ,header) 
            (define invoke-char ,invoke-char) 
-           (define invoke-dim1 ,invoke-dim1)
+
            (define placebox ,placebox)
            (define select-font ,select-font)
            (define start-line ,start-line)
        ((eq? action-name 'lily-def) lily-def)
        ((eq? action-name 'header) header) 
        ((eq? action-name 'invoke-char) invoke-char) 
-       ((eq? action-name 'invoke-dim1) invoke-dim1)
+
        ((eq? action-name 'placebox) placebox)
        ((eq? action-name 'bezier-sandwich) bezier-sandwich)
        ((eq? action-name 'start-line) start-line)
index e002e8b23c0f3de21cb7c5c2e55e024b5d0405b3..8ba55fba03efb67666922dac1b03dbf5304b5fa3 100644 (file)
 
 (define (dashed-line thick on off dx dy)
   (string-append 
-   (ly-number->string (* dx (/ 72 72.27)))
+   (ly-number->string dx)
    " "
    (ly-number->string dy)
    " "
-   (ly-number->string (* thick (/ 72 72.27))) 
+   (ly-number->string thick)
    " [ "
    (ly-number->string on)
    " "
   (string-append 
    "(\\" (inexact->string i 8) ") " s " " ))
 
-(define (invoke-dim1 s d) 
-  (string-append
-   (ly-number->string (* d  (/ 72.27 72))) " " s ))
 
 (define (placebox x y s) 
   (string-append 
      " draw_dot")))
 
                                        ; TODO: use HEIGHT argument
+
+  
 (define (start-line height)
   (string-append
    "\n"
    (ly-number->string height)
    " start-line {
-lilypondpaperoutputscale lilypondpaperoutputscale scale
+set-ps-scale-to-lily-scale
+
 "))
 
 (define (stem breapth width depth height) 
index 30ec4a4ce0844002fc1808de573c5851659fbcdd..a76f79d5c36c2544181396c1a1cc3b891dcc68b8 100644 (file)
@@ -234,9 +234,6 @@ layer('Layer 1',1,1,0,0,(0,0,0))
 (define (invoke-char s i)
   "")
 
-(define (invoke-dim1 s d) 
-  (string-append
-   (ly-number->string (* d  (/ 72.27 72))) " " s ))
 
 (define (bezier-sandwich x y l thick)
   (apply
index 0ca8f300e9d7755c34c2f0a195d50a5a9323b611..79f6886422fe3a193d8c9c2ea8ecf95314beeaf6 100644 (file)
        (ly-gulp-file "music-drawing-routines.ps"))
    (if (defined? 'ps-testing) "/testing true def%\n" "")
    "}"
-   "\\input lilyponddefs \\outputscale=\\lilypondpaperoutputscale pt\\turnOnPostScript"))
+   "\\input lilyponddefs \\outputscale=\\lilypondpaperoutputscale "
+   ;; "pt"
+   "mm"
+
+   "\\turnOnPostScript"))
 
 ;; Note: this string must match the string in ly2dvi.py!!!
 (define (header creator generate) 
   (string-append 
    "\n\\" s "{" (inexact->string i 10) "}" ))
 
-(define (invoke-dim1 s d)
-  (string-append
-   "\n\\" s "{" (number->dim d) "}"))
-(define (pt->sp x)
-  (* 65536 x))
-
 ;;
 ;; need to do something to make this really safe.
 ;;
index 0172a73d1891c6c7c096554d33b650be0c8ee83d..30e8d1b992590263b704ca5df783885ef7d23adb 100644 (file)
 %
 \def\PSsetTeXdimen#1{\expandafter\special{! /#1 (\csname #1\endcsname) set_tex_dimen}}
 \def\lilySpace{ }
+
+% for mm: 72.27/25.4
+\def\scaletounit{ 2.845276 mul }
+
+% for true printers points to postscript points: 
+%\def\scaletounit{1.00375}
 \def\turnOnPostScript{%
         % This sets CTM so that you get to the currentpoint
         % by executing a 0 0 moveto
         \def\embeddedps##1{%
                 \special{ps\string: @beginspecial @setspecial
-                        \lilypondpaperoutputscale\lilySpace 
-                        \lilypondpaperoutputscale\lilySpace
+                        \lilypondpaperoutputscale\lilySpace\scaletounit
+                        \lilypondpaperoutputscale\lilySpace\scaletounit
                         % FUCKING REDHAT XDVI -- ARG!
                         skeel ##1 @endspecial}%
         }