]> git.donarmstrong.com Git - lilypond.git/blobdiff - input/test/ancient-font.ly
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / input / test / ancient-font.ly
index af95e9305ad267f80ce3d7ab9662bcab7b84b58d..6ac44816938579f82f67ac5c4173a73b6e146252 100644 (file)
-\version "1.3.146"
+\version "2.11.6"
+% TODO: split ancient-font into seperate files; possibly in
+% different locations.
 \header {
-    title      = "ancient font test"
-    date       = "2000"
+texidoc = "@cindex Ancient Font
+Here are shown many (all?) of the symbols that are
+included in LilyPond's support of ancient notation.
+"
 }
 
 
+upperStaff = \new GregorianStaff =  "upperStaff" <<
+  \context GregorianVoice <<
+    \set Score.timing = ##f
+%   \set Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property?
 
-\include "paper26.ly"
+    \override Staff.StaffSymbol  #'line-count = #4
 
-global =  \notes {
-    \property Score.timing = ##f
-%   \property Score.forceAccidental = ##t
-%   \property Staff.TimeSignature \override #'style = #'old
-}
-
-upperVoice =  \context Staff = upperVoice <
-    \global
-    
-    % this is broken until further notice -- see refman
-    % \property Staff.StaffSymbol \override #'line-count = #4
-    \context Staff \outputproperty #(make-type-checker 'staff-symbol-interface)
-      #'line-count = #4
-
-    \notes \transpose c' {
-       \property Staff.KeySignature \override #'style = #'vaticana
-       \property Staff.Accidentals \override #'style = #'vaticana
-       \property Staff.Custos \override #'style = #'vaticana
-       \property Voice.NoteHead \override #'style = #'vaticana_punctum
-       \property Voice.Porrectus \override #'style = #'vaticana
-       \property Voice.Porrectus \override #'solid = ##t
-       \property Voice.Porrectus \override #'add-stem = ##t
-       \property Voice.Porrectus \override #'stem-direction = #-1
-       \property Voice.Porrectus \override #'line-thickness = #0.5
+     \transpose c c {
+       \override Staff.KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+       \override Staff.Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+       \override NoteHead  #'style = #'vaticana.punctum
        \key es \major
-       \clef "vaticana_fa2"
+       \clef "vaticana-fa2"
        c!1 des! e! f! ges!
 
-%      \property Staff.clefGlyph = #"clefs-vaticana_do"
-%      \property Staff.clefPosition = #1
-%      \property Staff.clefOctavation = #0 
-       \clef "vaticana_do2"
+       \override NoteHead  #'style = #'vaticana.inclinatum
+       a! b! ces'
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break % 1 (8*1)
 
-       \property Voice.NoteHead \override #'style = #'vaticana_inclinatum
-       a! b!
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
-       \property Voice.NoteHead \override #'style = #'vaticana_virga
-       ces' b! des'! \~ ges! \~ fes!
+       \override NoteHead  #'style = #'vaticana.quilisma
+       b! des'! ges! fes!
        \breathe
-       \clef "vaticana_fa1"
-       \property Voice.NoteHead \override #'style = #'vaticana_quilisma
+       \clef "vaticana-fa1"
+       \override NoteHead  #'style = #'vaticana.plica
        es d
-       \property Voice.NoteHead \override #'style = #'vaticana_rvirga
+       \override NoteHead  #'style = #'vaticana.reverse.plica
        c d
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
-       \property Voice.NoteHead \override #'style = #'vaticana_rvirga
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break %2 (8*1)
+
+       \override NoteHead  #'style = #'vaticana.punctum.cavum
        es f
-       \property Voice.NoteHead \override #'style = #'vaticana_lpes
+       \override NoteHead  #'style = #'vaticana.lpes
        g as
-       \property Voice.NoteHead \override #'style = #'vaticana_upes
+       \override NoteHead  #'style = #'vaticana.upes
        bes as
-       \property Voice.NoteHead \override #'style = #'vaticana_vupes
+       \override NoteHead  #'style = #'vaticana.vupes
        g f
-       \property Voice.NoteHead \override #'style = #'vaticana_plica
-       \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
+       \override NoteHead  #'style = #'vaticana.linea.punctum
+       \override Staff.BarLine  #'bar-size = #2.0 \bar "|"
+%      \break % 3 (8*1)
+
        es d
-       \property Voice.NoteHead \override #'style = #'vaticana_epiphonus
+       \override NoteHead  #'style = #'vaticana.epiphonus
        c d
-       \property Voice.NoteHead \override #'style = #'vaticana_cephalicus
+       \override NoteHead  #'style = #'vaticana.cephalicus
        es f
 
-       \property Staff.KeySignature \override #'style = #'medicaea
-       \property Staff.Accidentals \override #'style = #'medicaea
-       \property Staff.Custos \override #'style = #'medicaea
-       \property Voice.NoteHead \override #'style = #'medicaea_punctum
-       \clef "medicaea_fa2"
+       \override Staff.KeySignature #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
+       \override Staff.Accidental #'glyph-name-alist = #alteration-medicaea-glyph-name-alist
+       \override Staff.Custos  #'style = #'medicaea
+       \override NoteHead  #'style = #'medicaea.punctum
+       \clef "medicaea-fa2"
        ces! des!
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break % 4 (8*1)
+
        e! f! ges!
-       \clef "medicaea_do2"
-       \property Voice.NoteHead \override #'style = #'medicaea_subbipunctum
+       \clef "medicaea-do2"
+       \override NoteHead  #'style = #'medicaea.inclinatum
        a! b! ces'!
-       \property Voice.NoteHead \override #'style = #'medicaea_virga
+       \override NoteHead  #'style = #'medicaea.virga
        b! a!
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break % 5 (8*1)
+
        ges! fes!
-       \clef "medicaea_fa1"
-       \property Voice.NoteHead \override #'style = #'medicaea_rvirga
+       \clef "medicaea-fa1"
+       \override NoteHead  #'style = #'medicaea.rvirga
        e! des! ces!
 
-       \property Staff.KeySignature \override #'style = #'hufnagel
-       \property Staff.Accidentals \override #'style = #'hufnagel
-       \property Staff.Custos \override #'style = #'hufnagel
-       \property Voice.NoteHead \override #'style = #'hufnagel_punctum
-       \clef "hufnagel_fa2"
+       \override Staff.KeySignature #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
+       \override Staff.Accidental #'glyph-name-alist = #alteration-hufnagel-glyph-name-alist
+       \override Staff.Custos  #'style = #'hufnagel
+       \override NoteHead  #'style = #'hufnagel.punctum
+       \clef "hufnagel-fa2"
        ces! des! es!
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break % 6 (8*1)
+
        fes! ges!
-       \clef "hufnagel_do2"
-       \property Voice.NoteHead \override #'style = #'hufnagel_lpes
+       \clef "hufnagel-do2"
+       \override NoteHead  #'style = #'hufnagel.lpes
        as! bes! ces'!
-       \property Voice.NoteHead \override #'style = #'hufnagel_virga
+       \override NoteHead  #'style = #'hufnagel.virga
        bes! as!
-       \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
+       \override Staff.BarLine  #'bar-size = #3.0 \bar "|"
+%      \break % 7 (8*1)
+
        ges! fes!
-       \clef "hufnagel_do_fa"
-       \property Voice.NoteHead \override #'style = #'hufnagel_punctum
+       \clef "hufnagel-do-fa"
+       \override NoteHead  #'style = #'hufnagel.punctum
        es! des! ces! des! es! fes!
        \bar "||"
+%      \break % 8 (8*1)
+
+       s32*1
+%      \break % 12 (32*1)
     }
->
+  >>
+>>
 
-lowerVoice =  \context Staff = lowerNotes <
-    \global
+lowerStaff = \new MensuralStaff =  "lowerStaff" <<
+  \context MensuralVoice <<
     
     % this is broken until further notice -- see refman
-    % \property Staff.StaffSymbol \override #'line-count = #5
-    \context Staff \outputproperty #(make-type-checker 'staff-symbol-interface)
-      #'line-count = #5
-
-    \notes \transpose c' {
-       \property Voice.noAutoBeaming = ##t
-       \property Staff.KeySignature \override #'style = #'mensural
-       \property Staff.Accidentals \override #'style = #'mensural
-       \property Staff.Custos \override #'style = #'mensural
-       \property Voice.NoteHead \override #'style = #'neo_mensural
-       \property Voice.Rest \override #'style = #'neo_mensural
-       \property Voice.Porrectus \override #'style = #'mensural
-       \property Voice.Porrectus \override #'solid = ##f
-       \property Voice.Porrectus \override #'add-stem = ##t
-       \property Voice.Porrectus \override #'stem-direction = #1
-       \property Voice.Porrectus \override #'line-thickness = #0.7
-%      \property Voice.Porrectus \override #'auto-properties = ##t
-%      \property Voice.Porrectus \override #'porrectus-width = #3.0
+    % \override Staff.StaffSymbol  #'line-count = #5
+    \applyOutput #'Staff #(outputproperty-compatibility (make-type-checker 'staff-symbol-interface) 'line-count 5)
+
+     \transpose c c {
+       \set autoBeaming = ##f
+       \override NoteHead  #'style = #'neomensural
+       \override Rest  #'style = #'neomensural
        \key a \major
 
-       % IMPORTANT NOTE:
-       %
-       % The porrectus syntax is definitely subject to change.  For
-       % proper use, it may eventually change into something like this:
-       %
-       % \startLigature e \~ c \endLigature
-       %
-       % The reason is that there needs to be some enclosing instance
-       % for correct handling of line breaking, alignment with
-       % adjacent note heads, and placement of accidentals.
-
-       \clef "neo_mensural_c2"
-       cis' e' \~ d' gis' \~ e'
-       \property Staff.forceClef = ##t
-       \clef "neo_mensural_c2"
-
-       fis' \~ b cis''
-       b \~ a a \~ fis
-       \clef "petrucci_c2"
-       cis \~ fis ces1 % \bar "|"
-
-       \clef "petrucci_c2"
+% FIXME: lily crashes on some (invalid?) ligatures with:
+%   ERROR: In procedure gh_scm2int:
+%   ERROR: Wrong type argument in position 1: ()
+
+% FIXME: lily emits "Programming error: Infinity or NaN encountered"
+% on many ligatures such as BB.
+
+       cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
+       \set Staff.forceClef = ##t
+       \clef "neomensural-c2"
+       cis1
+       \bar "|"
+%      \break % 2 (16*1)
+
+       \[ g\breve dis''\longa \]
+       b\breve \[ a\longa d\longa \]
+       \clef "petrucci-c2"
+%      \break % 4 (16*1)
+
+       fis1 ces1
+       \clef "petrucci-c2"
        r\longa
-       \property Staff.forceClef = ##t
-       \clef "mensural_c2"
-       r\breve r1 r2
-       \clef "mensural_g"
-       r4 r8 r16 r32 r32 \bar "|"
-
-       \property Voice.NoteHead \override #'style = #'mensural
-       \property Voice.Stem \override #'style = #'mensural
-       \property Voice.Stem \override #'thickness = #1.0
-       \property Voice.Rest \override #'style = #'mensural
-       \clef "petrucci_f"
-       c8 b, c16 b, c32 b, c64 b, c b,
-       d8 e  d16 e  d32 e  d64 e  d e
+       \set Staff.forceClef = ##t
+       \clef "mensural-c2"
+       r\breve
+       \bar "|"
+%      \break % 5 (8*1)
+
+       r2
+       \clef "mensural-g"
+       r4 r8 r16 r16
+       \override NoteHead  #'style = #'mensural
+       \override Stem  #'flag-style = #'mensural
+       \override Stem  #'thickness = #1.0
+       \override Rest  #'style = #'mensural
+       \clef "petrucci-f"
+       c8 b, c16 b, c32 b, c64 b, c64 b,
+       d8 e  d16 e  d32 e  d64 e  d64 e
        r\longa
-       \property Staff.forceClef = ##t
-       \clef "petrucci_f"
-       r\breve r1 % \bar "|"
-       \clef "mensural_f"
+       \set Staff.forceClef = ##t
+       \clef "petrucci-f"
+       r\breve
+       \bar "|"
+%      \break % 6 (8*1)
 
-       % FIXME: must set Voice.Stem style to #'neo_mensural to avoid
+       r\breve 
+       \clef "mensural-f"
+       % FIXME: must set Stem flag-style to #'neomensural to avoid
        % segmentation fault on r8/r16/r32.  (Strange: what has
-       % Voice.Stem style to do with mensural rests?)
-       \property Voice.Stem \override #'style = #'neo_mensural
-       r2 r4 r8 r16 r32 r32
-       \property Voice.Stem \override #'style = #'mensural
-
-       \property Staff.forceClef = ##t
-       \clef "mensural_f"
-       e2 f g
-       \clef "mensural_g"
-
-       bes'! \~ as'! \~ cis''!
-       bes'! \~ fis'! as'! \~ ges'!
-       \property Staff.forceClef = ##t
-       \clef "mensural_g"
-       e' d' c'1 \bar "|"
-
-       \property Staff.forceClef = ##t
-       \clef "petrucci_g"
-       c'2 d' e' f' g'
-       \clef "petrucci_g"
-       as'! bes'! cis''!
+       % Stem flag-style to do with mensural rests?)
+       \override Stem  #'flag-style = #'neomensural
+       % FIXME: produces warnings about "flag `neomensurald4' (or 3) not found".
+       r2 r4 r8 r16 r16
+       \override Stem  #'flag-style = #'mensural
+       \set Staff.forceClef = ##t
+       \clef "mensural-f"
+       e\breve f g a1
+       \clef "mensural-g"
+%      \break % 7 (8*1)
+
+       \[ bes'!\longa a'!\longa c''!\longa \]
+       e'1 d' c' d' \bar "|"
+       \bar "|"
+%      \break % 9 (16*1)
+
+       bes'!\longa fis'!1 as'!1 ges'!\longa % lig
+       \set Staff.forceClef = ##t
+       \clef "mensural-g"
+       e'2 d' c' \bar "|"
+%      \break % 11 (16*1)
+
+       \set Staff.forceClef = ##t
+       \clef "petrucci-g"
+       c'2 d' e' f'
+       \clef "petrucci-g"
+       g' as'! bes'! cis''!
        bes'! as'! gis'! fis'!
-       \property Staff.forceClef = ##t
-       \clef "mensural_g"
+       \set Staff.forceClef = ##t
+       \clef "mensural-g"
        es'! des'! cis'!1 \bar "||"
+%      \break % 12 (8*1)
     }
->
+  >>
+>>
+
+\paper {
+       line-thickness = #(/ staff-space 5.0)
+}
 
 \score {
-    \context ChoirStaff <
-       \upperVoice
-       \lowerVoice
-    >
-    \paper {
-%      \paperTwentysix
-       linewidth = 17.25\cm
+    \context Score <<
+       \upperStaff
+       \lowerStaff
+    >>
+    \layout {
+% do we want to keep these settings? -gp
+       line-width = 17.25\cm
        textheight = 26.0\cm
-       stafflinethickness = \staffspace / 5.0
        indent = 0.0
-       \translator {
-           \StaffContext
-           \consists Custos_engraver
-%          Custos \override #'style = #'mensural
-           \remove Time_signature_engraver
-%          StaffSymbol \override #'thickness = #2.0
-%          StaffSymbol \override #'line-count = #4
+       \context {
+           \Score
+           \accepts MensuralStaff
+           \accepts GregorianStaff
+%          timing = ##f %%%%%%%% FIXME: this has no effect
+       }
+       \context {
+           \Voice
+           \name MensuralVoice
+           \alias Voice
+           \remove Ligature_bracket_engraver
+           \consists Mensural_ligature_engraver
+           \override NoteHead #'style = #'mensural
+%          \override Stem #'flag-style = #'mensural %%%%%%%% FIXME: this core dumps
+           \override Stem #'thickness = #1.0
+           \override Rest #'style = #'mensural
+           autoBeaming = ##f
        }
-       \translator {
-           \ScoreContext
-%          \remove System_start_delimiter_engraver
-%          SystemStartDelimiter \override #'glyph = #'brace
+       \context {
+           \Voice
+           \name GregorianVoice
+           \alias Voice
+           \remove Ligature_bracket_engraver
+%          \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented
+           \override NoteHead #'style = #'vaticana.punctum
+           autoBeaming = ##f
        }
-       \translator {
-           \ChoirStaffContext
-           \remove System_start_delimiter_engraver
-%          SystemStartDelimiter \override #'glyph = #'empty
+       \context {
+           \Staff
+           \name MensuralStaff
+           \alias Staff
+           \accepts MensuralVoice
+           \consists Custos_engraver
+           \override TimeSignature #'style = #'mensural
+           \override KeySignature #'glyph-name-alist = #alteration-mensural-glyph-name-alist
+           \override Accidental #'glyph-name-alist = #alteration-mensural-glyph-name-alist
+           \override Custos #'style = #'mensural
+           \override Custos #'neutral-position = #3
+           \override Custos #'neutral-direction = #down
+           clefGlyph = #"clefs.petrucci.c2"
+           clefPosition = #-2
+           clefOctavation = #0 
        }
+       \context {
+           \Staff
+           \name GregorianStaff
+           \alias Staff
+           \accepts GregorianVoice
+           \consists Custos_engraver
+           \remove Time_signature_engraver
+           \override StaffSymbol #'thickness = #2.0
+           \override StaffSymbol #'line-count = #4
+           \override KeySignature #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+           \override Accidental #'glyph-name-alist = #alteration-vaticana-glyph-name-alist
+           \override Custos #'style = #'vaticana
+           \override Custos #'neutral-position = #4
+           \override Custos #'neutral-direction = #down
+           clefGlyph = #"clefs.vaticana.do"
+           clefPosition = #1
+           clefOctavation = #0 
+       }
+       \context {
+           \RemoveEmptyStaffContext
+           \accepts MensuralVoice
+           \accepts GregorianVoice
+        }
     }
 }
+