% abcm2ps format file to "jazzify" abc files % % Version 1.0 % Copyright Gek S. Low, 31 July 2006 % % I used a number of different fonts here, and I think they look quite ok together... % % The following fonts are required to work with this format file: % - NWCJazz (or NWCiazz.ttf): free jazz notation font designed for use with NoteWorthy Composer % I used most of the glyphs on this font % - JazzText, JazzCord - I'm sure you can find them % - j.d.ttf - free handwriting font that I think looks quite good for lyrics and for dynamics % % Postscript fontmap names: NWCJazz, JazzText, JazzCord, JD % % Please look for the fonts yourself. I will not provide the fonts and I will not entertain requests for them. % % DISCLAIMER: This abcm2ps format file is provided as is, is written for my personal use. % I tested this format file with abcm2ps 4.12.22 at the time of writing. It is always possible that it may not % work with future versions of abcm2ps. Use at your own risk. Contributions and suggestions are welcome. % % Free for personal and non-commercial use only. % -- Fonts section titlefont JazzText 24 subtitlefont JD 12 composerfont JD 10 tempofont JazzText 15 repeatfont JazzText 13 partsfont JazzText 10 vocalfont JD 12 gchordfont JazzCord 18 % don't use hypens/minus with this font measurefont JazzText 14 textfont JD 12 headerfont JD 9 footerfont JD 9 % -- Layout section scale 0.70 topmargin 1.5cm titleleft false titlecaps composerspace 0.3cm musicspace 0.7cm parskipfac 1.0 leftmargin 1.3cm staffwidth 18.4cm staffsep 60 maxshrink 0.65 exprbelow true measurenb 0 measurebox true lineskipfac 1.1 parskipfac 0 textspace 0.2cm % -- Postscript section beginps /dlw {1 SLW}! % it seems to me jazz charts like to use thicker lines % -- Let's set some shortcuts first /JNF { /NWCJazz 32 selectfont }! % Jazz Notation Font /JNF2 { /NWCJazz 20 selectfont }! % slightly smaller JNF /JTF { /JD 14 selectfont }! % Jazz Text Font % -- Clefs /tclef {M -8 0 RM JNF (\141) show}! /bclef {M -8 0 RM JNF 0 -1 RM (\142) show}! /cclef {M -8 0 RM JNF 0 -1 RM (\143) show}! /octu {JNF M -4 38 RM (\115) show}! /octl {JNF M 0 -12 RM (\115) show}! % -- Time signatures /tsig{ M gsave JNF 1.2 1 scale 0 1 RM currentpoint 3 -1 roll showc 12 add M showc grestore}! /csig { M JNF 0 6 RM (\104) show}! /ctsig { M JNF 0 6 RM (\105) show}! % -- Notes and accidentals /hd {xymove -3.7 0 RM JNF (\153) show}! /Hd {xymove -3.7 0 RM JNF (\152) show}! /HD {xymove -3.7 0 RM JNF (\151) show}! /ghd {xymove -2.4 0 RM JNF (\116) show}! % Note tails are supported up to 32nd notes (i.e. 3 tails) /sfu { JNF 0 exch RL currentpoint stroke M 0 -13 RM dup 1 eq {pop (\163) show } {dup 2 eq {pop (\163) show -5.5 -5.5 RM (\163) show} {dup 3 eq {pop (\163) show -5.5 -5.5 RM (\163) show -5.5 -5.5 RM (\163) show} if} ifelse} ifelse}! /sfd { JNF -6.6 0 RM 0 exch RL currentpoint stroke M dup 1 eq {pop (\164) show } {dup 2 eq {pop (\164) show -6 5.5 RM (\164) show} {dup 3 eq {pop (\164) show -6.5 5.5 RM (\164) show -6.5 5.5 RM (\164) show} if} ifelse} ifelse}! /sh0 { gsave M -2 0 RM JNF (\144) show grestore}! /ft0 { gsave M -1 0 RM JNF (\146) show grestore}! /nt0 { gsave M -1 0 RM JNF (\145) show grestore}! /dsh0 { gsave M -2 0 RM JNF(\147) show grestore}! /dft0 { gsave M -6 0 RM JNF (\150) show grestore}! % -- Rests /r1 {M 0 6 RM JNF (\154) show}! /r2 {M JNF (\155) show}! /r4 {M JNF (\156) show}! /r8 {M JNF (\157) show}! /r16 {M JNF (\160) show}! % -- Guitar chords - designed to work with JazzCord.ttf only /gchshow { pop pop count 3 ge { 3 copy 106 eq {pop 97 eq {pop 109 eq {pop (\100) show} pop ifelse} pop ifelse} pop ifelse } if dup 129 eq {pop 1 3 RM (\043) show 0 -3 RM} % sharp accidental {dup 130 eq {pop 2 4 RM (\041) show 0 -4 RM} % flat accidental {dup 131 eq {pop (\042) show} % natural accidental {dup 173 eq {pop (\055) show} % hypen - doesn't work with this font... {currentfont /Encoding get exch get glyphshow} ifelse} ifelse} ifelse} ifelse}! % -- Standard decorations and other stuff /bnum { M JNF2 showc}! /bnumb { currentgray JNF2 3 index stringwidth pop 4 add dup .5 mul neg 4 index add 3 index 3 -1 roll 8 1.0 setgray rectfill setgray M showc}! /hld {M JNF (\171) show}! /accent {M -2.5 2 RM JNF (\101) show}! /emb {M -4 0 RM JNF (\103) show}! /sgno {M -4 0 RM JNF (\170) show}! /coda {M -6 10 RM JNF (\167) show}! /pf {JTF M show}! endps