From: Han-Wen Nienhuys Date: Wed, 5 Dec 2001 18:08:18 +0000 (+0100) Subject: release: 1.5.25 X-Git-Tag: release/1.5.25 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=c3f1e9e806a3d386f82439130f9593c3537ed08c;p=lilypond.git release: 1.5.25 --- diff --git a/ChangeLog b/ChangeLog index b3ae394d3a..e30cf2f8fd 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,20 @@ ---- ../lilypond-1.5.24.jcn1/ChangeLog Sat Dec 1 15:35:46 2001 -++ b/ChangeLog Wed Dec 5 14:31:02 2001 -@@ -1,3 +1,22 @@ +2001-12-05 Han-Wen Nienhuys + + * bibtools/bib2html.py: Add simple bib2html convertor, and .bst + files to have standardised HTML bibliography output. Update build + docs to reflect this. + + * lily/include/simple-spacer.hh (struct Simple_spacer): add + active_count_, so that we don't have to look for active springs + anymore. + + * scm/interface-description.scm,scm/grob-property-description.scm: + Add 'penalty + + * lily/simple-spacer.cc (solve): Handle forced line breaks + here. Fixes problems when combining linebreaks with non-fitting + line configurations + 2001-12-05 Jan Nieuwenhuizen * 1.4.9.jcn3 forward ports. @@ -20,34 +34,21 @@ * ly2dvi: Don't accept filenames with spaces (+ fix). - 2001-12-01 Han-Wen - - * lily/note-head.cc (head_extent): added to compute width without2001-12-03 Rune Zedeler +2001-12-03 Han-Wen - * lily/lily-guile.cc: Added ly_assoc_front_x() and ly_assoc_cdr() - (FIXME: not accessible from guile) - - * lily/accidental-engraver.cc: rewrote accidental-routines to get - better support for Kurt Stone's suggestions. - Removed properties: noResetKey, autoReminders. - Added properties: oneMeasureLazy, extraNatural, autoAccidentals, - autoCautionaries. - - * ly/property-init.ly: added commands - \defaultAccidentals \modernAccidentals \modernCautionaries - \noResetKey + * ly/engraver-init.ly (VoiceContext): fix text engraver ordering. - * ly/engraver-init.ly: Correct initialization of new accidentals. + * lily/translator-def.cc: Remove manual symbol caching. + + * lily/script-column.cc (before_line_breaking): robustness check: + don't crash if no direction set. + + * scripts/pmx2ly.py: Key and clef change support (Laura Conrad) + + * scripts/pmx2ly.py (Parser.parse_header): more generic header + parsing. - * scm/translator-property-description.scm: The new properties - added. - * input/: Some examples added, some changed. - - * Documentation/regression-test.tely: Added quick test of new - accidentals. - - 2001-12-01 Han-Wen * lily/note-head.cc (head_extent): added to compute width without diff --git a/Documentation/bibliography/GNUmakefile b/Documentation/bibliography/GNUmakefile index 78e0c3c730..9eebd30370 100644 --- a/Documentation/bibliography/GNUmakefile +++ b/Documentation/bibliography/GNUmakefile @@ -4,12 +4,11 @@ depth=../.. OUT_BIB_FILES = $(addprefix $(outdir)/, $(BIB_FILES)) BIB_FILES= $(wildcard *.bib) -EXTRA_DIST_FILES= $(BIB_FILES) +EXTRA_DIST_FILES= $(BIB_FILES) $(wildcard *.bst) STEPMAKE_TEMPLATES=tex documentation LOCALSTEPMAKE_TEMPLATES=lilypond ly -export BIBINPUTS:=$(shell pwd)//$(PATHSEP)$(BIBINPUTS) include $(depth)/make/stepmake.make dvi: $(DVI_FILES) $(OUT_BIB_FILES) @@ -22,6 +21,7 @@ default: GENHTMLS = engraving colorado computer-notation OUTGENHTMLS = $(addprefix $(outdir)/, $(GENHTMLS:%=%.html)) + local-WWW: $(addprefix $(outdir)/, $(BIB_FILES:.bib=.html)) $(PYTHON) $(step-bindir)/ls-latex.py --title 'References on Music Notation' \ $(YO_FILES) $(OUTYO_FILES:.yo=.latex) $(BIB_FILES) $(DOC_FILES) $(TEX_FILES) \ @@ -33,7 +33,7 @@ $(outdir)/%.bib: %.bib $(MAKE) footify $(outdir)/%.html: %.bib - -$(BIBTEX2HTML) $(BIBTEX2HTML_FLAGS) + $(PYTHON) $(depth)/buildscripts/bib2html.py -o $@ $< $(footify) $@ local-clean: diff --git a/Documentation/bibliography/colorado.bib b/Documentation/bibliography/colorado.bib index 6d7cf51200..b9ac8df280 100644 --- a/Documentation/bibliography/colorado.bib +++ b/Documentation/bibliography/colorado.bib @@ -3,19 +3,16 @@ % AUTHOR=Alyssa Lamb (edited & converted to bibtex by HWN) % - -% TODO: fix the labelling. - -@Book {6, +@Book {jacob47:_music, author ={Jacob, Archibald}, - year={1947}, + year=1947, title = {Musical handwriting : or, How to put music on paper : A handbook for all musicians, professional and amateur}, address ={London}, publisher ={Oxford University Press}, note = {subject: Musical notation}, } -@Book {15, +@Book{brandt:_stand_chord_symbol_notat, author ={Carl Brandt and Clinton Roemer}, title = {Standardized Chord Symbol Notation}, address={Sherman Oaks, CA}, @@ -23,19 +20,19 @@ note ={subject: musical notation}, } -@Book {22, +@Book{johnson46:_how, author = {Johnson, Harold M}, - year = {1946}, + year = 1946, title = {How to write music manuscript an exercise-method handbook for the music student, copyist, arranger, composer, teacher}, publisher={Carl Fischer, Inc.}, address= {New York}, note = {subject: Musical notation --Handbooks, manuals}, } -@Book {31, +@Book{sadie90:_music_print_publis, title = {Music Printing & Publishing}, author ={Donald W. Krummel \& Stanley Sadie}, - year = {1990}, + year = 1990, publisher= {Macmillan Press}, note ={subject: musical notation}, } @@ -43,7 +40,7 @@ %series={The Norton/Grove Handbooks in Music.}, % publisher={W.W. Norton}, -@Book {40, +@Book{foss:_music_print, author={Foss, Hubert}, title = {Music Printing}, series = {Practical Printing and Binding}, @@ -52,15 +49,15 @@ note ={subject: musical notation}, } -@Book {48, +@Book{steele03:_earlies_englis_music_print, author = {Steele, Robert}, - year = {1903}, + year = 1903, title = {The Earliest English Music Printing}, address={London}, note= {subject: history of music printing and engraving}, } -@Book {54, +@Book{austin:_story_music_print, author={Austin, Ernest}, title = {The Story of Music Printing}, address={London}, @@ -71,7 +68,7 @@ -@Book {63, +@Book{?:_pictor_histor_music_print, author={?}, title = {Pictoral History of Music Printing}, address={Elhardt, Indiana}, @@ -80,9 +77,9 @@ } -@Book {77, +@Book{wintermitz55:_music_autog_montev_hindem, author = {Wintermitz, Emmanuel}, - year = {1955}, + year = 1955, title = {Musical Autographs from Monteverdi to Hindemith}, address={Princeton}, publisher={Princeton University Press}, @@ -91,16 +88,16 @@ } -@Book {92, +@Book{novello47:_some_accoun_method_music_print, author = {Novello, A}, - year = {1847}, + year = 1847, title = {Some Account of the Methods of Musick Printing, with Specimens of the Various Sizes of Moveable Types and of Other Matters}, address={London}, note={ subject: history of music printing and engraving}, } -@Book {100, +@Book{chrsander18:_sketc_histor_music, author={Chrsander, F.}, year={18??}, title={A Sketch of the HIstory of Music printing, from the 15th to the 16th century}, @@ -109,18 +106,18 @@ @Article {squire1897, author = {Squire, W}, - year = {1897}, + year = 1897, title = {Notes on Early Music Printing}, journal = {Bibliographica}, volume={iii}, - number={99}, + number=99, note={ subject: history of music printing and engraving}, } -@Article{113, +@Article{meyer35:_print_music, author = {Meyer, K. and O'Meara, J}, - year = {1935}, + year = 1935, title = {The Printing of Music, 1473-1934}, journal = {The Dolphin}, volume={ ii}, @@ -129,9 +126,9 @@ } %% 4th ver., -@Article {120, +@Article{pattison39:_notes_early_music_print, author = {Pattison, B}, - year = {1939}, + year = 1939, title = {Notes on Early Music Printing}, journal = {The Library}, note={subject: history of music printing and engraving}, @@ -139,9 +136,9 @@ pages={389-421}, } -@Book {136, +@Book{king64:_four_hundr_years_music_print, author = {King, H}, - year = {1964}, + year = 1964, title = {Four Hundred Years of Music Printing}, address={London}, note={ subject: history of music printing and engraving}, @@ -149,25 +146,25 @@ %(Rev.1961). -@Book{150, +@Book{deutsch46:_music_number, author={Deutsch, O.F.}, - year ={1946}, + year =1946, title = {Music Publishers' Numbers}, address={London}, note={ subject: history of music printing and engraving}, } -@Book {151, +@Book{marco62:_earlies_music_print_contin_europ, author = {Marco, G.A}, - year = {1962}, + year = 1962, title = {The Earliest Music Printers of Continental Europe: a Checklist of Facsimiles Illustrating Their Work}, address={Charlottesville, Virginia}, note={ subject: history of music printing and engraving}, } -@Article {158, +@Article{kinkeldey32:_music_and_music_print_incun, author = {Kinkeldey, O}, - year = {1932}, + year = 1932, title = {Music And Music Printing in Incunabula}, journal = {Papers of the Bibliographical Society of America}, volume={ xxvi}, @@ -175,52 +172,52 @@ note={ subject: history of music printing and engraving}, } -@Book {166, +@Book{oldman34:_collec_music_first_edition, author = {Oldman, C.B}, - year = {1934}, + year = 1934, title = {Collecting Musical First Editions}, address={London}, note={ subject: history of music printing and engraving}, } -@Book{170, +@Book{carter34:_new_paths_book_collec, author={Carter, J}, - year={1934}, + year=1934, title = {New Paths in Book Collecting}, address={London}, note={ subject: history of music printing and engraving}, } -@Book {179, +@Book{krummel58:_graph_analy_applic_early_americ_engrav_music, author={Krummel, D.W.}, - year={1958}, - month={9}, + year=1958, + month=9, title = {Graphic Analysis in Application to Early American Engraved Music}, journal = {Notes}, volume={xvi}, - pages={213}, + pages=213, note={ subject: history of music printing and engraving}, } -@Book {189, +@Book{krummel71:_oblon_format_early_music_books, author = {Krummel, D.W}, - year = {1971}, + year = 1971, title = {Oblong Format in Early Music Books}, journal = {The Library}, volume={5th ser., xxvi}, - pages={312}, + pages=312, note={ subject: history of music printing and engraving}, } -@Book {198, +@Book{king73:_anniv_music_print, author = {King, A.H}, - year = {1973}, + year = 1973, title = {The 50th Anniversary of Music Printing}, } -@Book {204, +@Book{rastall82:_wester, author={Rastall, Richard}, - year={1982}, + year=1982, title = {The notation of Western music : an introduction}, address={New York, N.Y.}, publisher={St. Martin's Press}, @@ -229,36 +226,36 @@ } -@Book {215, +@Book{tappolet47:_la_notat_music, author = {Tappolet, Willy}, - year = {1947}, + year = 1947, title = {La Notation Musicale}, address={Paris}, note={subject: general notation}, publisher={Neuch\^atel}, } -@Book {223, +@Book{williams03:_story_notat, author = {Williams, C.F. Abdy}, - year = {1903}, + year = 1903, title = {The Story of Notation}, address={New York}, publisher={Charles Scribner's Sons}, note={subject: general notation}, } -@Book {239, +@Book{apel53, author={Apel, Willi}, - year={1953}, + year=1953, title = {The notation of polyphonic music, 900-1600}, address={Cambridge, Mass}, institution={Mediaeval Academy of America}, note = {Musical notation}, } -@Book {248, +@Book{berger93:_mensur, author={Berger, Anna Maria Busse}, - year={1993}, + year=1993, title = {Mensuration and proportion signs : origins and evolution}, address={Oxford, England}, publisher={Clarendon Press}, @@ -267,9 +264,9 @@ note={subject: early notation}, } -@Book {258, +@Book{parrish57, author={Parrish, Carl}, - year={1957}, + year=1957, title = {The notation of medieval music}, address={New York}, publisher={Norton}, @@ -278,27 +275,27 @@ } -@Book {269, +@Book{parrish46:_notat_mediev_music, author = {Parrish, Carl}, - year = {1946}, + year = 1946, title = {The Notation of Medieval Music}, address={New York}, publisher={Carl Fischer, Inc.}, note={subject: early notation}, } -@Book {277, +@Book{patch49:_genes_music, author = {Patch, Harry}, - year = {1949}, + year = 1949, title = {Genesis of a Music}, address={Madison}, publisher={University of Wisconsin Press}, note={subject: early notation}, } -@Book {285, +@Book{cage69:_notat, author={Cage, John}, - year={1969}, + year=1969, title = {Notations}, address={New York}, publisher={Something Else Press}, @@ -308,18 +305,18 @@ Performance Arts, with text by 269 composers, but rearranged using chance operations.,V)} }, -@Book {295, +@Book{gaburo77:_notat, author = {Gaburo, Virginia}, - year = {1977}, + year = 1977, title = {Notation}, address={publisher= {Lingua Press}, publisher={La Jolla, California}}, note = {A Lecture about notation, new ideas about}, } -@Book {306, +@Book{risatti75:_new_music_vocab, author = {Risatti, Howard}, - year = {1975}, + year = 1975, title = {New Music Vocabulary}, address={Urbana, Illinois}, publisher={University of Illinois Press}, @@ -328,71 +325,71 @@ -@Book {325, +@Book{cowell30:_new_music_resour, author = {Cowell, Henry}, - year = {1930}, + year = 1930, title = {New Musical Resources}, address={New York}, publisher={Alfred A. Knopf, Inc.}, note={subject: 20th century notation}, } -@Article {333, +@Article{cowell27:_our_inadeq_notat, author = {Cowell, Henry}, - year = {1927}, + year = 1927, title = {Our Inadequate Notation}, journal = {Modern Music}, - volume={4}, - number={3}, + volume=4, + number=3, note={subject: 20th century notation}, } -@Book {342, +@Book{bowers92:_music_letter, author = {Bowers, Roger}, - year = {1992}, + year = 1992, title = {Music & Letters}, - volume={73}, - number={3}, + volume=73, + number=3, month={August}, pages={347(52)}, note={Some reflection upon notation and proportion in Monteverdi's mass and vespers}, } -@Book {353, +@Book{brainard92:_curren_music, author = {Brainard, Paul}, - year = {1992}, + year = 1992, title = {Current Musicology}, - number={50}, + number=50, month={July-Dec}, pages={21(26)}, note={Proportional notation in the music of Schutz and his contemporaries in the 17th Century}, } -@Book {362, +@Book{monelle89:_compar_liter, author = {Monelle, Raymond}, - year = {1989}, + year = 1989, title = {Comparative Literature}, - volume={41}, number={3}, + volume=41, number=3, month={Summer}, pages={252(18)}, note={Music notation and the poetic foot}, } -@Book {373, +@Book{pinegar93:_curren_music, author = {Pinegar, Sandra}, - year = {1993}, + year = 1993, title = {Current Musicology}, - number={53}, + number=53, month={July}, pages={99(10)}, note={The seeds of notation and music paleography.}, } -@Book {382, +@Book{smith90:_curren_music, author = {Smith, Norman E}, - year = {1990}, + year = 1990, title = {Current Musicology}, number={45-47}, month={Jan-Dec}, @@ -400,12 +397,12 @@ note={The notation of fractio modi.}, } -@Book {392, +@Book{treitler92:_journ_music, author = {Treitler, Leo}, - year = {1992}, + year = 1992, title = {The Journal of Musicology}, - volume={10}, - number={2}, + volume=10, + number=2, month={Spring}, pages={131(61)}, @@ -415,12 +412,12 @@ Notational practice developed in medieval music to address the written tradition for chant which interacted with the unwritten vocal tradition.}, } -@Book {407, +@Book{west94:_music_letter, author = {West, M.L}, - year = {1994}, + year = 1994, title = {Music & Letters}, - volume={75}, - number={2}, + volume=75, + number=2, month={May}, pages={161(19)}, note={The Babylonian musical notation and the Hurrian melodic texts. @@ -429,22 +426,22 @@ } } -@Book {418, +@Book{brown86:_music_quart, author = {Brown, Earle}, - year = {1986}, + year = 1986, title = {Musical Quarterly}, - volume={72}, + volume=72, month={Spring}, pages={180(22)}, note={The notation and performance of new music.}, } -@Book {426, +@Book{eggleston94:_notes, author = {Eggleston, Suzanne}, - year = {1994}, + year = 1994, title = {Notes}, - volume={51}, - number={2}, + volume=51, + number=2, month={Dec}, pages={657(7)}, journal={New periodicals}, @@ -454,45 +451,44 @@ } -@Book {441, - +@Book{fuller89:_journ_music, author = {Fuller, David}, - year = {1989}, + year = 1989, title = {The Journal of Musicology}, - volume={7}, - number={1}, + volume=7, + number=1, month={Winter}, pages={21(8)}, note={ Notes and inegales unjoined: defending a definition. (written-out inequalities in music notation). }}, -@Book {454, +@Book{jones90:_persp_new_music, author = {Jones, David Evan}, - year = {1990}, + year = 1990, title = {Perspectives of New Music}, note={Speech extrapolated. (includes notation)} } -@Book {464, +@Book{lependorf89, author = {Lependorf, Jeffrey}, - year = {1989}, + year = 1989, journal={Perspectives of New Music}, - volume={27}, - number={2}, + volume=27, + title = {?}, + number=2, month={Summer}, pages={232(20)}, - note={ - Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan) }, + note={Contemporary notation for the shakuhachi: a primer for composers. (Tradition and Renewal in the Music of Japan) }, } -@Book {478, +@Book{rastall93:_music_letter, author = {Rastall, Richard}, - year = {1993}, + year = 1993, title = {Music & Letters}, - volume={74}, number={4}, + volume=74, number=4, month={November}, pages={639(2)}, @@ -516,12 +512,12 @@ title={Writing without representation, and unreadable notation.}, } -@Book {501, +@Book{hamel89, author = {Hamel, Keith A}, - year = {1989}, + year = 1989, journal = {Perspectives of New Music}, - volume={27}, - number={1}, + volume=27, + number=1, month={Winter}, pages={70(14)}, title={A design for music editing and printing software based on notational syntax}, diff --git a/Documentation/bibliography/computer-notation.bib b/Documentation/bibliography/computer-notation.bib index c5a2505371..b368d6fc30 100644 --- a/Documentation/bibliography/computer-notation.bib +++ b/Documentation/bibliography/computer-notation.bib @@ -534,18 +534,14 @@ surprising that LilyPond is more mature. pages={47--61}, } - - @Article {tablature-web, note = {FAQ (with answers) about TAB, the ASCII variant of Tablature. HWN}, title = {how to read and write tab: a guide to tab notation}, author = {Howard Wright}, email={Howard.Wright@ed.ac.uk}, - HTML={http://www.guitartabs.cc/tabfaq.shtml} -% HTML={http://wabakimi.carleton.ca/~phacket2/guitar/tabfaq.html}, + url={http://www.guitartabs.cc/tabfaq.shtml}, } - @Article {niff-web, note = {Specs for NIFF, a reasonably comprehensive but binary (yuk) format for notation HWN}, @@ -557,7 +553,6 @@ surprising that LilyPond is more mature. ftp = {ftp://blackbox.cartah.washington.edu} } - @Article {smdl-web, author={unknown}, title = {SMDL, Standard Musical Description Language}, @@ -656,18 +651,11 @@ general rules, similar to\cite{parrish87-simultaneities}}, note = {Placement of accidentals crystallised in an enormous set of rules. Same remarks as for \cite{grover89-twovoices} applies} } -@TechReport{, +@TechReport{droettboom00:_study_notat_descr_languag, author = {Michael Droettboom}, title = {Study of music Notation Description Languages}, - year = {2000}, - OPTkey = {}, - OPTvolume = {}, - OPTnumber = {}, - OPTpages = {}, - OPTmonth = {}, - OPTnote = {}, - OPTannote = {} -html= {http://gigue.peabody.jhu.edu/~mdboom/format.pdf} + year = 2000, +url= {http://gigue.peabody.jhu.edu/~mdboom/format.pdf}, annote ={Author compares GUIDO and lilypond. LilyPond wins on practical issues as usability and availability of tools, GUIDO wins on implementation simplicity.} } diff --git a/Documentation/bibliography/html-long.bst b/Documentation/bibliography/html-long.bst new file mode 100644 index 0000000000..85a6163586 --- /dev/null +++ b/Documentation/bibliography/html-long.bst @@ -0,0 +1,1373 @@ +% BibTeX bibliography style `html-long' +% spits out HTML-formatted bibliography in place of bbl output +% by David Kotz dfk@cs.dartmouth.edu +% $Id: html-long.bst,v 1.1 1999/03/11 22:00:27 dfk Exp dfk $ +% modified from +% BibTeX standard bibliography style `alpha' + % version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09. + % Copyright (C) 1985, all rights reserved. + % Copying of this file is authorized only if either + % (1) you make absolutely no changes to your copy, including name, or + % (2) if you do make changes, you name it something other than + % btxbst.doc, plain.bst, unsrt.bst, alpha.bst, and abbrv.bst. + % This restriction helps ensure that all standard styles are identical. + % The file btxbst.doc has the documentation for this style. + +% DFK added abstract, comment, earlier, keyword, later, URL +ENTRY + { abstract + address + author + booktitle + chapter + comment + earlier + edition + editor + howpublished + institution + journal + key + keyword + later + month + note + number + organization + pages + private + publisher + school + series + title + type + URL + volume + year + } + {} + { label extra.label sort.label } + +INTEGERS { output.state before.all mid.sentence after.sentence after.block } + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + +STRINGS { s t } + +FUNCTION {output.nonnull} +{ 's := + output.state mid.sentence = + { ", " * write$ } + { output.state after.block = + { add.period$ write$ + newline$ + } + { output.state before.all = + 'write$ + { add.period$ " " * write$ } + if$ + } + if$ + mid.sentence 'output.state := + } + if$ + s +} + +FUNCTION {output} +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} + +FUNCTION {output.check} +{ 't := + duplicate$ empty$ + { pop$ "empty " t * " in " * cite$ * warning$ } + 'output.nonnull + if$ +} + +% DFK changed to use cite$ for the label +% DFK changed to HTML, and use URL to make cite key a link +FUNCTION {output.bibitem} +{ newline$ + URL empty$ + { "
" * cite$ * ":
" * write$ + } + { "
" * cite$ * ":
" * write$ + } + if$ + newline$ + "
" write$ newline$ + "" + before.all 'output.state := +} + +% DFK changed to HTML +FUNCTION {fin.entry} +{ add.period$ + write$ + newline$ + earlier empty$ + 'skip$ + { "
" write$ newline$ + "See also earlier version " * earlier * "." * write$ newline$ + } + if$ + later empty$ + 'skip$ + { "
" write$ newline$ + "See also later version " * later * "." * write$ newline$ + } + if$ + "
" write$ newline$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} + +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} + +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} + +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} + +% DFK changed to HTML +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { "" swap$ * "" * } + if$ +} + +% DFK added for HTML strong emphasis +FUNCTION {strong} +{ duplicate$ empty$ + { pop$ "" } + { "" swap$ * "" * } + if$ +} + +INTEGERS { nameptr namesleft numnames } + +% DFK added this, to strip {} and ~ from titles and authors +% It's not a great idea, because it will screw up in math mode and some +% special characters... but it makes most things much prettier. +FUNCTION {author.title.purify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "{" = + t #1 #1 substring$ "}" = or + 'skip$ + { t #1 #1 substring$ "~" = + { " " * } + { t #1 #1 substring$ * } + if$ + } + if$ + t #2 global.max$ substring$ 't := + } + while$ +} + +FUNCTION {format.names} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff~}{vv~}{ll}{, jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #2 > + { "," * } + 'skip$ + if$ + t "others" = + { " et al." * } + { " and " * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {format.authors} +{ author empty$ + { "" } + { author format.names author.title.purify } + if$ +} + +FUNCTION {format.editors} +{ editor empty$ + { "" } + { editor format.names + editor num.names$ #1 > + { ", editors" * } + { ", editor" * } + if$ + } + if$ +} + +% DFK added strong, so it will be bold. +FUNCTION {format.title} +{ title empty$ + { "" } + { title "t" change.case$ author.title.purify strong } + if$ +} + +FUNCTION {n.dashify} +{ 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { "" } + { "there's a month but no year in " cite$ * warning$ + month + } + if$ + } + { month empty$ + 'year + { month " " * year * } + if$ + } + if$ +} + +% DFK changed emphasize to strong +FUNCTION {format.btitle} +{ title author.title.purify strong +} + +FUNCTION {tie.or.space.connect} +{ duplicate$ text.length$ #3 < + { " " } + { " " } + if$ + swap$ * * +} + +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "can't use both " swap$ * " fields in " * cite$ * warning$ } + if$ +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { "volume" volume tie.or.space.connect + series empty$ + 'skip$ + { " of " * series emphasize * } + if$ + "volume and number" number either.or.check + } + if$ +} + +FUNCTION {format.number.series} +{ volume empty$ + { number empty$ + { series field.or.null } + { output.state mid.sentence = + { "number" } + { "Number" } + if$ + number tie.or.space.connect + series empty$ + { "there's a number but no series in " cite$ * warning$ } + { " in " * series * } + if$ + } + if$ + } + { "" } + if$ +} + +FUNCTION {format.edition} +{ edition empty$ + { "" } + { output.state mid.sentence = + { edition "l" change.case$ " edition" * } + { edition "t" change.case$ " edition" * } + if$ + } + if$ +} + +INTEGERS { multiresult } + +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and + } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ + } + while$ + multiresult +} + +FUNCTION {format.pages} +{ pages empty$ + { "" } + { pages multi.page.check + { "pages" pages n.dashify tie.or.space.connect } + { "page" pages tie.or.space.connect } + if$ + } + if$ +} + +FUNCTION {format.vol.num.pages} +{ volume field.or.null + number empty$ + 'skip$ + { "(" number * ")" * * + volume empty$ + { "there's a number but no volume in " cite$ * warning$ } + 'skip$ + if$ + } + if$ + pages empty$ + 'skip$ + { duplicate$ empty$ + { pop$ format.pages } + { ":" * pages n.dashify * } + if$ + } + if$ +} + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { "chapter" } + { type "l" change.case$ } + if$ + chapter tie.or.space.connect + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ + } + if$ +} + +FUNCTION {format.in.ed.booktitle} +{ booktitle empty$ + { "" } + { editor empty$ + { "In " booktitle emphasize * } + { "In " format.editors * ", " * booktitle emphasize * } + if$ + } + if$ +} + +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "all relevant fields are empty in " cite$ * warning$ } + 'skip$ + if$ +} + +FUNCTION {format.thesis.type} +{ type empty$ + 'skip$ + { pop$ + type "t" change.case$ + } + if$ +} + +FUNCTION {format.tr.number} +{ type empty$ + { "Technical Report" } + 'type + if$ + number empty$ + { "t" change.case$ } + { number tie.or.space.connect } + if$ +} + +FUNCTION {format.article.crossref} +{ key empty$ + { journal empty$ + { "need key or journal for " cite$ * " to crossref " * crossref * + warning$ + "" + } + { "In {\em " journal * "\/}" * } + if$ + } + { "In " key * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.crossref.editor} +{ editor #1 "{vv~}{ll}" format.name$ + editor num.names$ duplicate$ + #2 > + { pop$ " et al." * } + { #2 < + 'skip$ + { editor #2 "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { " et al." * } + { " and " * editor #2 "{vv~}{ll}" format.name$ * } + if$ + } + if$ + } + if$ +} + +FUNCTION {format.book.crossref} +{ volume empty$ + { "empty volume in " cite$ * "'s crossref of " * crossref * warning$ + "In " + } + { "Volume" volume tie.or.space.connect + " of " * + } + if$ + editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { series empty$ + { "need editor, key, or series for " cite$ * " to crossref " * + crossref * warning$ + "" * + } + { "{\em " * series * "\/}" * } + if$ + } + { key * } + if$ + } + { format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + +FUNCTION {format.incoll.inproc.crossref} +{ editor empty$ + editor field.or.null author field.or.null = + or + { key empty$ + { booktitle empty$ + { "need editor, key, or booktitle for " cite$ * " to crossref " * + crossref * warning$ + "" + } + { "In {\em " booktitle * "\/}" * } + if$ + } + { "In " key * } + if$ + } + { "In " format.crossref.editor * } + if$ + " \cite{" * crossref * "}" * +} + + +% DFK added +% top of stack is the string we want to be a quoted paragraph +FUNCTION {format.quotedParagraph} +{ duplicate$ empty$ + { skip$ } + { "

" swap$ * "

" *} + if$ +} + + +% DFK added, to support comment, private, keyword, etc +% next-to-top is field name (eg, "Comment") +% top is field value (eg, value of comment) +% both are popped; resulting top is either empty, +% or string describing field +FUNCTION {format.dfkfield} +{ duplicate$ empty$ + { pop$ pop$ "" } + { swap$ + " " swap$ * ": " * swap$ * } + if$ +} + +% DFK added +FUNCTION {dfk.stuff} +{ new.block + "Abstract" abstract format.dfkfield format.quotedParagraph write$ newline$ + "Keyword" keyword format.dfkfield format.quotedParagraph write$ newline$ + "Comment" comment format.dfkfield format.quotedParagraph write$ newline$ +} + +% DFK: added a call to dfk.stuff in all entry-type functions below + +FUNCTION {article} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { journal emphasize "journal" output.check + format.vol.num.pages output + format.date "year" output.check + } + { format.article.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {book} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {booklet} +{ output.bibitem + format.authors output + new.block + format.title "title" output.check + howpublished address new.block.checkb + howpublished output + address output + format.date output + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {inbook} +{ output.bibitem + author empty$ + { format.editors "author and editor" output.check } + { format.authors output.nonnull + crossref missing$ + { "author and editor" editor either.or.check } + 'skip$ + if$ + } + if$ + new.block + format.btitle "title" output.check + crossref missing$ + { format.bvolume output + format.chapter.pages "chapter and pages" output.check + new.block + format.number.series output + new.sentence + publisher "publisher" output.check + address output + } + { format.chapter.pages "chapter and pages" output.check + new.block + format.book.crossref output.nonnull + } + if$ + format.edition output + format.date "year" output.check + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {incollection} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.chapter.pages output + new.sentence + publisher "publisher" output.check + address output + format.edition output + format.date "year" output.check + } + { format.incoll.inproc.crossref output.nonnull + format.chapter.pages output + } + if$ + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {inproceedings} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + crossref missing$ + { format.in.ed.booktitle "booktitle" output.check + format.bvolume output + format.number.series output + format.pages output + address empty$ + { organization publisher new.sentence.checkb + organization output + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + organization output + publisher output + } + if$ + } + { format.incoll.inproc.crossref output.nonnull + format.pages output + } + if$ + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {conference} { inproceedings } + +FUNCTION {manual} +{ output.bibitem + author empty$ + { organization empty$ + 'skip$ + { organization output.nonnull + address output + } + if$ + } + { format.authors output.nonnull } + if$ + new.block + format.btitle "title" output.check + author empty$ + { organization empty$ + { address new.block.checka + address output + } + 'skip$ + if$ + } + { organization address new.block.checkb + organization output + address output + } + if$ + format.edition output + format.date output + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {mastersthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + "Master's thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {misc} +{ output.bibitem + format.authors output + title howpublished new.block.checkb + format.title output + howpublished new.block.checka + howpublished output + format.date output + new.block + note output + fin.entry + dfk.stuff + empty.misc.check +} + +FUNCTION {phdthesis} +{ output.bibitem + format.authors "author" output.check + new.block + format.btitle "title" output.check + new.block + "PhD thesis" format.thesis.type output.nonnull + school "school" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {proceedings} +{ output.bibitem + editor empty$ + { organization output } + { format.editors output.nonnull } + if$ + new.block + format.btitle "title" output.check + format.bvolume output + format.number.series output + address empty$ + { editor empty$ + { publisher new.sentence.checka } + { organization publisher new.sentence.checkb + organization output + } + if$ + publisher output + format.date "year" output.check + } + { address output.nonnull + format.date "year" output.check + new.sentence + editor empty$ + 'skip$ + { organization output } + if$ + publisher output + } + if$ + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {techreport} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + format.tr.number output.nonnull + institution "institution" output.check + address output + format.date "year" output.check + new.block + note output + fin.entry + dfk.stuff +} + +FUNCTION {unpublished} +{ output.bibitem + format.authors "author" output.check + new.block + format.title "title" output.check + new.block + note "note" output.check + format.date output + fin.entry + dfk.stuff +} + +FUNCTION {default.type} { misc } + +MACRO {jan} {"January"} + +MACRO {feb} {"February"} + +MACRO {mar} {"March"} + +MACRO {apr} {"April"} + +MACRO {may} {"May"} + +MACRO {jun} {"June"} + +MACRO {jul} {"July"} + +MACRO {aug} {"August"} + +MACRO {sep} {"September"} + +MACRO {oct} {"October"} + +MACRO {nov} {"November"} + +MACRO {dec} {"December"} + +MACRO {acmcs} {"ACM Computing Surveys"} + +MACRO {acta} {"Acta Informatica"} + +MACRO {cacm} {"Communications of the ACM"} + +MACRO {ibmjrd} {"IBM Journal of Research and Development"} + +MACRO {ibmsj} {"IBM Systems Journal"} + +MACRO {ieeese} {"IEEE Transactions on Software Engineering"} + +MACRO {ieeetc} {"IEEE Transactions on Computers"} + +MACRO {ieeetcad} + {"IEEE Transactions on Computer-Aided Design of Integrated Circuits"} + +MACRO {ipl} {"Information Processing Letters"} + +MACRO {jacm} {"Journal of the ACM"} + +MACRO {jcss} {"Journal of Computer and System Sciences"} + +MACRO {scp} {"Science of Computer Programming"} + +MACRO {sicomp} {"SIAM Journal on Computing"} + +MACRO {tocs} {"ACM Transactions on Computer Systems"} + +MACRO {tods} {"ACM Transactions on Database Systems"} + +MACRO {tog} {"ACM Transactions on Graphics"} + +MACRO {toms} {"ACM Transactions on Mathematical Software"} + +MACRO {toois} {"ACM Transactions on Office Information Systems"} + +MACRO {toplas} {"ACM Transactions on Programming Languages and Systems"} + +MACRO {tcs} {"Theoretical Computer Science"} + +READ + +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} + +INTEGERS { len } + +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} + +INTEGERS { et.al.char.used } + +FUNCTION {initialize.et.al.char.used} +{ #0 'et.al.char.used := +} + +EXECUTE {initialize.et.al.char.used} + +FUNCTION {format.lab.names} +{ 's := + s num.names$ 'numnames := + numnames #1 > + { numnames #4 > + { #3 'namesleft := } + { numnames 'namesleft := } + if$ + #1 'nameptr := + "" + { namesleft #0 > } + { nameptr numnames = + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ "others" = + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + } + { s nameptr "{v{}}{l{}}" format.name$ * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ + numnames #4 > + { "{\etalchar{+}}" * + #1 'et.al.char.used := + } + 'skip$ + if$ + } + { s #1 "{v{}}{l{}}" format.name$ + duplicate$ text.length$ #2 < + { pop$ s #1 "{ll}" format.name$ #3 text.prefix$ } + 'skip$ + if$ + } + if$ +} + +FUNCTION {author.key.label} +{ author empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.editor.key.label} +{ author empty$ + { editor empty$ + { key empty$ + { cite$ #1 #3 substring$ } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {author.key.organization.label} +{ author empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { author format.lab.names } + if$ +} + +FUNCTION {editor.key.organization.label} +{ editor empty$ + { key empty$ + { organization empty$ + { cite$ #1 #3 substring$ } + { "The " #4 organization chop.word #3 text.prefix$ } + if$ + } + { key #3 text.prefix$ } + if$ + } + { editor format.lab.names } + if$ +} + +FUNCTION {calc.label} +{ type$ "book" = + type$ "inbook" = + or + 'author.editor.key.label + { type$ "proceedings" = + 'editor.key.organization.label + { type$ "manual" = + 'author.key.organization.label + 'author.key.label + if$ + } + if$ + } + if$ + duplicate$ + year field.or.null purify$ #-1 #2 substring$ + * + 'label := + year field.or.null purify$ #-1 #4 substring$ + * + sortify 'sort.label := +} + +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { nameptr #1 > + { " " * } + 'skip$ + if$ + s nameptr "{vv{ } }{ll{ }}{ ff{ }}{ jj{ }}" format.name$ 't := + nameptr numnames = t "others" = and + { "et al" * } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} + +FUNCTION {author.sort} +{ author empty$ + { key empty$ + { "to sort, need author or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.editor.sort} +{ author empty$ + { editor empty$ + { key empty$ + { "to sort, need author, editor, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { editor sort.format.names } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {author.organization.sort} +{ author empty$ + { organization empty$ + { key empty$ + { "to sort, need author, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { author sort.format.names } + if$ +} + +FUNCTION {editor.organization.sort} +{ editor empty$ + { organization empty$ + { key empty$ + { "to sort, need editor, organization, or key in " cite$ * warning$ + "" + } + { key sortify } + if$ + } + { "The " #4 organization chop.word sortify } + if$ + } + { editor sort.format.names } + if$ +} + +FUNCTION {presort} +{ calc.label + sort.label + " " + * + type$ "book" = + type$ "inbook" = + or + 'author.editor.sort + { type$ "proceedings" = + 'editor.organization.sort + { type$ "manual" = + 'author.organization.sort + 'author.sort + if$ + } + if$ + } + if$ + * + " " + * + year field.or.null sortify + * + " " + * + title field.or.null + sort.format.title + * +% DFK throw away stuff above and use cite$ for sort key + pop$ + cite$ + #1 entry.max$ substring$ + 'sort.key$ := +} + +ITERATE {presort} + +SORT + +STRINGS { longest.label last.sort.label next.extra } + +INTEGERS { longest.label.width last.extra.num } + +FUNCTION {initialize.longest.label} +{ "" 'longest.label := + #0 int.to.chr$ 'last.sort.label := + "" 'next.extra := + #0 'longest.label.width := + #0 'last.extra.num := +} + +FUNCTION {forward.pass} +{ last.sort.label sort.label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + sort.label 'last.sort.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + label width$ longest.label.width > + { label 'longest.label := + label width$ 'longest.label.width := + } + 'skip$ + if$ + extra.label 'next.extra := +} + +EXECUTE {initialize.longest.label} + +ITERATE {forward.pass} + +REVERSE {reverse.pass} + +% DFK removed code about et.al.char +% DFK changed to HTML +FUNCTION {begin.bib} +{ "" write$ newline$ + " Bibliography " write$ newline$ + "" write$ newline$ + "
" write$ newline$ +} + +EXECUTE {begin.bib} + +EXECUTE {init.state.consts} + +ITERATE {call.type$} + +% DFK changed to HTML +FUNCTION {end.bib} +{ newline$ + "
" write$ newline$ + "" write$ newline$ + "" write$ newline$ +} + +EXECUTE {end.bib} diff --git a/Documentation/regression-test.tely b/Documentation/regression-test.tely index 0f7791c577..3876f3b648 100644 --- a/Documentation/regression-test.tely +++ b/Documentation/regression-test.tely @@ -35,23 +35,14 @@ documenting bugfixes. @lilypondfile[printfilename]{dots.ly} +@lilypondfile[printfilename]{accidental.ly} + @lilypondfile[printfilename]{multi-measure-rest.ly} @lilypondfile[printfilename]{mm-rests2.ly} - -@section Accidentals - -Accidentals are currently in a development stage. - -@lilypondfile[printfilename]{accidental.ly} - @lilypondfile[printfilename]{accidental-single-double.ly} -@lilypondfile[printfilename]{accidentals.ly} - -@lilypondfile[printfilename]{accidental-octave.ly} - @section Stems diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index 61cf08e3b9..f50a1b821e 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -235,16 +235,6 @@ at @uref{ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz,in the pnmtopng FTP site}. -@item @uref{http://www.lri.fr/~filliatr/ftp/bibtex2html/, Bibtex2html}, or -@uref{http://www.uni-koblenz.de/ag-ki/ftp/bib2html/, Bib2html}. -Bibtex2html is available in debian, while bib2html is in some rpm based -distributions. -Bib2html, in turn depends on man2html for proper installation. -man2html can be had from @uref{http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05,http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05}. - -The website will build without bib converter utility, but you will not -see our hypertextified bibliography. - @item texinfo (a development release) The documentation will build with texinfo-4.0, but if you want split html pages, you're best off using the lates pretest version from @@ -491,7 +481,6 @@ in addition to the those needed for running: @item make, m4, flex, bison @item gettext @item groff, texinfo -@item bibtex2html (not in Debian 2.2) @item tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev @item dpkg-dev, debhelper, fakeroot @item gs, netpbm @@ -519,7 +508,7 @@ For Debian in development ("unstable", the future 2.3 or 3.0): apt-get install binutils cpp gcc libc6-dev \ g++ libstdc++2.10-dev \ python-base libguile-dev tetex-bin libkpathsea-dev \ - tetex-extra flex bison texinfo bibtex2html groff gs \ + tetex-extra flex bison texinfo groff gs \ netpbm m4 gettext @end example diff --git a/INSTALL.txt b/INSTALL.txt index a2b3a793e1..176a50e062 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -231,17 +231,6 @@ issuing * pnmtopng. The original is at in the pnmtopng FTP site (ftp://swrinde.nde.swri.edu/pub/png/applications/pnmtopng-2.37.2.tar.gz). - * Bibtex2html (http://www.lri.fr/~filliatr/ftp/bibtex2html/), or - Bib2html (http://www.uni-koblenz.de/ag-ki/ftp/bib2html/). - Bibtex2html is available in debian, while bib2html is in some rpm - based distributions. Bib2html, in turn depends on man2html for - proper installation. man2html can be had from - http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05 - (http://askdonald.ask.uni-karlsruhe.de/hppd/hpux/Networking/WWW/Man2html-1.05). - - The website will build without bib converter utility, but you will - not see our hypertextified bibliography. - * texinfo (a development release) The documentation will build with texinfo-4.0, but if you want split html pages, you're best off using the lates pretest version from texinfo-4.0b @@ -462,8 +451,6 @@ in addition to the those needed for running: * groff, texinfo - * bibtex2html (not in Debian 2.2) - * tetex-base, tetex-bin, tetex-extra, libkpathsea-dev or tetex-dev * dpkg-dev, debhelper, fakeroot @@ -490,7 +477,7 @@ by running \`apt-get' as root before building the package: apt-get install binutils cpp gcc libc6-dev \ g++ libstdc++2.10-dev \ python-base libguile-dev tetex-bin libkpathsea-dev \ - tetex-extra flex bison texinfo bibtex2html groff gs \ + tetex-extra flex bison texinfo groff gs \ netpbm m4 gettext And, just so that old fonts from previous versions of LilyPond won't diff --git a/VERSION b/VERSION index 319a3ad124..65adfb75d9 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=5 -PATCH_LEVEL=24 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=25 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/buildscripts/bib2html.py b/buildscripts/bib2html.py new file mode 100644 index 0000000000..37bc4694fd --- /dev/null +++ b/buildscripts/bib2html.py @@ -0,0 +1,86 @@ +#!@PYTHON@ +import os +import sys +import getopt +import tempfile +import string + +# usage: +def usage (): + print 'usage: %s [-s style] [-o ] BIBFILES...'; + + + +(options, files) = getopt.getopt(sys.argv[1:], 's:o:', []) + +output = 'bib.html' +style = 'long' +for (o,a) in options: + if o == '-h' or o == '--help': + usage () + sys.exit (0) + elif o == '-s' or o == '--style': + style = a + elif o == '-o' or o == '--output': + output = a + else: + raise 'unknown opt ', o + + +if style not in ['alpha','index','long','longp','long-pario','short','short-pario','split']: + sys.stderr.write ("Unknown style \`%s'\n" % style) + +tempfile = tempfile.mktemp ('bib2html') + +if not files: + usage () + sys.exit (2) + + +def strip_extension (f, ext): + (p, e) = os.path.splitext (f) + if e == ext: + e = '' + return p + e + +nf = [] +for f in files: + nf.append (strip_extension(f, '.bib')) + +files = string.join (nf,',') + +open(tempfile + '.aux', 'w').write (r''' +\relax +\citation{*} +\bibstyle{html-%(style)s} +\bibdata{%(files)s}''' % vars ()) + +cmd = "bibtex %s" % tempfile; + +sys.stdout.write ("Invoking `%s'\n" % cmd) +os.system (cmd) + + +#TODO: do tex -> html on output + +bbl =open (tempfile + '.bbl').read () + +open (output, 'w').write (bbl) + + +def cleanup (tempfile): + for a in ['aux','bbl', 'blg']: + os.unlink (tempfile + '.' + a) + +cleanup(tempfile) + + + + + + + + + + + diff --git a/configure b/configure index f08e503965..421625432f 100755 --- a/configure +++ b/configure @@ -3175,50 +3175,6 @@ EOF - for ac_prog in bibtex2html bib2html -do -# Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3184: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_BIBTEX2HTML'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - if test -n "$BIBTEX2HTML"; then - ac_cv_prog_BIBTEX2HTML="$BIBTEX2HTML" # Let the user override the test. -else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_BIBTEX2HTML="$ac_prog" - break - fi - done - IFS="$ac_save_ifs" -fi -fi -BIBTEX2HTML="$ac_cv_prog_BIBTEX2HTML" -if test -n "$BIBTEX2HTML"; then - echo "$ac_t""$BIBTEX2HTML" 1>&6 -else - echo "$ac_t""no" 1>&6 -fi - -test -n "$BIBTEX2HTML" && break -done -test -n "$BIBTEX2HTML" || BIBTEX2HTML="error" - - if test "$BIBTEX2HTML" = "bib2html"; then - BIBTEX2HTML_FLAGS='$< $(@)' - else - BIBTEX2HTML_FLAGS='-o $(@D)/$(*F) $<' - fi - - - - if test "$optimise_b" = yes; then DEFINES="$DEFINES -DSTRING_UTILS_INLINED" @@ -3231,7 +3187,7 @@ fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:3235: checking for 8-bit clean memcmp" >&5 +echo "configure:3191: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3239,7 +3195,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -3267,12 +3223,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:3271: checking for vprintf" >&5 +echo "configure:3227: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3258: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -3322,12 +3278,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:3326: checking for _doprnt" >&5 +echo "configure:3282: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3313: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -3380,12 +3336,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3384: checking for $ac_func" >&5 +echo "configure:3340: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3371: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3451,7 +3407,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3455: checking for $ac_word" >&5 +echo "configure:3411: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3483,7 +3439,7 @@ test -n "$MAKEINFO" || MAKEINFO="error" if test "$MAKEINFO" != "error"; then echo $ac_n "checking whether makeinfo can split html by @node""... $ac_c" 1>&6 -echo "configure:3487: checking whether makeinfo can split html by @node" >&5 +echo "configure:3443: checking whether makeinfo can split html by @node" >&5 mkdir -p out makeinfo --html --output=out/split <&6 -echo "configure:3515: checking for $ac_word" >&5 +echo "configure:3471: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3549,17 +3505,17 @@ for ac_hdr in python2.1/Python.h python2.0/Python.h python2/Python.h python/Pyth do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3553: checking for $ac_hdr" >&5 +echo "configure:3509: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3519: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3783,8 +3739,6 @@ s%@GUILE_CFLAGS@%$GUILE_CFLAGS%g s%@GUILE_LDFLAGS@%$GUILE_LDFLAGS%g s%@GUILE@%$GUILE%g s%@KPATHSEA@%$KPATHSEA%g -s%@BIBTEX2HTML@%$BIBTEX2HTML%g -s%@BIBTEX2HTML_FLAGS@%$BIBTEX2HTML_FLAGS%g s%@LIBOBJS@%$LIBOBJS%g s%@MAKEINFO@%$MAKEINFO%g s%@SPLITTING_MAKEINFO@%$SPLITTING_MAKEINFO%g diff --git a/configure.in b/configure.in index 1597831177..687edd4e4a 100644 --- a/configure.in +++ b/configure.in @@ -29,7 +29,6 @@ AC_STEPMAKE_TEXMF AC_STEPMAKE_TEXMF_DIRS AC_STEPMAKE_GUILE AC_STEPMAKE_KPATHSEA -AC_STEPMAKE_BIBTEX2HTML if test "$optimise_b" = yes; then diff --git a/input/regression/accidental-octave.ly b/input/regression/accidental-octave.ly deleted file mode 100644 index 54ba4fb976..0000000000 --- a/input/regression/accidental-octave.ly +++ /dev/null @@ -1,74 +0,0 @@ -\version "1.5.24.rz2" - -\header { -texidoc=" -This shows how accidentals in different octaves are handled. -" -} - -#(define (central-octave p) - (let* ((a (pitch-alteration p)) - (n (pitch-notename p))) - (make-pitch 0 n a))) - -#(define (no-octaves music) - (let* ((es (ly-get-mus-property music 'elements)) - (e (ly-get-mus-property music 'element)) - (p (ly-get-mus-property music 'pitch))) - - (if (pair? es) - (ly-set-mus-property - music 'elements - (map no-octaves es))) - - (if (music? e) - (ly-set-mus-property - music 'element - (no-octaves e))) - - (if (pitch? p) - (begin - (set! p (central-octave p)) - (ly-set-mus-property music 'pitch p))) - - - music)) - - -\include "paper16.ly" - -mel = \notes \transpose c'' { - \time 4/4 \key d \major - gis4 g' g gis' | gis2 g' | g1 | gis | g | gis | g' | - fis4 f' f fis' | fis2 f' | f1 | fis | f | fis | f' | - \bar "|." \break -} - -mus = \notes { - \mel - \property Score.oneMeasureLazy = ##t - \property Score.autoAccidentals = #'(same-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(same-octave)" \mel > - \property Score.autoAccidentals = #'(lazy-same-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-same-octave)" \mel > - \property Score.autoAccidentals = #'(any-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(any-octave)" \mel > - \property Score.autoAccidentals = #'(lazy-any-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-any-octave)" \mel > - \modernAccidentals - < s1^"$\\backslash$modernAccidentals" \mel > - \modernCautionaries - < s1^"$\\backslash$modernCautionaries" \mel > - \noResetKey - < s1^"$\\backslash$noResetKey" \mel > -} - - -\score { - < \context Staff \mus - \context NoteNames \apply #no-octaves \mus - > - \paper { - indent=0.0 - } -} diff --git a/input/regression/accidental-single-double.ly b/input/regression/accidental-single-double.ly index cffcbac459..f7676f85ca 100644 --- a/input/regression/accidental-single-double.ly +++ b/input/regression/accidental-single-double.ly @@ -13,12 +13,12 @@ thenotes = \notes \relative cis' { \time 4/4 gisis'4 gis gisis ges | geses ges geses gis | gisis g geses g | -gis ges gis g | +gis g ges g | \key a \major gisis4 gis gisis ges | geses ges geses gis | gisis g geses g | -gis ges gis g | +gis g ges g | } \score { < \context Staff \thenotes diff --git a/input/regression/accidentals.ly b/input/regression/accidentals.ly deleted file mode 100644 index dbd2f02f60..0000000000 --- a/input/regression/accidentals.ly +++ /dev/null @@ -1,36 +0,0 @@ -\version "1.5.24.rz2" - -\header{ -texidoc=" -This shows how accidentals are handled. -" -} - -mel = \notes { \key d \major \time 4/4 - d4 dis dis8 dis, d4 | d dis disis8 d, dis4 | d des disis8 dis, d4 | dis deses d dis ~ | dis dis ~ dis8 d, dis4 ~ | \break - dis dis cis c | c cis cisis cis | c ces cisis c | cis ceses c cis ~ | cis cis ~ cis cis \bar "|." | \break -} - -\score { \notes \context Staff \transpose c''' { - \mel - \property Score.oneMeasureLazy = ##t - \property Score.autoAccidentals = #'(same-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(same-octave)" \mel > - \property Score.autoAccidentals = #'(lazy-same-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-same-octave)" \mel > - \property Score.autoAccidentals = #'(any-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(any-octave)" \mel > - \property Score.autoAccidentals = #'(lazy-any-octave) - < s1^"$\\backslash$property Score.autoAccidentals = \\#'(lazy-any-octave)" \mel > - \stoneAccidentals - < s1^"$\\backslash stoneAccidentals" \mel > - \stoneCautionaries - < s1^"$\\backslash stoneCautionaries" \mel > - \noResetKey - < s1^"$\\backslash noResetKey" \mel > - } - \paper { - indent = 0.0 - } -} - diff --git a/input/test/accidentals.ly b/input/test/accidentals.ly index e69de29bb2..294ca11db3 100644 --- a/input/test/accidentals.ly +++ b/input/test/accidentals.ly @@ -0,0 +1,23 @@ +% \version "1.5.15.rz1" + +mel = \notes { + d4 dis dis d | d dis disis dis | d des disis d | dis deses d dis ~ | dis dis ~ dis dis ~ | \break + dis dis cis c | c cis cisis cis | c ces cisis c | cis ceses c cis ~ | cis cis ~ cis cis \bar "|." | \break +} + +\score { \notes \context Staff \transpose c''' { + \key d \major + \mel + \property Score.autoReminders = #'cautionary + < s1^"$\\backslash$property Score.autoReminders = \\#'cautionary" \mel > + \property Score.autoReminders = #'accidental + < s1^"$\\backslash$property Score.autoReminders = \\#'accidental" \mel > + \property Score.autoReminders = ##f + \property Score.forgetAccidentals = ##t + < s1^"$\\backslash$property Score.forgetAccidentals = \\#\\#t" \mel > + \property Score.forgetAccidentals = ##f + \property Score.noResetKey = ##t + < s1^"$\\backslash$property Score.noResetKey = \\#\\#t" \mel > + } +} + diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index baf3941591..65b83a1b61 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -59,7 +59,6 @@ public: }; - Accidental_engraver::Accidental_engraver () { key_item_p_ =0; @@ -80,22 +79,19 @@ Accidental_engraver::initialize () * Negative (-1 or -2) if accidental has changed. **/ static int -number_accidentals (SCM sig, Note_req * note_l, bool ignore_octave_b) +number_accidentals (SCM sig, Note_req * note_l) { Pitch *pitch = unsmob_pitch (note_l->get_mus_property ("pitch")); int n = pitch->notename_i_; - int o = pitch->octave_i_; + int o = pitch->octave_i () ; int a = pitch->alteration_i_; - SCM prev; - if (ignore_octave_b) - prev = ly_assoc_cdr (gh_int2scm (n), sig); - else - prev = gh_assoc (gh_cons (gh_int2scm (o), gh_int2scm (n)), sig); + SCM prev = scm_assoc (gh_cons (gh_int2scm (o), gh_int2scm (n)), sig); if (prev == SCM_BOOL_F) - prev = gh_assoc (gh_int2scm (n), sig); + prev = scm_assoc (gh_int2scm (n), sig); SCM prev_acc = (prev == SCM_BOOL_F) ? gh_int2scm (0) : ly_cdr (prev); + bool different = !gh_equal_p (prev_acc , gh_int2scm (a)); int p = gh_number_p (prev_acc) ? gh_scm2int (prev_acc) : 0; int num; @@ -106,33 +102,6 @@ number_accidentals (SCM sig, Note_req * note_l, bool ignore_octave_b) return a==p ? num : -num; } -static int -number_accidentals (SCM localsig, SCM lazysig, Note_req * note_l, SCM accidentals_l) { - int number=0; - int diff=0; - if(gh_memq(ly_symbol2scm("same-octave"),accidentals_l)!=SCM_BOOL_F) { - int n = number_accidentals(localsig,note_l,false); - diff |= n<0; - number = max(number,abs(n)); - } - if(gh_memq(ly_symbol2scm("lazy-same-octave"),accidentals_l)!=SCM_BOOL_F) { - int n = number_accidentals(lazysig,note_l,false); - diff |= n<0; - number = max(number,abs(n)); - } - if(gh_memq(ly_symbol2scm("any-octave"),accidentals_l)!=SCM_BOOL_F) { - int n = number_accidentals(localsig,note_l,true); - diff |= n<0; - number = max(number,abs(n)); - } - if(gh_memq(ly_symbol2scm("lazy-any-octave"),accidentals_l)!=SCM_BOOL_F) { - int n = number_accidentals(lazysig,note_l,true); - diff |= n<0; - number = max(number,abs(n)); - } - return diff ? -number : number; -} - void Accidental_engraver::create_grobs () { @@ -140,25 +109,31 @@ Accidental_engraver::create_grobs () { SCM localsig = get_property ("localKeySignature"); SCM lazysig = get_property ("lazyKeySignature"); - SCM accidentals_l = get_property ("autoAccidentals"); - SCM cautionaries_l = get_property ("autoCautionaries"); - - bool extra_natural_b = get_property ("extraNatural")==SCM_BOOL_T; for (int i=0; i < mel_l_arr_.size (); i++) { Grob * support_l = support_l_arr_[i]; Note_req * note_l = mel_l_arr_[i]; - int num = number_accidentals(localsig,lazysig,note_l,accidentals_l); - int num_caut = number_accidentals(localsig,lazysig,note_l,cautionaries_l); + int local_num = number_accidentals(localsig,note_l); + bool local_diff = local_num<0; local_num = abs(local_num); + int lazy_num = number_accidentals(lazysig,note_l); + bool lazy_diff = lazy_num<0; lazy_num = abs(lazy_num); + + int num = local_num;; + bool different= local_diff; bool cautionary = to_boolean (note_l->get_mus_property ("cautionary")); - if (abs(num_caut)>abs(num)) { - num=num_caut; - cautionary=true; + if (to_boolean (get_property ("noResetKey"))) { + num = lazy_num; + different = lazy_diff; + } + else if (gh_equal_p (get_property ("autoReminders"),ly_symbol2scm("cautionary")) + || gh_equal_p (get_property ("autoReminders"),ly_symbol2scm("accidental"))) { + num = max(local_num,lazy_num); + if (gh_equal_p (get_property ("autoReminders"),ly_symbol2scm("cautionary")) + && lazy_num>local_num) + cautionary = true; } - bool different=num<0; - num=abs(num); /* see if there's a tie that "changes" the accidental */ /* works because if there's a tie, the note to the left @@ -201,7 +176,7 @@ Accidental_engraver::create_grobs () Local_key_item::add_pitch (key_item_p_, *unsmob_pitch (note_l->get_mus_property ("pitch")), cautionary, - num==2 && extra_natural_b, + num==2, tie_break_reminder); Side_position_interface::add_support (key_item_p_,support_l); } @@ -213,8 +188,7 @@ Accidental_engraver::create_grobs () Checking whether it is tied also works mostly, but will it always do the correct thing? - FIXME: 2nd accidental after broken-tie accidental should be junked. - Remove broken-tie-support? + (???? -Rune ) */ Pitch *pitch = unsmob_pitch (note_l->get_mus_property ("pitch")); @@ -229,8 +203,8 @@ Accidental_engraver::create_grobs () Remember an alteration that is different both from that of the tied note and of the key signature. */ - localsig = ly_assoc_front_x (localsig, on, SCM_BOOL_T); - lazysig = ly_assoc_front_x (lazysig, on, SCM_BOOL_T); + localsig = scm_assoc_set_x (localsig, on, SCM_BOOL_T); + lazysig = scm_assoc_set_x (lazysig, on, SCM_BOOL_T); } else if (!forget) { @@ -238,8 +212,8 @@ Accidental_engraver::create_grobs () not really really correct if there are more than one noteheads with the same notename. */ - localsig = ly_assoc_front_x (localsig, on, gh_int2scm (a)); - lazysig = ly_assoc_front_x (lazysig, on, gh_int2scm (a)); + localsig = scm_assoc_set_x (localsig, on, gh_int2scm (a)); + lazysig = scm_assoc_set_x (lazysig, on, gh_int2scm (a)); } } @@ -247,7 +221,7 @@ Accidental_engraver::create_grobs () daddy_trans_l_->set_property ("lazyKeySignature", lazysig); } - + if (key_item_p_) { /* @@ -333,11 +307,7 @@ Accidental_engraver::process_music () } else if (!mp.to_bool () ) { - /* Use the old local sig as new lazy sig. This way the lazy sig will be one measure late */ - if (get_property("oneMeasureLazy")==SCM_BOOL_T) - daddy_trans_l_->set_property ("lazyKeySignature", - daddy_trans_l_->get_property ("localKeySignature")); - daddy_trans_l_->set_property ("localKeySignature", ly_deep_copy (sig)); + daddy_trans_l_->set_property ("localKeySignature", ly_deep_copy (sig)); } } @@ -351,5 +321,5 @@ events. Due to interaction with ties (which don't come together with note heads), this needs to be in a context higher than Tie_engraver. FIXME", /* creats*/ "Accidentals", /* acks */ "rhythmic-head-interface tie-interface arpeggio-interface", -/* reads */ "localKeySignature lazyKeySignature forgetAccidentals oneMeasureLazy extraNatural autoAccidentals autoCautionaries", +/* reads */ "localKeySignature forgetAccidentals noResetKey autoReminders", /* write */ ""); diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index afdd5482bd..ec516bb2af 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -129,7 +129,7 @@ Fingering_engraver::process_music () { /* chuck out reqs that have no pitch. We put them over the note by default. - */ + */ up_reqs_.push (pitch_sorted_reqs [i]); pitch_sorted_reqs.del (i); } diff --git a/lily/gourlay-breaking.cc b/lily/gourlay-breaking.cc index 86914fcd0e..4c9ef7c9fa 100644 --- a/lily/gourlay-breaking.cc +++ b/lily/gourlay-breaking.cc @@ -64,7 +64,7 @@ Gourlay_breaking::do_solve () const Real worst_force = 0.0; - for ( int break_idx=1; break_idx< breaks.size (); break_idx++) + for (int break_idx=1; break_idx< breaks.size (); break_idx++) { /* start with a short line, add measures. At some point @@ -187,6 +187,10 @@ Gourlay_breaking::Gourlay_breaking () /* TODO: uniformity parameter to control rel. importance of spacing differences. + + TODO: + + mixing break penalties and constraint-failing solutions is confusing. */ Real Gourlay_breaking::combine_demerits (Column_x_positions const &prev, @@ -197,7 +201,7 @@ Gourlay_breaking::combine_demerits (Column_x_positions const &prev, if (pc->original_l_) { SCM pen = pc->get_grob_property ("penalty"); - if (gh_number_p (pen)) + if (gh_number_p (pen) && fabs (gh_scm2double (pen)) < 10000) { break_penalties += gh_scm2double (pen); } @@ -212,9 +216,12 @@ Gourlay_breaking::combine_demerits (Column_x_positions const &prev, /* If it doesn't satisfy constraints, we make this one really unattractive. - */ - demerit += 10; - demerit *= 100; + + add 20000 to the demerits, so that a break penalty + of -10000 won't change the result */ + demerit = (demerit + 20000) >? 2000; + + demerit *= 10; } return demerit; diff --git a/lily/include/lily-guile.hh b/lily/include/lily-guile.hh index 26c2a8a300..55aafc98c7 100644 --- a/lily/include/lily-guile.hh +++ b/lily/include/lily-guile.hh @@ -133,11 +133,9 @@ String ly_symbol2string (SCM); SCM ly_offset2scm (Offset); Offset ly_scm2offset (SCM); SCM ly_assoc_chain (SCM key, SCM achain); -SCM ly_assoc_cdr (SCM key, SCM alist); Interval ly_scm2interval (SCM); SCM ly_interval2scm (Interval); - SCM ly_parse_scm (char const* s, int* n); SCM ly_quote_scm (SCM s); SCM ly_type (SCM); @@ -155,11 +153,6 @@ inline SCM ly_cddr (SCM x) { return SCM_CDDR (x); } inline SCM ly_caddr (SCM x) { return SCM_CADDR (x); } inline SCM ly_cdadr (SCM x) { return SCM_CDADR (x); } inline SCM ly_caadr (SCM x) { return SCM_CAADR (x); } -/* inserts at front, removing dublicates */ -inline SCM ly_assoc_front_x(SCM alist, SCM key, SCM val) -{ - return scm_acons(key, val, scm_assoc_remove_x (alist, key)); -} inline bool ly_pair_p (SCM x) { return SCM_NFALSEP (scm_pair_p (x)); } inline bool ly_symbol_p (SCM x) { return SCM_SYMBOLP (x); } inline bool ly_number_p (SCM x) { return SCM_NUMBERP (x); } diff --git a/lily/include/simple-spacer.hh b/lily/include/simple-spacer.hh index 8115e25587..80fd7f153d 100644 --- a/lily/include/simple-spacer.hh +++ b/lily/include/simple-spacer.hh @@ -69,7 +69,7 @@ struct Simple_spacer Real indent_f_; Real line_len_f_; Real default_space_f_; - + int active_count_; Simple_spacer (); diff --git a/lily/lily-guile.cc b/lily/lily-guile.cc index 2cf476fbbf..a427155491 100644 --- a/lily/lily-guile.cc +++ b/lily/lily-guile.cc @@ -22,7 +22,6 @@ #include "direction.hh" #include "offset.hh" #include "interval.hh" -#include "pitch.hh" SCM ly_last (SCM list) @@ -520,23 +519,6 @@ ly_assoc_chain (SCM key, SCM achain) return SCM_BOOL_F; } -/* looks the key up in the cdrs of the alist-keys - - ignoring the car and ignoring non-pair keys. - Returns first match found. */ -SCM -ly_assoc_cdr (SCM key, SCM alist) -{ - if (gh_pair_p (alist)) { - SCM trykey = ly_caar(alist); - if(gh_pair_p(trykey) && to_boolean(scm_equal_p(key,ly_cdr(trykey)))) - return ly_car(alist); - else - return ly_assoc_cdr (key, ly_cdr (alist)); - } - else - return SCM_BOOL_F; -} - /* LIST has the form "sym1 sym2 sym3" */ diff --git a/lily/pitch.cc b/lily/pitch.cc index 46013523fd..df4db48a8c 100644 --- a/lily/pitch.cc +++ b/lily/pitch.cc @@ -154,13 +154,13 @@ Pitch::str () const if (alteration_i_) s += String (accname[alteration_i_ + 2]); - if (octave_i_ > 0) + if (octave_i_ >= 0) { int o = octave_i_ + 1; while (o--) s += "'"; } - else if (octave_i_ <0) + else if (octave_i_ < 0) { int o = (-octave_i_) - 1; while (o--) diff --git a/lily/script-column.cc b/lily/script-column.cc index e5ecb87960..7d8cdc7467 100644 --- a/lily/script-column.cc +++ b/lily/script-column.cc @@ -8,7 +8,7 @@ */ #include "script-column.hh" #include "side-position-interface.hh" - +#include "warn.hh" #include "group-interface.hh" void @@ -46,8 +46,15 @@ Script_column::before_line_breaking (SCM smob) for (int i=0; i < staff_sided.size (); i++) { - arrs[Side_position_interface::get_direction (staff_sided[i])] - .push (staff_sided[i]); + Direction d = Side_position_interface::get_direction (staff_sided[i]); + if (!d) + { + programming_error ( "No direction for script?"); + d = DOWN; + staff_sided[i]->set_grob_property ("direction", gh_int2scm (d)); + } + + arrs[d].push (staff_sided[i]); } Direction d = DOWN; diff --git a/lily/simple-spacer.cc b/lily/simple-spacer.cc index e787fd091b..a98188569a 100644 --- a/lily/simple-spacer.cc +++ b/lily/simple-spacer.cc @@ -24,6 +24,7 @@ Simple_spacer::Simple_spacer () { + active_count_ = 0; force_f_ = 0.; indent_f_ =0.0; default_space_f_ = 20 PT; @@ -100,8 +101,12 @@ Simple_spacer::set_active_states () // safe, since // force is only copied. for (int i=0 ; i = force_f_) - springs_[i].active_b_ = false; + if (springs_[i].active_b_ + && springs_[i].block_force_f_ >= force_f_) + { + springs_[i].active_b_ = false; + active_count_ --; + } } Real @@ -125,10 +130,7 @@ Spring_description::length (Real f) const bool Simple_spacer::active_b () const { - for (int i=0; i < springs_.size (); i++) - if (springs_[i].active_b_) - return true; - return false; + return active_count_; } void @@ -216,6 +218,7 @@ Simple_spacer::add_columns (Link_array cols) desc.block_force_f_ = - desc.hooke_f_ * desc.ideal_f_; // block at distance 0 springs_.push (desc); + active_count_ ++; } for (int i=0; i < cols.size () - 1; i++) @@ -255,10 +258,35 @@ Simple_spacer::solve (Column_x_positions *positions) const positions->loose_cols_ = loose_cols_; positions->satisfies_constraints_b_ = (line_len_f_ < 0) || active_b (); + + + /* + Check if breaking constraints are met. + */ + bool break_satisfy = true; + int sz = positions->cols_.size (); + for (int i = sz; i--; ) + { + SCM p = positions->cols_[i]->get_grob_property( "penalty"); + if (gh_number_p (p)) + { + if (gh_scm2double (p) < -9999) + break_satisfy = break_satisfy && (i == 0 || i == sz -1); + if (gh_scm2double (p) > 9999) + break_satisfy = break_satisfy && !(i == 0 || i == sz -1); + } + + } + + positions->satisfies_constraints_b_ = + positions->satisfies_constraints_b_ && break_satisfy; } + + + Spring_description::Spring_description () { ideal_f_ =0.0; diff --git a/lily/stem.cc b/lily/stem.cc index 90949fc766..8502c7581c 100644 --- a/lily/stem.cc +++ b/lily/stem.cc @@ -586,15 +586,18 @@ Stem::brew_molecule (SCM smob) Real y1 = Staff_symbol_referencer::position_f (first_head (me)); Real y2 = stem_end_position (me); - Interval stem_y (y1,y2); - stem_y.unite (Interval (y2,y1)); + Interval stem_y (y1 ? y1); + // dy? - Real dy = Staff_symbol_referencer::staff_space (me)/2.0; + Real dy = Staff_symbol_referencer::staff_space (me) * 0.5; if (Grob *hed = support_head (me)) { - Interval head_height = hed->extent (hed,Y_AXIS); + /* + must not take ledgers into account. + */ + Interval head_height = Note_head::head_extent (hed,Y_AXIS); Real y_attach = Note_head::stem_attachment_coordinate ( hed, Y_AXIS); y_attach = head_height.linear_combination (y_attach); diff --git a/lily/translator-def.cc b/lily/translator-def.cc index 9c8ffb0d3a..6d90f320be 100644 --- a/lily/translator-def.cc +++ b/lily/translator-def.cc @@ -12,7 +12,6 @@ #include "translator-group.hh" #include "warn.hh" #include "music-output-def.hh" - #include "ly-smobs.icc" int @@ -41,17 +40,6 @@ Translator_def::mark_smob (SCM smob) return me->type_name_; } -SCM push_sym; -SCM assign_sym; - -static void -foo_init () -{ - push_sym = scm_permanent_object (ly_symbol2scm ("push")); - assign_sym = scm_permanent_object (ly_symbol2scm ("assign")); -} - -ADD_SCM_INIT_FUNC (transdef, foo_init); Translator_def::Translator_def () { @@ -138,14 +126,14 @@ Translator_def::add_last_element (SCM s) void Translator_def::add_push_property (SCM props, SCM syms, SCM vals) { - this->property_ops_ = gh_cons (scm_list_n (push_sym, props, syms, vals, SCM_UNDEFINED), + this->property_ops_ = gh_cons (scm_list_n (ly_symbol2scm ("push"), props, syms, vals, SCM_UNDEFINED), this->property_ops_); } void Translator_def::add_pop_property (SCM props, SCM syms) { - this->property_ops_ = gh_cons (scm_list_n (push_sym, props, syms, SCM_UNDEFINED), + this->property_ops_ = gh_cons (scm_list_n (ly_symbol2scm ("push"), props, syms, SCM_UNDEFINED), this->property_ops_); } @@ -248,6 +236,10 @@ Translator_def::instantiate (Music_output_def* md) tg->output_def_l_ = md; tg->definition_ = self_scm (); tg->type_str_ = ly_scm2string (type_name_); + + /* + TODO: ugh. we're reversing CONSISTS_NAME_LIST_ here + */ SCM l1 = trans_list (consists_name_list_, tg); SCM l2 =trans_list (end_consists_name_list_,tg); l1 = scm_reverse_x (l1, l2); @@ -268,14 +260,14 @@ Translator_def::apply_property_operations (Translator_group*tg) SCM type = ly_car (entry); entry = ly_cdr (entry); - if (type == push_sym) + if (type == ly_symbol2scm ("push")) { SCM val = ly_cddr (entry); val = gh_pair_p (val) ? ly_car (val) : SCM_UNDEFINED; apply_pushpop_property (tg, ly_car (entry), ly_cadr (entry), val); } - else if (type == assign_sym) + else if (type == ly_symbol2scm ("assign")) { tg->internal_set_property (ly_car (entry), ly_cadr (entry)); } @@ -299,7 +291,7 @@ Translator_def::make_scm () void Translator_def::add_property_assign (SCM nm, SCM val) { - this->property_ops_ = gh_cons (scm_list_n (assign_sym, scm_string_to_symbol (nm), val, SCM_UNDEFINED), + this->property_ops_ = gh_cons (scm_list_n (ly_symbol2scm ("assign"), scm_string_to_symbol (nm), val, SCM_UNDEFINED), this->property_ops_); } diff --git a/ly/engraver-init.ly b/ly/engraver-init.ly index 8ed003ee38..1df040265a 100644 --- a/ly/engraver-init.ly +++ b/ly/engraver-init.ly @@ -141,9 +141,9 @@ VoiceContext = \translator { Must come before text_engraver, but after note_column engraver. %} + \consists "Text_engraver" \consists "Dynamic_engraver" \consists "Fingering_engraver" -% \consists "Text_engraver" \consists "Script_engraver" \consists "Script_column_engraver" @@ -382,10 +382,6 @@ ScoreContext = \translator { tupletNumberFormatFunction = #denominator-tuplet-formatter subdivideBeams = ##f - extraNatural = ##t - autoAccidentals = #'(same-octave) - autoCautionaries = #'() - keyAccidentalOrder = #'( (6 . -1) (2 . -1) (5 . -1 ) (1 . -1) (4 . -1) (0 . -1) (3 . -1) diff --git a/ly/property-init.ly b/ly/property-init.ly index 8fff8e7d92..1d26dc2a03 100644 --- a/ly/property-init.ly +++ b/ly/property-init.ly @@ -160,38 +160,6 @@ fatText = \property Voice.textNonEmpty = ##t showStaffSwitch = \property PianoStaff.followVoice = ##t hideStaffSwitch = \property PianoStaff.followVoice = ##f -% FIXME: Move this docu (to where?) - -% accidentals as they were common in the 18th century. -defaultAccidentals = { - \property Score.extraNatural = ##t - \property Score.autoAccidentals = #'(same-octave) - \property Score.autoCautionaries = #'() -} - -% accidentals as suggested by Kurt Stone, Music Notation in the 20th century. -modernAccidentals = { - \property Score.extraNatural = ##f - \property Score.oneMeasureLazy = ##t - \property Score.autoAccidentals = #'(same-octave any-octave lazy-any-octave) - \property Score.autoCautionaries = #'() -} - -% the accidentals that Stone adds to the old standard as cautionaries -modernCautionaries = { - \property Score.extraNatural = ##f - \property Score.oneMeasureLazy = ##t - \property Score.autoAccidentals = #'(same-octave) - \property Score.autoCautionaries = #'(any-octave lazy-any-octave) -} - -% accidentals not being reset at the bar-lines -noResetKey = { - \property Score.oneMeasureLazy = ##f - \property Score.autoAccidentals = #'(lazy-same-octave) - \property Score.autoCautionaries = #'() -} - % To remove a Volta bracet or some other graphical object, % set it to turnOff. Example: \property Staff.VoltaBracket = \turnOff diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index 5cf9f286fa..28cc1a6459 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.5.24 -Entered-date: 01DEC01 +Version: 1.5.25 +Entered-date: 05DEC01 Description: @BLURB@ Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.5.24.tar.gz + 1000k lilypond-1.5.25.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.5.24.tar.gz + 1000k lilypond-1.5.25.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.mandrake.spec b/make/out/lilypond.mandrake.spec index 6053f4d2c2..7027054c8c 100644 --- a/make/out/lilypond.mandrake.spec +++ b/make/out/lilypond.mandrake.spec @@ -1,5 +1,5 @@ %define name lilypond -%define version 1.5.24 +%define version 1.5.25 %define release 1mdk Name: %{name} diff --git a/make/out/lilypond.redhat.spec b/make/out/lilypond.redhat.spec index 07da5dde40..c31da8a65b 100644 --- a/make/out/lilypond.redhat.spec +++ b/make/out/lilypond.redhat.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.5.24 +Version: 1.5.25 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.24.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.25.tar.gz Summary: Create and print music notation URL: http://www.lilypond.org/ BuildRoot: /tmp/lilypond-install diff --git a/make/out/lilypond.suse.spec b/make/out/lilypond.suse.spec index 5bf5530c94..3a460b67b3 100644 --- a/make/out/lilypond.suse.spec +++ b/make/out/lilypond.suse.spec @@ -14,11 +14,11 @@ Distribution: SuSE Linux 7.0 (i386) Name: lilypond -Version: 1.5.24 +Version: 1.5.25 Release: 2 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.24.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.5.25.tar.gz # music notation software for.. ? Summary: A program for printing sheet music. URL: http://www.lilypond.org/ diff --git a/scm/grob-property-description.scm b/scm/grob-property-description.scm index d16013e6c3..0df5480c15 100644 --- a/scm/grob-property-description.scm +++ b/scm/grob-property-description.scm @@ -258,6 +258,11 @@ more than this (in staffspace).") (grob-property-description 'padding number? "add this much extra space between objects that are next to each other.") (grob-property-description 'parallel-beam boolean? "internal: true if there is a beam just as wide as the bracket .") (grob-property-description 'paren-cautionaries boolean? "Whether to add parenthesis around cautionary accidentals.") +(grob-property-description 'penalty number? "Penalty for breaking at +this column. 10000 or more means forbid linebreak, -10000 or less +means force linebreak. Other values influence linebreaking decisions +as a real penalty.") + (grob-property-description 'pitches list? "list of musical-pitch.") (grob-property-description 'porrectus-width number? "width of the porrectus ligature measured in staff space.") (grob-property-description 'raise number? "height for text to be raised (a negative value lowers the text.") diff --git a/scm/interface-description.scm b/scm/interface-description.scm index 9050f64050..1e2fda7b37 100644 --- a/scm/interface-description.scm +++ b/scm/interface-description.scm @@ -594,7 +594,7 @@ contains-grace extra-space stretch-distance )) 'spaceable-element-interface "An grob (generally a Paper_column) that takes part in the spacing problem. " - '( + '(penalty minimum-distances ideal-distances dir-list diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 6d2257b7e6..98127c076f 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -14,6 +14,8 @@ This function replaces all repeats with unfold repeats. It was written by Rune Zedeler. " (let* ((es (ly-get-mus-property music 'elements)) (e (ly-get-mus-property music 'element)) + (body (ly-get-mus-property music 'body)) + (alts (ly-get-mus-property music 'alternatives)) (n (ly-music-name music))) (if (equal? n "Repeated_music") @@ -28,6 +30,16 @@ written by Rune Zedeler. " music 'elements (map unfold-repeats es))) + (if (music? alts) + (ly-set-mus-property + music 'alternatives + (unfold-repeats alts))) + + (if (music? body) + (ly-set-mus-property + music 'body + (unfold-repeats body))) + (if (music? e) (ly-set-mus-property music 'element diff --git a/scm/translator-property-description.scm b/scm/translator-property-description.scm index 452154b094..7400a25972 100644 --- a/scm/translator-property-description.scm +++ b/scm/translator-property-description.scm @@ -78,40 +78,21 @@ The head of the list: @end example") -(translator-property-description 'autoAccidentals list? "List of -different ways to typeset an accidental. All algorithms in the list -are tried, and the one returning the most accidentals is used. -The algorithms are: -@table @samp -@item same-octave: This is the default algorithm. Accidentals are -typeset if the note changes the accidental of that note in that octave. -@item any-octave: Accidentals are typeset if the note is different from -the previous note on the same pitch in any octave. -@item lazy-same-octave: Shows accidentals as if the key signature does -not get reset at every barline. This means that an alteration lasts until it is -changed - perhaps many measures later. See oneMeasureLazy, though. -@item lazy-any-octave: Yeah, you probably guessed that one. -@end table -") - -(translator-property-description 'autoCautionaries list? "List similar to -autoAccidentals, but it controls cautionary accidentals rather than -normal ones. Both lists are tried, and the one giving the most accidentals -wins. In case of draw, a normal accidental is typeset. -") - (translator-property-description 'automaticPhrasing boolean? " If set, the @ref{Lyric_phrasing_engraver} will match note heads of context called Voice X to syllables from LyricsVoice called X-. This feature is turned on by default. See the example file @file{lyrics-multi-stanza.ly}. -") +") (translator-property-description 'automaticMelismata boolean? " If set, \addlyrics will assume that beams, slurs and ties signal melismata, and align lyrics accordingly. ") +(translator-property-description 'autoReminders symbol? "If set to @samp{accidental} or @samp{cautionary}, +a (reminder) accidental automatically is inserted whenever an accidental is reverted - even after a bar.") + (translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note. ") (translator-property-description 'barCheckNoSynchronize boolean? "If set, don't reset measurePosition when finding a bbarcheck. This @@ -197,10 +178,7 @@ procedure? "visibility-lambda function for explicit Key changes; \override of #'visibility-lambda will set the visibility for normal (ie. at the start of the line) key signatures.") -(translator-property-description 'extraNatural boolean? "Whether to typeset an -extra natural sign before accidentals changing from a non-natural to -another non-natural. -") + (translator-property-description 'followVoice boolean? "if set, note heads are tracked across staff switches by a thin line") (translator-property-description 'fontSize integer? @@ -238,11 +216,8 @@ The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1. (translator-property-description 'lastKeySignature list? "Last key signature before a key signature change.") -(translator-property-description 'lazyKeySignature list? "a lazy version of -localKeySignature, only being reset according to oneMeasureLazy." -) (translator-property-description 'localKeySignature list? "the key -signature at this point in the measure. The format is the same as for keySignature. Is reset at every bar line." +signature at this point in the measure. The format is the same as for keySignature. " ) (translator-property-description 'measureLength moment? "Length of one @@ -261,13 +236,15 @@ MIDI instrument to use ") (translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically. ") (translator-property-description 'noDirection boolean? "Don't set directions by a2-engraver when part-combining.") -(translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?") -(translator-property-description 'oneMeasureLazy boolean? "If false, the lazy -time-signature is never reset, causing lazy accidentals (see -autoAccidentals) to last until the next key change. If true, the lazy -key signature only last one measure longer than the normal one - accidentals -being reset at the end of the measure after the one in which they occur. +(translator-property-description 'noResetKey boolean? "Do not +reset local key to the value of keySignature at the start of a measure, +as determined by measurePosition. + +Do not reset the key at the start of a measure. Accidentals will be +printed only once and are in effect until overridden, possibly many +measures later. ") +(translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?") (translator-property-description 'pedalSustainStrings list? "List of string to print for sustain-pedal. Format is (UP UPDOWN DOWN), where each of the three is the string to print when this is done with the pedal.") @@ -324,7 +301,7 @@ help with debugging large scores.") (translator-property-description 'squashedPosition integer? " Vertical position of squashing for Pitch_squash_engraver.") (translator-property-description 'stavesFound list? "list of all staff-symbols found.") -(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse. Use in LyricsVoice context.") +(translator-property-description 'stanza markup? "Stanza `number' to print at start of a verse. Use in LyricsVoice context.") (translator-property-description 'stemLeftBeamCount integer? " @@ -333,7 +310,7 @@ Overrides automatic beaming. The value is only used once, and then it is erased. .") (translator-property-description 'stemRightBeamCount integer? "idem, for the right side.") -(translator-property-description 'stz string? "Abbreviated form for a stanza, see also Stanza property.") +(translator-property-description 'stz markup? "Abbreviated form for a stanza, see also Stanza property.") (translator-property-description 'subdivideBeams boolean? "If set, multiple beams will be subdivided at beat positions - by only drawing one beam over the beat.") (translator-property-description 'textNonEmpty boolean? " If set diff --git a/scripts/ly2dvi.py b/scripts/ly2dvi.py index 1857dcef5d..2a93542dd0 100644 --- a/scripts/ly2dvi.py +++ b/scripts/ly2dvi.py @@ -1,4 +1,5 @@ #!@PYTHON@ + # Run lilypond, latex, dvips. # # This is the third incarnation of ly2dvi. @@ -14,7 +15,7 @@ # TODO: should allow to switch off pk cache. # - +# # Note: gettext work best if we use ' for docstrings and " # for gettextable strings. # --> DO NOT USE """ for docstrings. diff --git a/scripts/pmx2ly.py b/scripts/pmx2ly.py index 44535e503a..ed02750ebf 100644 --- a/scripts/pmx2ly.py +++ b/scripts/pmx2ly.py @@ -211,6 +211,12 @@ class Clef: def dump(self): return '\\clef %s' % self.type +class Key: + def __init__ (self, key): + self.type = key + def dump(self): + return '\\key %s' % self.type + clef_table = { 'b':'bass' , 'r':'baritone', @@ -220,7 +226,22 @@ clef_table = { 's':'soprano', 't':'treble', 'f':'frenchviolin', - } + } +key_table = { + '+0':'c \major', + '+1':'g \major', + '+2':'d \major', + '+3':'a \major', + '+4':'e \major', + '+5':'b \major', + '+6':'fis \major', + '-1':'f \major', + '-2':'bes \major', + '-3':'ees \major', + '-4':'aes \major', + '-5':'des \major', + '-6':'ges \major' + } class Staff: def __init__ (self): self.voices = (Voice (), Voice()) @@ -228,6 +249,7 @@ class Staff: self.instrument = 0 self.voice_idx = 0 self.number = None + self.key = 0 i = 0 for v in self.voices: @@ -237,7 +259,8 @@ class Staff: def set_clef (self, letter): clstr = clef_table[letter] self.voices[0].add_nonchord (Clef (clstr)) - + + def current_voice (self): return self.voices[self.voice_idx] def next_voice (self): @@ -531,47 +554,62 @@ Huh? expected duration, found %d Left was `%s'""" % (durdigit, str[:20])) str = str[1:] return str - + + def parse_key (self, str): + key = "" + #The key is changed by a string of the form K[+-][+-] + #where the first number is the transposition and the second number is the + #new key signature. For now, we won't bother with the transposition. + if str[2] != '0': + sys.stderr.write("Transposition not implemented yet: ") + while str[0] in '+-0123456789': + str = str[1:] + else: + str=str[3:] + key = '' + while str[0] in '+-0123456789': + key=key + str[0] + str=str[1:] + keystr = key_table[key] + self.current_voice().add_nonchord (Key(keystr)) + return(str) + def parse_header (self, ls): - while ls[0][0] == '%': - ls = ls[1:] + def atonum(a): + if re.search('\\.', a): + return string.atof (a) + else: + return string.atoi (a) - opening = ls[0] - ls = ls[1:] - - opening = re.sub ('^[ \t]+', '', opening) - opening = re.sub ('[ \t]+$', '', opening) - opening = re.split ('[\t ]+', opening) - - (no_staffs, no_instruments, timesig_num,timesig_den, ptimesig_num, - ptimesig_den, pickup_beats,keysig_number) = opening - (no_staffs, no_instruments, timesig_num, timesig_den, ptimesig_num, ptimesig_den, keysig_number) = tuple (map (string.atoi , [no_staffs, no_instruments, timesig_num, timesig_den, ptimesig_num, ptimesig_den, keysig_number])) - try: - pickup_beats = string.atoi (pickup_beats) - except ValueError: - pickup_beats = string.atof (pickup_beats) - + number_count = 12 + numbers = [] - while ls[0][0] == '%': + while len (numbers) < number_count: + opening = ls[0] ls = ls[1:] - - opening = ls[0] - ls = ls[1:] + + opening = re.sub ('[ \t\n]+', ' ', opening) + opening = re.sub ('^ ', '', opening) + opening = re.sub (' $', '', opening) + if opening == '': + continue + opening = string.split (opening, ' ') + + numbers = numbers + map (atonum, opening) + + (no_staffs, no_instruments, timesig_num, timesig_den, ptimesig_num, + ptimesig_den, pickup_beats,keysig_number) = tuple (numbers[0:8]) + (no_pages,no_systems, musicsize, fracindent) = tuple (numbers[8:]) # ignore this. # opening = map (string.atoi, re.split ('[\t ]+', opening)) - # (no_pages,no_systems, musicsize, fracindent) = tuple (opening) - + instruments = [] while len (instruments) < no_instruments: instruments.append (ls[0]) ls = ls[1:] - - while ls[0][0] == '%': - ls = ls[1:] - l = ls[0] ls = ls[1:] @@ -582,9 +620,6 @@ Huh? expected duration, found %d Left was `%s'""" % (durdigit, str[:20])) l = l[1:] # dump path - while ls[0][0] == '%': - ls = ls[1:] - ls = ls[1:] # dump more ? @@ -691,6 +726,11 @@ Huh? expected duration, found %d Left was `%s'""" % (durdigit, str[:20])) left = self.parse_ornament (left) elif c == 'x': left = self.parsex (left) + elif c == 'C': + self.current_staff().set_clef(str(left[1])) + left = left[2:] + elif c == 'K': + left = self.parse_key (left) elif c in "[]": left = self.parse_beams (left) elif left[:2] == "//": @@ -722,6 +762,9 @@ Huh? Unknown directive `%s', before `%s'""" % (c, left[:20] )) def parse (self,fn): ls = open (fn).readlines () + def subst(s): + return re.sub ('%.*$', '', s) + ls = map (subst, ls) ls = self.parse_header (ls) left = string.join (ls, ' ') diff --git a/tex/feta11.tex b/tex/feta11.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta11.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta13.tex b/tex/feta13.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta13.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta16.tex b/tex/feta16.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta16.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta19.tex b/tex/feta19.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta19.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta20.tex b/tex/feta20.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta20.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta23.tex b/tex/feta23.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta23.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249} diff --git a/tex/feta26.tex b/tex/feta26.tex new file mode 100644 index 0000000000..106744d9c2 --- /dev/null +++ b/tex/feta26.tex @@ -0,0 +1,250 @@ +\def\fetawholerest{\char0} +\def\fetahalfrest{\char1} +\def\fetaoutsidewholerest{\char2} +\def\fetaoutsidehalfrest{\char3} +\def\fetabreverest{\char4} +\def\fetalongarest{\char5} +\def\fetamultirest{\char6} +\def\fetaquartrest{\char7} +\def\fetaeighthrest{\char8} +\def\fetasixteenthrest{\char9} +\def\fetathirtysecondrest{\char10} +\def\fetasixtyfourthrest{\char11} +\def\fetahundredtwentyeighthrest{\char12} +\def\fetaneomenslongarest{\char13} +\def\fetaneomensbreverest{\char14} +\def\fetaneomenssemibrevisrest{\char15} +\def\fetaneomensminimahalfrest{\char16} +\def\fetaneomenssemiminimarest{\char17} +\def\fetaneomensfusarest{\char18} +\def\fetaneomenssemifusarest{\char19} +\def\fetamenslongarest{\char20} +\def\fetamensbreverest{\char21} +\def\fetamenssemibrevisrest{\char22} +\def\fetamensminimahalfrest{\char23} +\def\fetamenssemiminimarest{\char24} +\def\fetamensfusarest{\char25} +\def\fetamenssemifusarest{\char26} +\def\fetasharp{\char27} +\def\fetanatural{\char28} +\def\fetaflat{\char29} +\def\fetaflatflat{\char30} +\def\fetasharpsharp{\char31} +\def\fetarightparen{\char32} +\def\fetaleftparen{\char33} +\def\fetamedicaeaflat{\char34} +\def\fetavaticanaflat{\char35} +\def\fetavaticananatural{\char36} +\def\fetamensuralsharp{\char37} +\def\fetamensuralflat{\char38} +\def\fetahufnagelflat{\char39} +\def\fetadot{\char40} +\def\fetamensuralmaximahead{\char41} +\def\fetamensurallongahead{\char42} +\def\fetamensuralbrevishead{\char43} +\def\fetaneomensuralminimhead{\char44} +\def\fetaneomensuralsemiminimhead{\char45} +\def\fetaneofusahead{\char46} +\def\fetamensuralminimhead{\char47} +\def\fetamensuralsemiminimhead{\char48} +\def\fetafusahead{\char49} +\def\fetaledgerending{\char50} +\def\fetabrevishead{\char51} +\def\fetawholehead{\char52} +\def\fetahalfhead{\char53} +\def\fetaquarthead{\char54} +\def\fetawholediamondhead{\char55} +\def\fetahalfdiamondhead{\char56} +\def\fetadiamondhead{\char57} +\def\fetawholetrianglehead{\char58} +\def\fetahalftrianglehead{\char59} +\def\fetatrianglehead{\char60} +\def\fetawholeslashhead{\char61} +\def\fetahalfslashhead{\char62} +\def\fetaquartslashhead{\char63} +\def\fetawholecrossedhead{\char64} +\def\fetahalfcrossedhead{\char65} +\def\fetacrossedhead{\char66} +\def\fetaxcircledhead{\char67} +\def\fetavatsubbipunctumhead{\char68} +\def\fetavatpunctumhead{\char69} +\def\fetavatvirgahead{\char70} +\def\fetavatrvirgahead{\char71} +\def\fetavatlpeshead{\char72} +\def\fetavatupeshead{\char73} +\def\fetavatvupeshead{\char74} +\def\fetavatplicahead{\char75} +\def\fetavatepiphonushead{\char76} +\def\fetavatcephalicushead{\char77} +\def\fetavatquilismahead{\char78} +\def\fetamedsubbipunctumhead{\char79} +\def\fetamedpunctumhead{\char80} +\def\fetamedrvirgahead{\char81} +\def\fetamedvirgahead{\char82} +\def\fetahufpunctumhead{\char83} +\def\fetahufvirgahead{\char84} +\def\fetahuflpeshead{\char85} +\def\fetaufermata{\char86} +\def\fetadfermata{\char87} +\def\fetathumb{\char88} +\def\fetasforzatoaccent{\char89} +\def\fetastaccato{\char90} +\def\fetaustaccatissimo{\char91} +\def\fetadstaccatissimo{\char92} +\def\fetatenuto{\char93} +\def\fetauportato{\char94} +\def\fetadportato{\char95} +\def\fetaumarcato{\char96} +\def\fetadmarcato{\char97} +\def\fetaouvert{\char98} +\def\fetaplusstop{\char99} +\def\fetaupbow{\char100} +\def\fetadownbow{\char101} +\def\fetareverseturn{\char102} +\def\fetaturn{\char103} +\def\fetatrill{\char104} +\def\fetaupedalheel{\char105} +\def\fetadpedalheel{\char106} +\def\fetaupedaltoe{\char107} +\def\fetadpedaltoe{\char108} +\def\fetaflageolet{\char109} +\def\fetasegno{\char110} +\def\fetacoda{\char111} +\def\fetarcomma{\char112} +\def\fetalcomma{\char113} +\def\fetaarpeggio{\char114} +\def\fetatrill-element{\char115} +\def\fetaarpeggioarrowdown{\char116} +\def\fetaarpeggioarrowup{\char117} +\def\fetatrilelement{\char118} +\def\fetaprall{\char119} +\def\fetamordent{\char120} +\def\fetaprallprall{\char121} +\def\fetaprallmordent{\char122} +\def\fetaupprall{\char123} +\def\fetadownprall{\char124} +\def\fetaupmordent{\char125} +\def\fetadownmordent{\char126} +\def\fetalineprall{\char127} +\def\fetapralldown{\char128} +\def\fetaprallup{\char129} +\def\fetaeighthflag{\char130} +\def\fetasixteenthflag{\char131} +\def\fetathirtysecondflag{\char132} +\def\fetasixtyfourthflag{\char133} +\def\fetadeighthflag{\char134} +\def\fetamenseighthflag{\char135} +\def\fetamens1eighthflag{\char136} +\def\fetamensdeighthflag{\char137} +\def\fetamensd1eighthflag{\char138} +\def\fetamenssixteenthflag{\char139} +\def\fetamens1sixteenthflag{\char140} +\def\fetamensdsixteenthflag{\char141} +\def\fetamensd1sixteenthflag{\char142} +\def\fetamensthirtysecondflag{\char143} +\def\fetamens1thirtysecondflag{\char144} +\def\fetamensdthirtysecondflag{\char145} +\def\fetamensd1thirtysecondflag{\char146} +\def\fetamenssixtyfourthflag{\char147} +\def\fetamens1sixtyfourthflag{\char148} +\def\fetamensdsixtyfourthflag{\char149} +\def\fetamensd1sixtyfourthflag{\char150} +\def\fetagracedash{\char151} +\def\fetadsixteenthflag{\char152} +\def\fetadthirtysecondflag{\char153} +\def\fetadsixtyfourthflag{\char154} +\def\fetamenseighthflag{\char155} +\def\fetamens1eighthflag{\char156} +\def\fetamensdeighthflag{\char157} +\def\fetamensd1eighthflag{\char158} +\def\fetamenssixteenthflag{\char159} +\def\fetamens1sixteenthflag{\char160} +\def\fetamensdsixteenthflag{\char161} +\def\fetamensd1sixteenthflag{\char162} +\def\fetamensthirtysecondflag{\char163} +\def\fetamens1thirtysecondflag{\char164} +\def\fetamensdthirtysecondflag{\char165} +\def\fetamensd1thirtysecondflag{\char166} +\def\fetamenssixtyfourthflag{\char167} +\def\fetamens1sixtyfourthflag{\char168} +\def\fetamensdsixtyfourthflag{\char169} +\def\fetamensd1sixtyfourthflag{\char170} +\def\fetagracedash{\char171} +\def\fetadgracedash{\char172} +\def\fetastem{\char173} +\def\fetadstem{\char174} +\def\fetaaltoclef{\char175} +\def\fetacaltoclef{\char176} +\def\fetabassclef{\char177} +\def\fetacbassclef{\char178} +\def\fetatrebleclef{\char179} +\def\fetactrebleclef{\char180} +\def\fetavatdoclef{\char181} +\def\fetavatcdoclef{\char182} +\def\fetavatfaclef{\char183} +\def\fetavatcfaclef{\char184} +\def\fetameddoclef{\char185} +\def\fetacmeddoclef{\char186} +\def\fetamedfaclef{\char187} +\def\fetacmedfaclef{\char188} +\def\fetaneomenscclef{\char189} +\def\fetacneomenscclef{\char190} +\def\fetapetruccicclef{\char191} +\def\fetacpetruccicclef{\char192} +\def\fetamenscclef{\char193} +\def\fetacmenscclef{\char194} +\def\fetapetruccifclef{\char195} +\def\fetacpetruccifclef{\char196} +\def\fetamensfclef{\char197} +\def\fetacmensfclef{\char198} +\def\fetamensgclef{\char199} +\def\fetacmensgclef{\char200} +\def\fetapetruccigclef{\char201} +\def\fetacpetruccigclef{\char202} +\def\fetahufnageldoclef{\char203} +\def\fetachufnageldoclef{\char204} +\def\fetahufnagelfaclef{\char205} +\def\fetachufnagelfaclef{\char206} +\def\fetahufnageldofaclef{\char207} +\def\fetachufnageldofaclef{\char208} +\def\fetapercussionclef{\char209} +\def\fetacpercussionclef{\char210} +\def\fetatabclef{\char211} +\def\fetactabclef{\char212} +\def\fetafourfourmeter{\char213} +\def\fetaallabreve{\char214} +\def\fetaoldfourfourmeter{\char215} +\def\fetaoldallabreve{\char216} +\def\fetaoldthreetwometer{\char217} +\def\fetaoldsixfourmeter{\char218} +\def\fetaoldninefourmeter{\char219} +\def\fetaoldthreefourmeter{\char220} +\def\fetaoldsixeightmeter{\char221} +\def\fetaoldnineeight{\char222} +\def\fetaoldfoureightmeter{\char223} +\def\fetaoldsixeightmeteralt{\char224} +\def\fetaoldtwofourmeter{\char225} +\def\fetapedal-asterisk{\char226} +\def\fetapedal-dash{\char227} +\def\fetapedal-dot{\char228} +\def\fetapedal-P{\char229} +\def\fetapedal-d{\char230} +\def\fetapedal-e{\char231} +\def\fetapedal-Ped{\char232} +\def\fetaaccDiscant{\char233} +\def\fetaaccDot{\char234} +\def\fetaaccFreebase{\char235} +\def\fetaaccStdbase{\char236} +\def\fetaaccBayanbase{\char237} +\def\fetaaccSB{\char238} +\def\fetaaccBB{\char239} +\def\fetaaccOldEE{\char240} +\def\fetaaccOldEES{\char241} +\def\fetahufnagel{\char242} +\def\fetarhufnagel{\char243} +\def\fetamedicaea{\char244} +\def\fetarmedicaea{\char245} +\def\fetavaticana{\char246} +\def\fetarvaticana{\char247} +\def\fetamensural{\char248} +\def\fetarmensural{\char249}