X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=tex%2Flilyponddefs.tex;h=292022e096a17c4bd397b311d31de8b029b3d20c;hb=abe92e217f0a3aab91fa2db330eea89680c2ebad;hp=189c512b48ddef4a98201d2cee398fe1cb9b8b26;hpb=95246e47228482fbd2a99ec2d7f5d52b35cb545a;p=lilypond.git diff --git a/tex/lilyponddefs.tex b/tex/lilyponddefs.tex index 189c512b48..292022e096 100644 --- a/tex/lilyponddefs.tex +++ b/tex/lilyponddefs.tex @@ -51,85 +51,74 @@ \parindent=0pt \newdimen\smallspace \newdimen\interlinedist +\newdimen\stemthickness \newcount\n \newdimen\balkheight \newdimen\notewidth \newdimen\noteheight \newdimen\staffrulethickness \newdimen\interstaffrule +\newdimen\dist %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % set fonts and primary dimensions +% ugh \def\musixtwentydefs{ \balkheight=20pt - \notewidth=6pt + \notewidth=7.15pt \noteheight=5pt - \staffrulethickness=0.4pt \musixtwentyfonts + \font\textmusic=cmmi12 \musixcalc } \def\musixsixteendefs{ \balkheight=16pt - \staffrulethickness=0.4pt - \notewidth=5pt + \notewidth=5.93pt \noteheight=4pt \musixsixteenfonts + \font\textmusic=cmmi10 \musixcalc } +\def\textsharp{\raise.4ex\hbox{\textmusic\char"5D}} +\def\textnatural{\raise.4ex\hbox{\textmusic\char"5C}} +\def\textflat{\raise.2ex\hbox{\mus\char"5B}} + + + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % do derivative calcs +% FIXME: should read from TFM/AFM/fetalog +% + +% this has to be synced with the font definition \def\musixcalc{ \interlinedist=\fontdimen5\musicfnt \smallspace=.3\interlinedist \interstaffrule=\balkheight \divide\interstaffrule by 4 -} -% dynamics take extra kerning -\def\dyn{\dynfont} -\def\kdynf{\dynfont f\kern-.1ex} -\def\kdynm{\dynfont m\kern-.15ex} -\def\kdynp{\dynfont p\kern-.15ex} + % [D.K.Roush & J.S.Gourlay] say this should be 0.072 + % We know better + \staffrulethickness=0.1\interlinedist + \stemthickness=\staffrulethickness +} +% stacked numbers; may be overruled in fetdefs +\def\generalmeter#1#2{\vbox to 0pt{\vss\hbox{\meterfont + #1}\nointerlineskip + \hbox{\meterfont #2}\vss}} -\def\dynp{\dynfont p} -\def\dynpp{\dynp\kdynp} -\def\dynppp{\dynpp\kdynp} -\def\dynmp{\dynfont m\kdynp} -\def\dynmf{\dynfont m\kdynf} -\def\dynf{\dynfont f} -\def\dynff{\dynf\kdynf} -\def\dynfff{\dynff\kdynf} +% stacked horizontal lines +\input dyndefs \input taupindefs +%\input eglerdefs -\musicmathdef\cup{91} % \cup -\musicmathdef\wedge{94} % \wedge -\musicmathdef\striepke{0} % heu? - -%% custom characters --- this should go: add to (meta!) font -% \def\myheel{\kern-.5ex\vbox{\cup}\kern-.5ex} -% \def\mytoe{\kern-.5ex\vbox{\wedge}\kern-.5ex} -\def\myheel{\vbox{\cup}} -\def\mytoe{\vbox{\wedge}} -% \def\mystriepke{\kern-1.1ex\vbox{\hbox{\kern-.05em\striepke}}\kern-1.1ex} -\def\mystriepke{\kern-1.8ex\vbox{\hbox{\kern-.05em\striepke}}\kern-1.8ex} - -\def\heel{\vbox{\myheel}} -\def\toe{\vbox{\mytoe}} -\def\backorfront{\mystriepke} - -\def\bheel{\vbox{\myheel\mystriepke}} -\def\btoe{\vbox{\mytoe\mystriepke}} -\def\fheel{\vbox{\mystriepke\myheel}} -\def\ftoe{\vbox{\mystriepke\mytoe}} -\def\heeltoe{\vbox{\myheel\mytoe}} -\def\toeheel{\vbox{\mytoe\myheel}} -%% \def\emptybar{} @@ -145,6 +134,28 @@ \def\startrepeat{\repeatstartbar} \def\repeatbarstartrepeat{\repeatstopstart} +\def\vruler#1{{% + \def\wid{\dimen0}% + \def\inc{\dimen1}% + \wid=#1pt + \inc=\wid + \divide\inc by #1 + \divide\wid by 2 + \here=-\wid + \loop\ifdim\here<\wid\advance\here by\inc + \hbox to0pt{\vbox to0pt{\vss\hrule width2pt height 0.05pt\kern\here}\hss}% + \repeat% +}} +\def\hruler#1#2{\hbox{% + \def\wid{\dimen0}% + \def\here{\dimen3}% + \wid=#1pt + \divide\wid by 2 + \here=-\wid + \loop\ifdim\here<\wid\advance\here by #2 + \hbox to0pt{\kern\here\vrule width0.05pt height 1pt depth 1pt\hss}% + \repeat% +}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -152,8 +163,10 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \def\doublebar#1{\hbox{\thinbar{#1}\hskip\smallspace\thinbar{#1}}} -\def\thinbar#1{\vrule height #1 width 1.6\staffrulethickness} % TODO parametric. -\def\thickbar#1{\vrule height #1 width 2\smallspace} +\def\thinbar#1{\dimen0=#1% + \vrule height .5\dimen0 depth .5\dimen0 width 1.6\staffrulethickness} % TODO parametric. +\def\thickbar#1{\dimen0=#1% + \vrule height .5\dimen0 depth .5\dimen0 width 2\smallspace} \def\maatstreep#1{\thinbar{#1}} \def\startbar#1{\leftalign{\thickbar{#1}\kern\smallspace\thinbar{#1}}} \def\finishbar#1{\rightalign{\thinbar{#1}\kern\smallspace\thickbar{#1}}} @@ -165,49 +178,20 @@ \def\hslurcharh#1{{\hslurhfont\char#1}} \def\hslurcharu#1{{\hslurufont\char#1}} \def\hslurchard#1{{\hslurdfont\char#1}} -% stacked numbers -\def\generalmeter#1#2{\botalign{\vbox to0.5\balkheight{\vss \meterfont#1}% - \nointerlineskip - \vbox to 0.5\balkheight{\vss\meterfont #2}}} - -% stacked horizontal lines -\def\lines#1#2#3{% - \vbox{\kern-\interstaffrule - \n=0\nointerlineskip% - \loop\ifnum\n<#1\advance\n by1% - \kern\interstaffrule - \nointerlineskip - \vbox to 0pt{\hrule height #3 width#2% - \vss}\nointerlineskip - \repeat - }} - -%% -% Ugh. Need to redo this. Wish we had PS. -% -\def\toplines#1{ % why space needed here? - \topalign{\hbox{\kern-\notewidth\lines{#1}{1.6\notewidth}{1.6\staffrulethickness}}}} -\def\botlines#1{ % idem ditto - \botalign{\hbox{\kern-\notewidth\lines{#1}{1.6\notewidth}{1.6\staffrulethickness}}}} - -% -% a staffsymbol with #1 lines, width #2 -% bottom at baseline -\def\linestafsym#1#2{\leftalign{\botalign{\lines{#1}{#2}{\staffrulethickness}}}} - -\def\stem#1#2{\vrule height#2 depth-#1} +\def\stem#1#2{\hbox{\kern -.5\stemthickness + \vrule width\stemthickness height#2 depth-#1}} \def\placebox#1#2#3{% \botalign{\hbox{\raise #1\leftalign{\kern #2{}#3}}}% } -\def\beamslope#1#2{{\count0=#2\advance\count0 by#1\musicfnt\char\count0}} \def\brace#1{\count0=148\advance\count0 by #1\musicdraw\char\count0} \def\crescendosym#1{\count0=84\advance\count0 by #1\musicdraw\char\count0} \def\decrescendosym#1{\count0=116\advance\count0 by #1\musicdraw\char\count0} -\def\rulesym#1#2{\vrule height #1 width #2} +\def\rulesym#1#2{\dimen0=#1% + \vrule height .5\dimen0 depth .5\dimen0 width #2} \def\settext#1{\normaltextfont #1} \def\setitalic#1{\italicfont #1} \def\setdynamic#1{\dynfont #1} @@ -228,6 +212,7 @@ % big fat marks, if errors are detected. \def\columnerrormark{\placebox{-5pt}{0pt}{\bf C!}} \def\scorelineerrormark{\placebox{0pt}{-10pt}{\bf L!}} +\def\errormark{{\bf E!}} \def\unknown{{\bf u}} \def\postheader{} @@ -244,4 +229,15 @@ \renewcommand{\@oddfoot}{\ifnum\thepage=1 {\hfil \LilyIdString }\else{foo\hfil\the\pageno\hfil}\fi}} + \def\ps@empty{ + \renewcommand{\@oddhead}{}% + \renewcommand{\@evenfoot}{}% + \renewcommand{\@evenhead}{}% + \renewcommand{\@oddfoot}{\ifnum\thepage=1 + {\hfil \LilyIdString + }\else{foo\hfil\the\pageno\hfil}\fi}} \fi + + +% debugging stuff: +% \vbox to 0pt{\vskip .5cm \hruler{48}{3pt}\vss}