]> git.donarmstrong.com Git - lilypond.git/blob - input/test/ancient-font.ly
Massive changes - see ChangeLog.
[lilypond.git] / input / test / ancient-font.ly
1 \version "1.9.0"
2 % TODO: split ancient-font into seperate files; possibly in
3 % different locations.
4 \header {
5 texidoc = "@cindex Ancient Font
6 Here is a display of many (all?) symbols that are
7 included in LilyPond's support of ancient notation.
8 "
9 }
10
11
12 upperStaff =  \context GregorianStaff = upperStaff <
13   \context GregorianVoice <
14     \property Score.timing = ##f
15 %   \property Score.forceAccidental = ##t %%%%%%%% FIXME: what happened to this property?
16
17     % this is broken until further notice -- see refman
18     % \property Staff.StaffSymbol \override #'line-count = #4
19     \context Staff \outputproperty #(make-type-checker 'staff-symbol-interface)
20       #'line-count = #4
21
22     \notes \transpose c c {
23         \property Staff.KeySignature \override #'style = #'vaticana
24         \property Staff.Accidental \override #'style = #'vaticana
25         \property Voice.NoteHead \override #'style = #'vaticana_punctum
26         \key es \major
27         \clef "vaticana_fa2"
28         c!1 des! e! f! ges!
29
30         \property Voice.NoteHead \override #'style = #'vaticana_inclinatum
31         a! b! ces'
32         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
33 %       \break % 1 (8*1)
34
35         \property Voice.NoteHead \override #'style = #'vaticana_virga
36         b! des'! ges! fes!
37         \breathe
38         \clef "vaticana_fa1"
39         \property Voice.NoteHead \override #'style = #'vaticana_quilisma
40         es d
41         \property Voice.NoteHead \override #'style = #'vaticana_rvirga
42         c d
43         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
44 %       \break %2 (8*1)
45
46         \property Voice.NoteHead \override #'style = #'vaticana_rvirga
47         es f
48         \property Voice.NoteHead \override #'style = #'vaticana_lpes
49         g as
50         \property Voice.NoteHead \override #'style = #'vaticana_upes
51         bes as
52         \property Voice.NoteHead \override #'style = #'vaticana_vupes
53         g f
54         \property Voice.NoteHead \override #'style = #'vaticana_plica
55         \property Staff.BarLine \override #'bar-size = #2.0 \bar "|"
56 %       \break % 3 (8*1)
57
58         es d
59         \property Voice.NoteHead \override #'style = #'vaticana_epiphonus
60         c d
61         \property Voice.NoteHead \override #'style = #'vaticana_cephalicus
62         es f
63
64         \property Staff.KeySignature \override #'style = #'medicaea
65         \property Staff.Accidental \override #'style = #'medicaea
66         \property Staff.Custos \override #'style = #'medicaea
67         \property Voice.NoteHead \override #'style = #'medicaea_punctum
68         \clef "medicaea_fa2"
69         ces! des!
70         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
71 %       \break % 4 (8*1)
72
73         e! f! ges!
74         \clef "medicaea_do2"
75         \property Voice.NoteHead \override #'style = #'medicaea_inclinatum
76         a! b! ces'!
77         \property Voice.NoteHead \override #'style = #'medicaea_virga
78         b! a!
79         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
80 %       \break % 5 (8*1)
81
82         ges! fes!
83         \clef "medicaea_fa1"
84         \property Voice.NoteHead \override #'style = #'medicaea_rvirga
85         e! des! ces!
86
87         \property Staff.KeySignature \override #'style = #'hufnagel
88         \property Staff.Accidental \override #'style = #'hufnagel
89         \property Staff.Custos \override #'style = #'hufnagel
90         \property Voice.NoteHead \override #'style = #'hufnagel_punctum
91         \clef "hufnagel_fa2"
92         ces! des! es!
93         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
94 %       \break % 6 (8*1)
95
96         fes! ges!
97         \clef "hufnagel_do2"
98         \property Voice.NoteHead \override #'style = #'hufnagel_lpes
99         as! bes! ces'!
100         \property Voice.NoteHead \override #'style = #'hufnagel_virga
101         bes! as!
102         \property Staff.BarLine \override #'bar-size = #3.0 \bar "|"
103 %       \break % 7 (8*1)
104
105         ges! fes!
106         \clef "hufnagel_do_fa"
107         \property Voice.NoteHead \override #'style = #'hufnagel_punctum
108         es! des! ces! des! es! fes!
109         \bar "||"
110 %       \break % 8 (8*1)
111
112         s32*1
113 %       \break % 12 (32*1)
114     }
115   >
116 >
117
118 lowerStaff =  \context MensuralStaff = lowerStaff <
119   \context MensuralVoice <
120     
121     % this is broken until further notice -- see refman
122     % \property Staff.StaffSymbol \override #'line-count = #5
123     \context Staff \outputproperty #(make-type-checker 'staff-symbol-interface)
124       #'line-count = #5
125
126     \notes \transpose c c {
127         \property Voice.autoBeaming = ##f
128         \property Voice.NoteHead \override #'style = #'neo_mensural
129         \property Voice.Rest \override #'style = #'neo_mensural
130         \key a \major
131
132 % FIXME: lily crashes on some (invalid?) ligatures with:
133 %   ERROR: In procedure gh_scm2int:
134 %   ERROR: Wrong type argument in position 1: ()
135
136 % FIXME: lily emits "Programming error: Infinity or NaN encountered"
137 % on many ligatures such as BB.
138
139         cis'1 d'\breve gis'\breve e'\breve \[ e'\longa fis'\longa \]
140         \property Staff.forceClef = ##t
141         \clef "neo_mensural_c2"
142         cis1
143         \bar "|"
144 %       \break % 2 (16*1)
145
146         \[ g\breve dis''\longa \]
147         b\breve \[ a\longa d\longa \]
148         \clef "petrucci_c2"
149 %       \break % 4 (16*1)
150
151         fis1 ces1
152         \clef "petrucci_c2"
153         r\longa
154         \property Staff.forceClef = ##t
155         \clef "mensural_c2"
156         r\breve
157         \bar "|"
158 %       \break % 5 (8*1)
159
160         r2
161         \clef "mensural_g"
162         r4 r8 r16 r16
163         \property Voice.NoteHead \override #'style = #'mensural
164         \property Voice.Stem \override #'flag-style = #'mensural
165         \property Voice.Stem \override #'thickness = #1.0
166         \property Voice.Rest \override #'style = #'mensural
167         \clef "petrucci_f"
168         c8 b, c16 b, c32 b, c64 b, c64 b,
169         d8 e  d16 e  d32 e  d64 e  d64 e
170         r\longa
171         \property Staff.forceClef = ##t
172         \clef "petrucci_f"
173         r\breve
174         \bar "|"
175 %       \break % 6 (8*1)
176
177         r\breve 
178         \clef "mensural_f"
179         % FIXME: must set Voice.Stem flag-style to #'neo_mensural to avoid
180         % segmentation fault on r8/r16/r32.  (Strange: what has
181         % Voice.Stem flag-style to do with mensural rests?)
182         \property Voice.Stem \override #'flag-style = #'neo_mensural
183         % FIXME: produces warnings about "flag `neo_mensurald4' (or 3) not found".
184         r2 r4 r8 r16 r16
185         \property Voice.Stem \override #'flag-style = #'mensural
186         \property Staff.forceClef = ##t
187         \clef "mensural_f"
188         e\breve f g a1
189         \clef "mensural_g"
190 %       \break % 7 (8*1)
191
192         \[ bes'!\longa a'!\longa c''!\longa \]
193         e'1 d' c' d' \bar "|"
194         \bar "|"
195 %       \break % 9 (16*1)
196
197         bes'!\longa fis'!1 as'!1 ges'!\longa % lig
198         \property Staff.forceClef = ##t
199         \clef "mensural_g"
200         e'2 d' c' \bar "|"
201 %       \break % 11 (16*1)
202
203         \property Staff.forceClef = ##t
204         \clef "petrucci_g"
205         c'2 d' e' f'
206         \clef "petrucci_g"
207         g' as'! bes'! cis''!
208         bes'! as'! gis'! fis'!
209         \property Staff.forceClef = ##t
210         \clef "mensural_g"
211         es'! des'! cis'!1 \bar "||"
212 %       \break % 12 (8*1)
213     }
214   >
215 >
216
217 \score {
218     \context Score <
219         \upperStaff
220         \lowerStaff
221     >
222     \paper {
223 % do we want to keep these settings? -gp
224         linewidth = 17.25\cm
225         textheight = 26.0\cm
226         stafflinethickness = #(/ staffspace 5.0)
227         indent = 0.0
228         \translator {
229             \ScoreContext
230             \accepts MensuralStaff
231             \accepts GregorianStaff
232 %           timing = ##f %%%%%%%% FIXME: this has no effect
233         }
234         \translator {
235             \VoiceContext
236             \name MensuralVoice
237             \alias Voice
238             \remove Ligature_bracket_engraver
239             \consists Mensural_ligature_engraver
240             NoteHead \set #'style = #'mensural
241 %           Stem \set #'flag-style = #'mensural %%%%%%%% FIXME: this core dumps
242             Stem \set #'thickness = #1.0
243             Rest \set #'style = #'mensural
244             autoBeaming = ##f
245         }
246         \translator {
247             \VoiceContext
248             \name GregorianVoice
249             \alias Voice
250             \remove Ligature_bracket_engraver
251 %           \consists Gregorian_ligature_engraver %%%%%%%% TODO: not yet implemented
252             NoteHead \set #'style = #'vaticana_punctum
253             autoBeaming = ##f
254         }
255         \translator {
256             \StaffContext
257             \name MensuralStaff
258             \alias Staff
259             \accepts MensuralVoice
260             \consists Custos_engraver
261             TimeSignature \set #'style = #'mensural
262             KeySignature \set #'style = #'mensural
263             Accidental \set #'style = #'mensural
264             Custos \set #'style = #'mensural
265             Custos \set #'neutral-position = #3
266             Custos \set #'neutral-direction = #-1
267             Custos \set #'adjust-if-on-staffline = ##t
268             clefGlyph = #"clefs-petrucci_c2"
269             clefPosition = #-2
270             clefOctavation = #0 
271         }
272         \translator {
273             \StaffContext
274             \name GregorianStaff
275             \alias Staff
276             \accepts GregorianVoice
277             \consists Custos_engraver
278             \remove Time_signature_engraver
279             StaffSymbol \set #'thickness = #2.0
280             StaffSymbol \set #'line-count = #4
281             KeySignature \set #'style = #'vaticana
282             Accidental \set #'style = #'vaticana
283             Custos \set #'style = #'vaticana
284             Custos \set #'neutral-position = #4
285             Custos \set #'neutral-direction = #-1
286             Custos \set #'adjust-if-on-staffline = ##t
287             clefGlyph = #"clefs-vaticana_do"
288             clefPosition = #1
289             clefOctavation = #0 
290         }
291         \translator {
292             \RemoveEmptyStaffContext
293             \accepts MensuralVoice
294             \accepts GregorianVoice
295         }
296     }
297 }
298