LilyPond-Ruby 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1109) hide show
  1. checksums.yaml +4 -4
  2. data/etc/fonts/conf.d/10-hinting-slight.conf +15 -0
  3. data/etc/fonts/conf.d/10-scale-bitmap-fonts.conf +83 -0
  4. data/etc/fonts/conf.d/11-lcdfilter-default.conf +17 -0
  5. data/etc/fonts/conf.d/20-unhint-small-vera.conf +49 -0
  6. data/etc/fonts/conf.d/30-metric-aliases.conf +637 -0
  7. data/etc/fonts/conf.d/40-nonlatin.conf +332 -0
  8. data/etc/fonts/conf.d/45-generic.conf +136 -0
  9. data/etc/fonts/conf.d/45-latin.conf +301 -0
  10. data/etc/fonts/conf.d/48-spacing.conf +16 -0
  11. data/etc/fonts/conf.d/49-sansserif.conf +22 -0
  12. data/etc/fonts/conf.d/50-user.conf +16 -0
  13. data/etc/fonts/conf.d/51-local.conf +7 -0
  14. data/etc/fonts/conf.d/60-generic.conf +64 -0
  15. data/etc/fonts/conf.d/60-latin.conf +88 -0
  16. data/etc/fonts/conf.d/65-fonts-persian.conf +418 -0
  17. data/etc/fonts/conf.d/65-nonlatin.conf +228 -0
  18. data/etc/fonts/conf.d/69-unifont.conf +28 -0
  19. data/etc/fonts/conf.d/80-delicious.conf +19 -0
  20. data/etc/fonts/conf.d/90-synthetic.conf +64 -0
  21. data/etc/fonts/conf.d/README +23 -0
  22. data/etc/fonts/fonts.conf +101 -0
  23. data/etc/relocate/fontconfig.reloc +2 -0
  24. data/etc/relocate/guile.reloc +2 -0
  25. data/etc/relocate/libexec.reloc +1 -0
  26. data/lib/guile/2.2/ccache/ice-9/and-let-star.go +0 -0
  27. data/lib/guile/2.2/ccache/ice-9/arrays.go +0 -0
  28. data/lib/guile/2.2/ccache/ice-9/atomic.go +0 -0
  29. data/lib/guile/2.2/ccache/ice-9/binary-ports.go +0 -0
  30. data/lib/guile/2.2/ccache/ice-9/boot-9.go +0 -0
  31. data/lib/guile/2.2/ccache/ice-9/buffered-input.go +0 -0
  32. data/lib/guile/2.2/ccache/ice-9/calling.go +0 -0
  33. data/lib/guile/2.2/ccache/ice-9/channel.go +0 -0
  34. data/lib/guile/2.2/ccache/ice-9/command-line.go +0 -0
  35. data/lib/guile/2.2/ccache/ice-9/common-list.go +0 -0
  36. data/lib/guile/2.2/ccache/ice-9/control.go +0 -0
  37. data/lib/guile/2.2/ccache/ice-9/curried-definitions.go +0 -0
  38. data/lib/guile/2.2/ccache/ice-9/debug.go +0 -0
  39. data/lib/guile/2.2/ccache/ice-9/deprecated.go +0 -0
  40. data/lib/guile/2.2/ccache/ice-9/documentation.go +0 -0
  41. data/lib/guile/2.2/ccache/ice-9/eval-string.go +0 -0
  42. data/lib/guile/2.2/ccache/ice-9/eval.go +0 -0
  43. data/lib/guile/2.2/ccache/ice-9/expect.go +0 -0
  44. data/lib/guile/2.2/ccache/ice-9/fdes-finalizers.go +0 -0
  45. data/lib/guile/2.2/ccache/ice-9/format.go +0 -0
  46. data/lib/guile/2.2/ccache/ice-9/ftw.go +0 -0
  47. data/lib/guile/2.2/ccache/ice-9/futures.go +0 -0
  48. data/lib/guile/2.2/ccache/ice-9/gap-buffer.go +0 -0
  49. data/lib/guile/2.2/ccache/ice-9/getopt-long.go +0 -0
  50. data/lib/guile/2.2/ccache/ice-9/hash-table.go +0 -0
  51. data/lib/guile/2.2/ccache/ice-9/hcons.go +0 -0
  52. data/lib/guile/2.2/ccache/ice-9/history.go +0 -0
  53. data/lib/guile/2.2/ccache/ice-9/i18n.go +0 -0
  54. data/lib/guile/2.2/ccache/ice-9/iconv.go +0 -0
  55. data/lib/guile/2.2/ccache/ice-9/lineio.go +0 -0
  56. data/lib/guile/2.2/ccache/ice-9/list.go +0 -0
  57. data/lib/guile/2.2/ccache/ice-9/local-eval.go +0 -0
  58. data/lib/guile/2.2/ccache/ice-9/ls.go +0 -0
  59. data/lib/guile/2.2/ccache/ice-9/mapping.go +0 -0
  60. data/lib/guile/2.2/ccache/ice-9/match.go +0 -0
  61. data/lib/guile/2.2/ccache/ice-9/networking.go +0 -0
  62. data/lib/guile/2.2/ccache/ice-9/null.go +0 -0
  63. data/lib/guile/2.2/ccache/ice-9/occam-channel.go +0 -0
  64. data/lib/guile/2.2/ccache/ice-9/optargs.go +0 -0
  65. data/lib/guile/2.2/ccache/ice-9/peg/cache.go +0 -0
  66. data/lib/guile/2.2/ccache/ice-9/peg/codegen.go +0 -0
  67. data/lib/guile/2.2/ccache/ice-9/peg/simplify-tree.go +0 -0
  68. data/lib/guile/2.2/ccache/ice-9/peg/string-peg.go +0 -0
  69. data/lib/guile/2.2/ccache/ice-9/peg/using-parsers.go +0 -0
  70. data/lib/guile/2.2/ccache/ice-9/peg.go +0 -0
  71. data/lib/guile/2.2/ccache/ice-9/poe.go +0 -0
  72. data/lib/guile/2.2/ccache/ice-9/poll.go +0 -0
  73. data/lib/guile/2.2/ccache/ice-9/popen.go +0 -0
  74. data/lib/guile/2.2/ccache/ice-9/ports.go +0 -0
  75. data/lib/guile/2.2/ccache/ice-9/posix.go +0 -0
  76. data/lib/guile/2.2/ccache/ice-9/pretty-print.go +0 -0
  77. data/lib/guile/2.2/ccache/ice-9/psyntax-pp.go +0 -0
  78. data/lib/guile/2.2/ccache/ice-9/q.go +0 -0
  79. data/lib/guile/2.2/ccache/ice-9/r5rs.go +0 -0
  80. data/lib/guile/2.2/ccache/ice-9/rdelim.go +0 -0
  81. data/lib/guile/2.2/ccache/ice-9/receive.go +0 -0
  82. data/lib/guile/2.2/ccache/ice-9/regex.go +0 -0
  83. data/lib/guile/2.2/ccache/ice-9/runq.go +0 -0
  84. data/lib/guile/2.2/ccache/ice-9/rw.go +0 -0
  85. data/lib/guile/2.2/ccache/ice-9/safe-r5rs.go +0 -0
  86. data/lib/guile/2.2/ccache/ice-9/safe.go +0 -0
  87. data/lib/guile/2.2/ccache/ice-9/sandbox.go +0 -0
  88. data/lib/guile/2.2/ccache/ice-9/save-stack.go +0 -0
  89. data/lib/guile/2.2/ccache/ice-9/scm-style-repl.go +0 -0
  90. data/lib/guile/2.2/ccache/ice-9/serialize.go +0 -0
  91. data/lib/guile/2.2/ccache/ice-9/session.go +0 -0
  92. data/lib/guile/2.2/ccache/ice-9/slib.go +0 -0
  93. data/lib/guile/2.2/ccache/ice-9/stack-catch.go +0 -0
  94. data/lib/guile/2.2/ccache/ice-9/streams.go +0 -0
  95. data/lib/guile/2.2/ccache/ice-9/string-fun.go +0 -0
  96. data/lib/guile/2.2/ccache/ice-9/suspendable-ports.go +0 -0
  97. data/lib/guile/2.2/ccache/ice-9/syncase.go +0 -0
  98. data/lib/guile/2.2/ccache/ice-9/textual-ports.go +0 -0
  99. data/lib/guile/2.2/ccache/ice-9/threads.go +0 -0
  100. data/lib/guile/2.2/ccache/ice-9/time.go +0 -0
  101. data/lib/guile/2.2/ccache/ice-9/top-repl.go +0 -0
  102. data/lib/guile/2.2/ccache/ice-9/unicode.go +0 -0
  103. data/lib/guile/2.2/ccache/ice-9/vlist.go +0 -0
  104. data/lib/guile/2.2/ccache/ice-9/weak-vector.go +0 -0
  105. data/lib/guile/2.2/ccache/language/brainfuck/compile-scheme.go +0 -0
  106. data/lib/guile/2.2/ccache/language/brainfuck/compile-tree-il.go +0 -0
  107. data/lib/guile/2.2/ccache/language/brainfuck/parse.go +0 -0
  108. data/lib/guile/2.2/ccache/language/brainfuck/spec.go +0 -0
  109. data/lib/guile/2.2/ccache/language/bytecode/spec.go +0 -0
  110. data/lib/guile/2.2/ccache/language/bytecode.go +0 -0
  111. data/lib/guile/2.2/ccache/language/cps/closure-conversion.go +0 -0
  112. data/lib/guile/2.2/ccache/language/cps/compile-bytecode.go +0 -0
  113. data/lib/guile/2.2/ccache/language/cps/constructors.go +0 -0
  114. data/lib/guile/2.2/ccache/language/cps/contification.go +0 -0
  115. data/lib/guile/2.2/ccache/language/cps/cse.go +0 -0
  116. data/lib/guile/2.2/ccache/language/cps/dce.go +0 -0
  117. data/lib/guile/2.2/ccache/language/cps/effects-analysis.go +0 -0
  118. data/lib/guile/2.2/ccache/language/cps/elide-values.go +0 -0
  119. data/lib/guile/2.2/ccache/language/cps/handle-interrupts.go +0 -0
  120. data/lib/guile/2.2/ccache/language/cps/intmap.go +0 -0
  121. data/lib/guile/2.2/ccache/language/cps/intset.go +0 -0
  122. data/lib/guile/2.2/ccache/language/cps/licm.go +0 -0
  123. data/lib/guile/2.2/ccache/language/cps/optimize.go +0 -0
  124. data/lib/guile/2.2/ccache/language/cps/peel-loops.go +0 -0
  125. data/lib/guile/2.2/ccache/language/cps/primitives.go +0 -0
  126. data/lib/guile/2.2/ccache/language/cps/prune-bailouts.go +0 -0
  127. data/lib/guile/2.2/ccache/language/cps/prune-top-level-scopes.go +0 -0
  128. data/lib/guile/2.2/ccache/language/cps/reify-primitives.go +0 -0
  129. data/lib/guile/2.2/ccache/language/cps/renumber.go +0 -0
  130. data/lib/guile/2.2/ccache/language/cps/rotate-loops.go +0 -0
  131. data/lib/guile/2.2/ccache/language/cps/self-references.go +0 -0
  132. data/lib/guile/2.2/ccache/language/cps/simplify.go +0 -0
  133. data/lib/guile/2.2/ccache/language/cps/slot-allocation.go +0 -0
  134. data/lib/guile/2.2/ccache/language/cps/spec.go +0 -0
  135. data/lib/guile/2.2/ccache/language/cps/specialize-numbers.go +0 -0
  136. data/lib/guile/2.2/ccache/language/cps/specialize-primcalls.go +0 -0
  137. data/lib/guile/2.2/ccache/language/cps/split-rec.go +0 -0
  138. data/lib/guile/2.2/ccache/language/cps/type-checks.go +0 -0
  139. data/lib/guile/2.2/ccache/language/cps/type-fold.go +0 -0
  140. data/lib/guile/2.2/ccache/language/cps/types.go +0 -0
  141. data/lib/guile/2.2/ccache/language/cps/utils.go +0 -0
  142. data/lib/guile/2.2/ccache/language/cps/verify.go +0 -0
  143. data/lib/guile/2.2/ccache/language/cps/with-cps.go +0 -0
  144. data/lib/guile/2.2/ccache/language/cps.go +0 -0
  145. data/lib/guile/2.2/ccache/language/ecmascript/array.go +0 -0
  146. data/lib/guile/2.2/ccache/language/ecmascript/base.go +0 -0
  147. data/lib/guile/2.2/ccache/language/ecmascript/compile-tree-il.go +0 -0
  148. data/lib/guile/2.2/ccache/language/ecmascript/function.go +0 -0
  149. data/lib/guile/2.2/ccache/language/ecmascript/impl.go +0 -0
  150. data/lib/guile/2.2/ccache/language/ecmascript/parse.go +0 -0
  151. data/lib/guile/2.2/ccache/language/ecmascript/spec.go +0 -0
  152. data/lib/guile/2.2/ccache/language/ecmascript/tokenize.go +0 -0
  153. data/lib/guile/2.2/ccache/language/elisp/bindings.go +0 -0
  154. data/lib/guile/2.2/ccache/language/elisp/boot.go +0 -0
  155. data/lib/guile/2.2/ccache/language/elisp/compile-tree-il.go +0 -0
  156. data/lib/guile/2.2/ccache/language/elisp/falias.go +0 -0
  157. data/lib/guile/2.2/ccache/language/elisp/lexer.go +0 -0
  158. data/lib/guile/2.2/ccache/language/elisp/parser.go +0 -0
  159. data/lib/guile/2.2/ccache/language/elisp/runtime/function-slot.go +0 -0
  160. data/lib/guile/2.2/ccache/language/elisp/runtime/value-slot.go +0 -0
  161. data/lib/guile/2.2/ccache/language/elisp/runtime.go +0 -0
  162. data/lib/guile/2.2/ccache/language/elisp/spec.go +0 -0
  163. data/lib/guile/2.2/ccache/language/scheme/compile-tree-il.go +0 -0
  164. data/lib/guile/2.2/ccache/language/scheme/decompile-tree-il.go +0 -0
  165. data/lib/guile/2.2/ccache/language/scheme/spec.go +0 -0
  166. data/lib/guile/2.2/ccache/language/tree-il/analyze.go +0 -0
  167. data/lib/guile/2.2/ccache/language/tree-il/canonicalize.go +0 -0
  168. data/lib/guile/2.2/ccache/language/tree-il/compile-cps.go +0 -0
  169. data/lib/guile/2.2/ccache/language/tree-il/debug.go +0 -0
  170. data/lib/guile/2.2/ccache/language/tree-il/effects.go +0 -0
  171. data/lib/guile/2.2/ccache/language/tree-il/fix-letrec.go +0 -0
  172. data/lib/guile/2.2/ccache/language/tree-il/optimize.go +0 -0
  173. data/lib/guile/2.2/ccache/language/tree-il/peval.go +0 -0
  174. data/lib/guile/2.2/ccache/language/tree-il/primitives.go +0 -0
  175. data/lib/guile/2.2/ccache/language/tree-il/spec.go +0 -0
  176. data/lib/guile/2.2/ccache/language/tree-il.go +0 -0
  177. data/lib/guile/2.2/ccache/language/value/spec.go +0 -0
  178. data/lib/guile/2.2/ccache/oop/goops/accessors.go +0 -0
  179. data/lib/guile/2.2/ccache/oop/goops/active-slot.go +0 -0
  180. data/lib/guile/2.2/ccache/oop/goops/composite-slot.go +0 -0
  181. data/lib/guile/2.2/ccache/oop/goops/describe.go +0 -0
  182. data/lib/guile/2.2/ccache/oop/goops/internal.go +0 -0
  183. data/lib/guile/2.2/ccache/oop/goops/save.go +0 -0
  184. data/lib/guile/2.2/ccache/oop/goops/simple.go +0 -0
  185. data/lib/guile/2.2/ccache/oop/goops/stklos.go +0 -0
  186. data/lib/guile/2.2/ccache/oop/goops.go +0 -0
  187. data/lib/guile/2.2/ccache/rnrs/arithmetic/bitwise.go +0 -0
  188. data/lib/guile/2.2/ccache/rnrs/arithmetic/fixnums.go +0 -0
  189. data/lib/guile/2.2/ccache/rnrs/arithmetic/flonums.go +0 -0
  190. data/lib/guile/2.2/ccache/rnrs/base.go +0 -0
  191. data/lib/guile/2.2/ccache/rnrs/bytevectors.go +0 -0
  192. data/lib/guile/2.2/ccache/rnrs/conditions.go +0 -0
  193. data/lib/guile/2.2/ccache/rnrs/control.go +0 -0
  194. data/lib/guile/2.2/ccache/rnrs/enums.go +0 -0
  195. data/lib/guile/2.2/ccache/rnrs/eval.go +0 -0
  196. data/lib/guile/2.2/ccache/rnrs/exceptions.go +0 -0
  197. data/lib/guile/2.2/ccache/rnrs/files.go +0 -0
  198. data/lib/guile/2.2/ccache/rnrs/hashtables.go +0 -0
  199. data/lib/guile/2.2/ccache/rnrs/io/ports.go +0 -0
  200. data/lib/guile/2.2/ccache/rnrs/io/simple.go +0 -0
  201. data/lib/guile/2.2/ccache/rnrs/lists.go +0 -0
  202. data/lib/guile/2.2/ccache/rnrs/mutable-pairs.go +0 -0
  203. data/lib/guile/2.2/ccache/rnrs/mutable-strings.go +0 -0
  204. data/lib/guile/2.2/ccache/rnrs/programs.go +0 -0
  205. data/lib/guile/2.2/ccache/rnrs/r5rs.go +0 -0
  206. data/lib/guile/2.2/ccache/rnrs/records/inspection.go +0 -0
  207. data/lib/guile/2.2/ccache/rnrs/records/procedural.go +0 -0
  208. data/lib/guile/2.2/ccache/rnrs/records/syntactic.go +0 -0
  209. data/lib/guile/2.2/ccache/rnrs/sorting.go +0 -0
  210. data/lib/guile/2.2/ccache/rnrs/syntax-case.go +0 -0
  211. data/lib/guile/2.2/ccache/rnrs/unicode.go +0 -0
  212. data/lib/guile/2.2/ccache/rnrs.go +0 -0
  213. data/lib/guile/2.2/ccache/scripts/api-diff.go +0 -0
  214. data/lib/guile/2.2/ccache/scripts/autofrisk.go +0 -0
  215. data/lib/guile/2.2/ccache/scripts/compile.go +0 -0
  216. data/lib/guile/2.2/ccache/scripts/disassemble.go +0 -0
  217. data/lib/guile/2.2/ccache/scripts/display-commentary.go +0 -0
  218. data/lib/guile/2.2/ccache/scripts/doc-snarf.go +0 -0
  219. data/lib/guile/2.2/ccache/scripts/frisk.go +0 -0
  220. data/lib/guile/2.2/ccache/scripts/generate-autoload.go +0 -0
  221. data/lib/guile/2.2/ccache/scripts/help.go +0 -0
  222. data/lib/guile/2.2/ccache/scripts/lint.go +0 -0
  223. data/lib/guile/2.2/ccache/scripts/list.go +0 -0
  224. data/lib/guile/2.2/ccache/scripts/punify.go +0 -0
  225. data/lib/guile/2.2/ccache/scripts/read-rfc822.go +0 -0
  226. data/lib/guile/2.2/ccache/scripts/read-scheme-source.go +0 -0
  227. data/lib/guile/2.2/ccache/scripts/read-text-outline.go +0 -0
  228. data/lib/guile/2.2/ccache/scripts/scan-api.go +0 -0
  229. data/lib/guile/2.2/ccache/scripts/snarf-check-and-output-texi.go +0 -0
  230. data/lib/guile/2.2/ccache/scripts/snarf-guile-m4-docs.go +0 -0
  231. data/lib/guile/2.2/ccache/scripts/summarize-guile-TODO.go +0 -0
  232. data/lib/guile/2.2/ccache/scripts/use2dot.go +0 -0
  233. data/lib/guile/2.2/ccache/srfi/srfi-1.go +0 -0
  234. data/lib/guile/2.2/ccache/srfi/srfi-10.go +0 -0
  235. data/lib/guile/2.2/ccache/srfi/srfi-11.go +0 -0
  236. data/lib/guile/2.2/ccache/srfi/srfi-111.go +0 -0
  237. data/lib/guile/2.2/ccache/srfi/srfi-13.go +0 -0
  238. data/lib/guile/2.2/ccache/srfi/srfi-14.go +0 -0
  239. data/lib/guile/2.2/ccache/srfi/srfi-16.go +0 -0
  240. data/lib/guile/2.2/ccache/srfi/srfi-17.go +0 -0
  241. data/lib/guile/2.2/ccache/srfi/srfi-18.go +0 -0
  242. data/lib/guile/2.2/ccache/srfi/srfi-19.go +0 -0
  243. data/lib/guile/2.2/ccache/srfi/srfi-2.go +0 -0
  244. data/lib/guile/2.2/ccache/srfi/srfi-26.go +0 -0
  245. data/lib/guile/2.2/ccache/srfi/srfi-27.go +0 -0
  246. data/lib/guile/2.2/ccache/srfi/srfi-28.go +0 -0
  247. data/lib/guile/2.2/ccache/srfi/srfi-31.go +0 -0
  248. data/lib/guile/2.2/ccache/srfi/srfi-34.go +0 -0
  249. data/lib/guile/2.2/ccache/srfi/srfi-35.go +0 -0
  250. data/lib/guile/2.2/ccache/srfi/srfi-37.go +0 -0
  251. data/lib/guile/2.2/ccache/srfi/srfi-38.go +0 -0
  252. data/lib/guile/2.2/ccache/srfi/srfi-39.go +0 -0
  253. data/lib/guile/2.2/ccache/srfi/srfi-4/gnu.go +0 -0
  254. data/lib/guile/2.2/ccache/srfi/srfi-4.go +0 -0
  255. data/lib/guile/2.2/ccache/srfi/srfi-41.go +0 -0
  256. data/lib/guile/2.2/ccache/srfi/srfi-42.go +0 -0
  257. data/lib/guile/2.2/ccache/srfi/srfi-43.go +0 -0
  258. data/lib/guile/2.2/ccache/srfi/srfi-45.go +0 -0
  259. data/lib/guile/2.2/ccache/srfi/srfi-6.go +0 -0
  260. data/lib/guile/2.2/ccache/srfi/srfi-60.go +0 -0
  261. data/lib/guile/2.2/ccache/srfi/srfi-64.go +0 -0
  262. data/lib/guile/2.2/ccache/srfi/srfi-67.go +0 -0
  263. data/lib/guile/2.2/ccache/srfi/srfi-69.go +0 -0
  264. data/lib/guile/2.2/ccache/srfi/srfi-71.go +0 -0
  265. data/lib/guile/2.2/ccache/srfi/srfi-8.go +0 -0
  266. data/lib/guile/2.2/ccache/srfi/srfi-88.go +0 -0
  267. data/lib/guile/2.2/ccache/srfi/srfi-9/gnu.go +0 -0
  268. data/lib/guile/2.2/ccache/srfi/srfi-9.go +0 -0
  269. data/lib/guile/2.2/ccache/srfi/srfi-98.go +0 -0
  270. data/lib/guile/2.2/ccache/statprof.go +0 -0
  271. data/lib/guile/2.2/ccache/sxml/apply-templates.go +0 -0
  272. data/lib/guile/2.2/ccache/sxml/fold.go +0 -0
  273. data/lib/guile/2.2/ccache/sxml/match.go +0 -0
  274. data/lib/guile/2.2/ccache/sxml/simple.go +0 -0
  275. data/lib/guile/2.2/ccache/sxml/ssax/input-parse.go +0 -0
  276. data/lib/guile/2.2/ccache/sxml/ssax.go +0 -0
  277. data/lib/guile/2.2/ccache/sxml/transform.go +0 -0
  278. data/lib/guile/2.2/ccache/sxml/xpath.go +0 -0
  279. data/lib/guile/2.2/ccache/system/base/ck.go +0 -0
  280. data/lib/guile/2.2/ccache/system/base/compile.go +0 -0
  281. data/lib/guile/2.2/ccache/system/base/lalr.go +0 -0
  282. data/lib/guile/2.2/ccache/system/base/language.go +0 -0
  283. data/lib/guile/2.2/ccache/system/base/message.go +0 -0
  284. data/lib/guile/2.2/ccache/system/base/pmatch.go +0 -0
  285. data/lib/guile/2.2/ccache/system/base/syntax.go +0 -0
  286. data/lib/guile/2.2/ccache/system/base/target.go +0 -0
  287. data/lib/guile/2.2/ccache/system/base/types.go +0 -0
  288. data/lib/guile/2.2/ccache/system/foreign-object.go +0 -0
  289. data/lib/guile/2.2/ccache/system/foreign.go +0 -0
  290. data/lib/guile/2.2/ccache/system/repl/command.go +0 -0
  291. data/lib/guile/2.2/ccache/system/repl/common.go +0 -0
  292. data/lib/guile/2.2/ccache/system/repl/coop-server.go +0 -0
  293. data/lib/guile/2.2/ccache/system/repl/debug.go +0 -0
  294. data/lib/guile/2.2/ccache/system/repl/error-handling.go +0 -0
  295. data/lib/guile/2.2/ccache/system/repl/repl.go +0 -0
  296. data/lib/guile/2.2/ccache/system/repl/server.go +0 -0
  297. data/lib/guile/2.2/ccache/system/syntax.go +0 -0
  298. data/lib/guile/2.2/ccache/system/vm/assembler.go +0 -0
  299. data/lib/guile/2.2/ccache/system/vm/coverage.go +0 -0
  300. data/lib/guile/2.2/ccache/system/vm/debug.go +0 -0
  301. data/lib/guile/2.2/ccache/system/vm/disassembler.go +0 -0
  302. data/lib/guile/2.2/ccache/system/vm/dwarf.go +0 -0
  303. data/lib/guile/2.2/ccache/system/vm/elf.go +0 -0
  304. data/lib/guile/2.2/ccache/system/vm/frame.go +0 -0
  305. data/lib/guile/2.2/ccache/system/vm/inspect.go +0 -0
  306. data/lib/guile/2.2/ccache/system/vm/linker.go +0 -0
  307. data/lib/guile/2.2/ccache/system/vm/loader.go +0 -0
  308. data/lib/guile/2.2/ccache/system/vm/program.go +0 -0
  309. data/lib/guile/2.2/ccache/system/vm/trace.go +0 -0
  310. data/lib/guile/2.2/ccache/system/vm/trap-state.go +0 -0
  311. data/lib/guile/2.2/ccache/system/vm/traps.go +0 -0
  312. data/lib/guile/2.2/ccache/system/vm/vm.go +0 -0
  313. data/lib/guile/2.2/ccache/system/xref.go +0 -0
  314. data/lib/guile/2.2/ccache/texinfo/docbook.go +0 -0
  315. data/lib/guile/2.2/ccache/texinfo/html.go +0 -0
  316. data/lib/guile/2.2/ccache/texinfo/indexing.go +0 -0
  317. data/lib/guile/2.2/ccache/texinfo/plain-text.go +0 -0
  318. data/lib/guile/2.2/ccache/texinfo/reflection.go +0 -0
  319. data/lib/guile/2.2/ccache/texinfo/serialize.go +0 -0
  320. data/lib/guile/2.2/ccache/texinfo/string-utils.go +0 -0
  321. data/lib/guile/2.2/ccache/texinfo.go +0 -0
  322. data/lib/guile/2.2/ccache/web/client.go +0 -0
  323. data/lib/guile/2.2/ccache/web/http.go +0 -0
  324. data/lib/guile/2.2/ccache/web/request.go +0 -0
  325. data/lib/guile/2.2/ccache/web/response.go +0 -0
  326. data/lib/guile/2.2/ccache/web/server/http.go +0 -0
  327. data/lib/guile/2.2/ccache/web/server.go +0 -0
  328. data/lib/guile/2.2/ccache/web/uri.go +0 -0
  329. data/lib/lilypond/2.24.1/ccache/lily/accreg.go +0 -0
  330. data/lib/lilypond/2.24.1/ccache/lily/auto-beam.go +0 -0
  331. data/lib/lilypond/2.24.1/ccache/lily/autochange.go +0 -0
  332. data/lib/lilypond/2.24.1/ccache/lily/backend-library.go +0 -0
  333. data/lib/lilypond/2.24.1/ccache/lily/bar-line.go +0 -0
  334. data/lib/lilypond/2.24.1/ccache/lily/breath.go +0 -0
  335. data/lib/lilypond/2.24.1/ccache/lily/c++.go +0 -0
  336. data/lib/lilypond/2.24.1/ccache/lily/chord-entry.go +0 -0
  337. data/lib/lilypond/2.24.1/ccache/lily/chord-ignatzek-names.go +0 -0
  338. data/lib/lilypond/2.24.1/ccache/lily/chord-name.go +0 -0
  339. data/lib/lilypond/2.24.1/ccache/lily/clip-region.go +0 -0
  340. data/lib/lilypond/2.24.1/ccache/lily/color.go +0 -0
  341. data/lib/lilypond/2.24.1/ccache/lily/curried-definitions.go +0 -0
  342. data/lib/lilypond/2.24.1/ccache/lily/define-context-properties.go +0 -0
  343. data/lib/lilypond/2.24.1/ccache/lily/define-event-classes.go +0 -0
  344. data/lib/lilypond/2.24.1/ccache/lily/define-grob-interfaces.go +0 -0
  345. data/lib/lilypond/2.24.1/ccache/lily/define-grob-properties.go +0 -0
  346. data/lib/lilypond/2.24.1/ccache/lily/define-grobs.go +0 -0
  347. data/lib/lilypond/2.24.1/ccache/lily/define-markup-commands.go +0 -0
  348. data/lib/lilypond/2.24.1/ccache/lily/define-music-callbacks.go +0 -0
  349. data/lib/lilypond/2.24.1/ccache/lily/define-music-display-methods.go +0 -0
  350. data/lib/lilypond/2.24.1/ccache/lily/define-music-properties.go +0 -0
  351. data/lib/lilypond/2.24.1/ccache/lily/define-music-types.go +0 -0
  352. data/lib/lilypond/2.24.1/ccache/lily/define-note-names.go +0 -0
  353. data/lib/lilypond/2.24.1/ccache/lily/define-stencil-commands.go +0 -0
  354. data/lib/lilypond/2.24.1/ccache/lily/define-woodwind-diagrams.go +0 -0
  355. data/lib/lilypond/2.24.1/ccache/lily/display-lily.go +0 -0
  356. data/lib/lilypond/2.24.1/ccache/lily/display-woodwind-diagrams.go +0 -0
  357. data/lib/lilypond/2.24.1/ccache/lily/file-cache.go +0 -0
  358. data/lib/lilypond/2.24.1/ccache/lily/flag-styles.go +0 -0
  359. data/lib/lilypond/2.24.1/ccache/lily/font-encodings.go +0 -0
  360. data/lib/lilypond/2.24.1/ccache/lily/font.go +0 -0
  361. data/lib/lilypond/2.24.1/ccache/lily/framework-cairo.go +0 -0
  362. data/lib/lilypond/2.24.1/ccache/lily/framework-ps.go +0 -0
  363. data/lib/lilypond/2.24.1/ccache/lily/framework-svg.go +0 -0
  364. data/lib/lilypond/2.24.1/ccache/lily/fret-diagrams.go +0 -0
  365. data/lib/lilypond/2.24.1/ccache/lily/graphviz.go +0 -0
  366. data/lib/lilypond/2.24.1/ccache/lily/harp-pedals.go +0 -0
  367. data/lib/lilypond/2.24.1/ccache/lily/layout-beam.go +0 -0
  368. data/lib/lilypond/2.24.1/ccache/lily/layout-slur.go +0 -0
  369. data/lib/lilypond/2.24.1/ccache/lily/lily-library.go +0 -0
  370. data/lib/lilypond/2.24.1/ccache/lily/lily.go +0 -0
  371. data/lib/lilypond/2.24.1/ccache/lily/ly-syntax-constructors.go +0 -0
  372. data/lib/lilypond/2.24.1/ccache/lily/markup-macros.go +0 -0
  373. data/lib/lilypond/2.24.1/ccache/lily/markup.go +0 -0
  374. data/lib/lilypond/2.24.1/ccache/lily/midi.go +0 -0
  375. data/lib/lilypond/2.24.1/ccache/lily/modal-transforms.go +0 -0
  376. data/lib/lilypond/2.24.1/ccache/lily/music-functions.go +0 -0
  377. data/lib/lilypond/2.24.1/ccache/lily/output-lib.go +0 -0
  378. data/lib/lilypond/2.24.1/ccache/lily/output-ps.go +0 -0
  379. data/lib/lilypond/2.24.1/ccache/lily/output-svg.go +0 -0
  380. data/lib/lilypond/2.24.1/ccache/lily/page.go +0 -0
  381. data/lib/lilypond/2.24.1/ccache/lily/paper-system.go +0 -0
  382. data/lib/lilypond/2.24.1/ccache/lily/paper.go +0 -0
  383. data/lib/lilypond/2.24.1/ccache/lily/parser-clef.go +0 -0
  384. data/lib/lilypond/2.24.1/ccache/lily/parser-ly-from-scheme.go +0 -0
  385. data/lib/lilypond/2.24.1/ccache/lily/part-combiner.go +0 -0
  386. data/lib/lilypond/2.24.1/ccache/lily/predefined-fretboards.go +0 -0
  387. data/lib/lilypond/2.24.1/ccache/lily/ps-to-png.go +0 -0
  388. data/lib/lilypond/2.24.1/ccache/lily/scheme-engravers.go +0 -0
  389. data/lib/lilypond/2.24.1/ccache/lily/scheme-performers.go +0 -0
  390. data/lib/lilypond/2.24.1/ccache/lily/script.go +0 -0
  391. data/lib/lilypond/2.24.1/ccache/lily/skyline.go +0 -0
  392. data/lib/lilypond/2.24.1/ccache/lily/song-util.go +0 -0
  393. data/lib/lilypond/2.24.1/ccache/lily/song.go +0 -0
  394. data/lib/lilypond/2.24.1/ccache/lily/stencil.go +0 -0
  395. data/lib/lilypond/2.24.1/ccache/lily/tablature.go +0 -0
  396. data/lib/lilypond/2.24.1/ccache/lily/time-signature-settings.go +0 -0
  397. data/lib/lilypond/2.24.1/ccache/lily/time-signature.go +0 -0
  398. data/lib/lilypond/2.24.1/ccache/lily/titling.go +0 -0
  399. data/lib/lilypond/2.24.1/ccache/lily/to-xml.go +0 -0
  400. data/lib/lilypond/2.24.1/ccache/lily/translation-functions.go +0 -0
  401. data/share/emacs/site-lisp/lilypond-font-lock.el +208 -0
  402. data/share/emacs/site-lisp/lilypond-indent.el +605 -0
  403. data/share/emacs/site-lisp/lilypond-init.el +21 -0
  404. data/share/emacs/site-lisp/lilypond-mode.el +1204 -0
  405. data/share/emacs/site-lisp/lilypond-song.el +556 -0
  406. data/share/emacs/site-lisp/lilypond-what-beat.el +279 -0
  407. data/share/emacs/site-lisp/lilypond-words.el +1428 -0
  408. data/share/guile/2.2/guile-procedures.txt +8860 -0
  409. data/share/guile/2.2/ice-9/and-let-star.scm +73 -0
  410. data/share/guile/2.2/ice-9/arrays.scm +70 -0
  411. data/share/guile/2.2/ice-9/atomic.scm +38 -0
  412. data/share/guile/2.2/ice-9/binary-ports.scm +53 -0
  413. data/share/guile/2.2/ice-9/boot-9.scm +4131 -0
  414. data/share/guile/2.2/ice-9/buffered-input.scm +109 -0
  415. data/share/guile/2.2/ice-9/calling.scm +326 -0
  416. data/share/guile/2.2/ice-9/channel.scm +170 -0
  417. data/share/guile/2.2/ice-9/command-line.scm +477 -0
  418. data/share/guile/2.2/ice-9/common-list.scm +278 -0
  419. data/share/guile/2.2/ice-9/control.scm +110 -0
  420. data/share/guile/2.2/ice-9/curried-definitions.scm +57 -0
  421. data/share/guile/2.2/ice-9/debug.scm +25 -0
  422. data/share/guile/2.2/ice-9/deprecated.scm +93 -0
  423. data/share/guile/2.2/ice-9/documentation.scm +203 -0
  424. data/share/guile/2.2/ice-9/eval-string.scm +90 -0
  425. data/share/guile/2.2/ice-9/eval.scm +723 -0
  426. data/share/guile/2.2/ice-9/expect.scm +171 -0
  427. data/share/guile/2.2/ice-9/fdes-finalizers.scm +25 -0
  428. data/share/guile/2.2/ice-9/format.scm +1626 -0
  429. data/share/guile/2.2/ice-9/ftw.scm +564 -0
  430. data/share/guile/2.2/ice-9/futures.scm +308 -0
  431. data/share/guile/2.2/ice-9/gap-buffer.scm +283 -0
  432. data/share/guile/2.2/ice-9/getopt-long.scm +371 -0
  433. data/share/guile/2.2/ice-9/hash-table.scm +45 -0
  434. data/share/guile/2.2/ice-9/hcons.scm +80 -0
  435. data/share/guile/2.2/ice-9/history.scm +65 -0
  436. data/share/guile/2.2/ice-9/i18n.scm +531 -0
  437. data/share/guile/2.2/ice-9/iconv.scm +95 -0
  438. data/share/guile/2.2/ice-9/lineio.scm +115 -0
  439. data/share/guile/2.2/ice-9/list.scm +36 -0
  440. data/share/guile/2.2/ice-9/local-eval.scm +261 -0
  441. data/share/guile/2.2/ice-9/ls.scm +94 -0
  442. data/share/guile/2.2/ice-9/mapping.scm +118 -0
  443. data/share/guile/2.2/ice-9/match.scm +59 -0
  444. data/share/guile/2.2/ice-9/match.upstream.scm +917 -0
  445. data/share/guile/2.2/ice-9/networking.scm +94 -0
  446. data/share/guile/2.2/ice-9/null.scm +34 -0
  447. data/share/guile/2.2/ice-9/occam-channel.scm +261 -0
  448. data/share/guile/2.2/ice-9/optargs.scm +381 -0
  449. data/share/guile/2.2/ice-9/peg/cache.scm +45 -0
  450. data/share/guile/2.2/ice-9/peg/codegen.scm +359 -0
  451. data/share/guile/2.2/ice-9/peg/simplify-tree.scm +97 -0
  452. data/share/guile/2.2/ice-9/peg/string-peg.scm +273 -0
  453. data/share/guile/2.2/ice-9/peg/using-parsers.scm +116 -0
  454. data/share/guile/2.2/ice-9/peg.scm +42 -0
  455. data/share/guile/2.2/ice-9/poe.scm +116 -0
  456. data/share/guile/2.2/ice-9/poll.scm +172 -0
  457. data/share/guile/2.2/ice-9/popen.scm +178 -0
  458. data/share/guile/2.2/ice-9/ports.scm +566 -0
  459. data/share/guile/2.2/ice-9/posix.scm +75 -0
  460. data/share/guile/2.2/ice-9/pretty-print.scm +483 -0
  461. data/share/guile/2.2/ice-9/psyntax-pp.scm +3542 -0
  462. data/share/guile/2.2/ice-9/psyntax.scm +3326 -0
  463. data/share/guile/2.2/ice-9/q.scm +153 -0
  464. data/share/guile/2.2/ice-9/quasisyntax.scm +136 -0
  465. data/share/guile/2.2/ice-9/r5rs.scm +45 -0
  466. data/share/guile/2.2/ice-9/r6rs-libraries.scm +242 -0
  467. data/share/guile/2.2/ice-9/rdelim.scm +208 -0
  468. data/share/guile/2.2/ice-9/receive.scm +26 -0
  469. data/share/guile/2.2/ice-9/regex.scm +229 -0
  470. data/share/guile/2.2/ice-9/runq.scm +241 -0
  471. data/share/guile/2.2/ice-9/rw.scm +27 -0
  472. data/share/guile/2.2/ice-9/safe-r5rs.scm +145 -0
  473. data/share/guile/2.2/ice-9/safe.scm +34 -0
  474. data/share/guile/2.2/ice-9/sandbox.scm +1399 -0
  475. data/share/guile/2.2/ice-9/save-stack.scm +58 -0
  476. data/share/guile/2.2/ice-9/scm-style-repl.scm +279 -0
  477. data/share/guile/2.2/ice-9/serialize.scm +114 -0
  478. data/share/guile/2.2/ice-9/session.scm +530 -0
  479. data/share/guile/2.2/ice-9/slib.scm +33 -0
  480. data/share/guile/2.2/ice-9/stack-catch.scm +47 -0
  481. data/share/guile/2.2/ice-9/streams.scm +168 -0
  482. data/share/guile/2.2/ice-9/string-fun.scm +280 -0
  483. data/share/guile/2.2/ice-9/suspendable-ports.scm +788 -0
  484. data/share/guile/2.2/ice-9/syncase.scm +37 -0
  485. data/share/guile/2.2/ice-9/textual-ports.scm +70 -0
  486. data/share/guile/2.2/ice-9/threads.scm +392 -0
  487. data/share/guile/2.2/ice-9/time.scm +58 -0
  488. data/share/guile/2.2/ice-9/top-repl.scm +78 -0
  489. data/share/guile/2.2/ice-9/unicode.scm +26 -0
  490. data/share/guile/2.2/ice-9/vlist.scm +595 -0
  491. data/share/guile/2.2/ice-9/weak-vector.scm +31 -0
  492. data/share/guile/2.2/language/brainfuck/compile-scheme.scm +123 -0
  493. data/share/guile/2.2/language/brainfuck/compile-tree-il.scm +184 -0
  494. data/share/guile/2.2/language/brainfuck/parse.scm +95 -0
  495. data/share/guile/2.2/language/brainfuck/spec.scm +43 -0
  496. data/share/guile/2.2/language/bytecode/spec.scm +42 -0
  497. data/share/guile/2.2/language/bytecode.scm +104 -0
  498. data/share/guile/2.2/language/cps/closure-conversion.scm +848 -0
  499. data/share/guile/2.2/language/cps/compile-bytecode.scm +610 -0
  500. data/share/guile/2.2/language/cps/constructors.scm +106 -0
  501. data/share/guile/2.2/language/cps/contification.scm +448 -0
  502. data/share/guile/2.2/language/cps/cse.scm +414 -0
  503. data/share/guile/2.2/language/cps/dce.scm +363 -0
  504. data/share/guile/2.2/language/cps/effects-analysis.scm +597 -0
  505. data/share/guile/2.2/language/cps/elide-values.scm +88 -0
  506. data/share/guile/2.2/language/cps/handle-interrupts.scm +69 -0
  507. data/share/guile/2.2/language/cps/intmap.scm +765 -0
  508. data/share/guile/2.2/language/cps/intset.scm +830 -0
  509. data/share/guile/2.2/language/cps/licm.scm +308 -0
  510. data/share/guile/2.2/language/cps/optimize.scm +135 -0
  511. data/share/guile/2.2/language/cps/peel-loops.scm +287 -0
  512. data/share/guile/2.2/language/cps/primitives.scm +141 -0
  513. data/share/guile/2.2/language/cps/prune-bailouts.scm +86 -0
  514. data/share/guile/2.2/language/cps/prune-top-level-scopes.scm +63 -0
  515. data/share/guile/2.2/language/cps/reify-primitives.scm +179 -0
  516. data/share/guile/2.2/language/cps/renumber.scm +217 -0
  517. data/share/guile/2.2/language/cps/rotate-loops.scm +239 -0
  518. data/share/guile/2.2/language/cps/self-references.scm +79 -0
  519. data/share/guile/2.2/language/cps/simplify.scm +274 -0
  520. data/share/guile/2.2/language/cps/slot-allocation.scm +1058 -0
  521. data/share/guile/2.2/language/cps/spec.scm +51 -0
  522. data/share/guile/2.2/language/cps/specialize-numbers.scm +724 -0
  523. data/share/guile/2.2/language/cps/specialize-primcalls.scm +87 -0
  524. data/share/guile/2.2/language/cps/split-rec.scm +174 -0
  525. data/share/guile/2.2/language/cps/type-checks.scm +72 -0
  526. data/share/guile/2.2/language/cps/type-fold.scm +455 -0
  527. data/share/guile/2.2/language/cps/types.scm +1826 -0
  528. data/share/guile/2.2/language/cps/utils.scm +550 -0
  529. data/share/guile/2.2/language/cps/verify.scm +304 -0
  530. data/share/guile/2.2/language/cps/with-cps.scm +145 -0
  531. data/share/guile/2.2/language/cps.scm +358 -0
  532. data/share/guile/2.2/language/ecmascript/array.scm +121 -0
  533. data/share/guile/2.2/language/ecmascript/base.scm +251 -0
  534. data/share/guile/2.2/language/ecmascript/compile-tree-il.scm +576 -0
  535. data/share/guile/2.2/language/ecmascript/function.scm +78 -0
  536. data/share/guile/2.2/language/ecmascript/impl.scm +169 -0
  537. data/share/guile/2.2/language/ecmascript/parse.scm +352 -0
  538. data/share/guile/2.2/language/ecmascript/spec.scm +37 -0
  539. data/share/guile/2.2/language/ecmascript/tokenize.scm +513 -0
  540. data/share/guile/2.2/language/elisp/bindings.scm +107 -0
  541. data/share/guile/2.2/language/elisp/boot.el +617 -0
  542. data/share/guile/2.2/language/elisp/compile-tree-il.scm +812 -0
  543. data/share/guile/2.2/language/elisp/falias.scm +47 -0
  544. data/share/guile/2.2/language/elisp/lexer.scm +430 -0
  545. data/share/guile/2.2/language/elisp/parser.scm +222 -0
  546. data/share/guile/2.2/language/elisp/runtime/function-slot.scm +63 -0
  547. data/share/guile/2.2/language/elisp/runtime/value-slot.scm +24 -0
  548. data/share/guile/2.2/language/elisp/runtime.scm +153 -0
  549. data/share/guile/2.2/language/elisp/spec.scm +43 -0
  550. data/share/guile/2.2/language/scheme/compile-tree-il.scm +33 -0
  551. data/share/guile/2.2/language/scheme/decompile-tree-il.scm +796 -0
  552. data/share/guile/2.2/language/scheme/spec.scm +63 -0
  553. data/share/guile/2.2/language/tree-il/analyze.scm +1568 -0
  554. data/share/guile/2.2/language/tree-il/canonicalize.scm +82 -0
  555. data/share/guile/2.2/language/tree-il/compile-cps.scm +1149 -0
  556. data/share/guile/2.2/language/tree-il/debug.scm +246 -0
  557. data/share/guile/2.2/language/tree-il/effects.scm +591 -0
  558. data/share/guile/2.2/language/tree-il/fix-letrec.scm +314 -0
  559. data/share/guile/2.2/language/tree-il/optimize.scm +43 -0
  560. data/share/guile/2.2/language/tree-il/peval.scm +1669 -0
  561. data/share/guile/2.2/language/tree-il/primitives.scm +630 -0
  562. data/share/guile/2.2/language/tree-il/spec.scm +46 -0
  563. data/share/guile/2.2/language/tree-il.scm +630 -0
  564. data/share/guile/2.2/language/value/spec.scm +30 -0
  565. data/share/guile/2.2/oop/goops/accessors.scm +72 -0
  566. data/share/guile/2.2/oop/goops/active-slot.scm +63 -0
  567. data/share/guile/2.2/oop/goops/composite-slot.scm +83 -0
  568. data/share/guile/2.2/oop/goops/describe.scm +189 -0
  569. data/share/guile/2.2/oop/goops/internal.scm +30 -0
  570. data/share/guile/2.2/oop/goops/save.scm +874 -0
  571. data/share/guile/2.2/oop/goops/simple.scm +30 -0
  572. data/share/guile/2.2/oop/goops/stklos.scm +74 -0
  573. data/share/guile/2.2/oop/goops.scm +3176 -0
  574. data/share/guile/2.2/rnrs/arithmetic/bitwise.scm +92 -0
  575. data/share/guile/2.2/rnrs/arithmetic/fixnums.scm +291 -0
  576. data/share/guile/2.2/rnrs/arithmetic/flonums.scm +203 -0
  577. data/share/guile/2.2/rnrs/base.scm +291 -0
  578. data/share/guile/2.2/rnrs/bytevectors.scm +83 -0
  579. data/share/guile/2.2/rnrs/conditions.scm +225 -0
  580. data/share/guile/2.2/rnrs/control.scm +22 -0
  581. data/share/guile/2.2/rnrs/enums.scm +152 -0
  582. data/share/guile/2.2/rnrs/eval.scm +39 -0
  583. data/share/guile/2.2/rnrs/exceptions.scm +276 -0
  584. data/share/guile/2.2/rnrs/files.scm +96 -0
  585. data/share/guile/2.2/rnrs/hashtables.scm +190 -0
  586. data/share/guile/2.2/rnrs/io/ports.scm +554 -0
  587. data/share/guile/2.2/rnrs/io/simple.scm +167 -0
  588. data/share/guile/2.2/rnrs/lists.scm +55 -0
  589. data/share/guile/2.2/rnrs/mutable-pairs.scm +23 -0
  590. data/share/guile/2.2/rnrs/mutable-strings.scm +23 -0
  591. data/share/guile/2.2/rnrs/programs.scm +22 -0
  592. data/share/guile/2.2/rnrs/r5rs.scm +34 -0
  593. data/share/guile/2.2/rnrs/records/inspection.scm +81 -0
  594. data/share/guile/2.2/rnrs/records/procedural.scm +289 -0
  595. data/share/guile/2.2/rnrs/records/syntactic.scm +248 -0
  596. data/share/guile/2.2/rnrs/sorting.scm +27 -0
  597. data/share/guile/2.2/rnrs/syntax-case.scm +68 -0
  598. data/share/guile/2.2/rnrs/unicode.scm +104 -0
  599. data/share/guile/2.2/rnrs.scm +289 -0
  600. data/share/guile/2.2/scripts/api-diff.scm +179 -0
  601. data/share/guile/2.2/scripts/autofrisk.scm +218 -0
  602. data/share/guile/2.2/scripts/compile.scm +273 -0
  603. data/share/guile/2.2/scripts/disassemble.scm +38 -0
  604. data/share/guile/2.2/scripts/display-commentary.scm +67 -0
  605. data/share/guile/2.2/scripts/doc-snarf.scm +439 -0
  606. data/share/guile/2.2/scripts/frisk.scm +290 -0
  607. data/share/guile/2.2/scripts/generate-autoload.scm +144 -0
  608. data/share/guile/2.2/scripts/help.scm +188 -0
  609. data/share/guile/2.2/scripts/lint.scm +318 -0
  610. data/share/guile/2.2/scripts/list.scm +91 -0
  611. data/share/guile/2.2/scripts/punify.scm +87 -0
  612. data/share/guile/2.2/scripts/read-rfc822.scm +131 -0
  613. data/share/guile/2.2/scripts/read-scheme-source.scm +282 -0
  614. data/share/guile/2.2/scripts/read-text-outline.scm +253 -0
  615. data/share/guile/2.2/scripts/scan-api.scm +223 -0
  616. data/share/guile/2.2/scripts/snarf-check-and-output-texi.scm +303 -0
  617. data/share/guile/2.2/scripts/snarf-guile-m4-docs.scm +86 -0
  618. data/share/guile/2.2/scripts/summarize-guile-TODO.scm +213 -0
  619. data/share/guile/2.2/scripts/use2dot.scm +110 -0
  620. data/share/guile/2.2/srfi/srfi-1.scm +1061 -0
  621. data/share/guile/2.2/srfi/srfi-10.scm +89 -0
  622. data/share/guile/2.2/srfi/srfi-11.scm +146 -0
  623. data/share/guile/2.2/srfi/srfi-111.scm +37 -0
  624. data/share/guile/2.2/srfi/srfi-13.scm +132 -0
  625. data/share/guile/2.2/srfi/srfi-14.scm +99 -0
  626. data/share/guile/2.2/srfi/srfi-16.scm +51 -0
  627. data/share/guile/2.2/srfi/srfi-17.scm +174 -0
  628. data/share/guile/2.2/srfi/srfi-18.scm +382 -0
  629. data/share/guile/2.2/srfi/srfi-19.scm +1470 -0
  630. data/share/guile/2.2/srfi/srfi-2.scm +31 -0
  631. data/share/guile/2.2/srfi/srfi-26.scm +66 -0
  632. data/share/guile/2.2/srfi/srfi-27.scm +96 -0
  633. data/share/guile/2.2/srfi/srfi-28.scm +34 -0
  634. data/share/guile/2.2/srfi/srfi-31.scm +35 -0
  635. data/share/guile/2.2/srfi/srfi-34.scm +84 -0
  636. data/share/guile/2.2/srfi/srfi-35.scm +351 -0
  637. data/share/guile/2.2/srfi/srfi-37.scm +234 -0
  638. data/share/guile/2.2/srfi/srfi-38.scm +207 -0
  639. data/share/guile/2.2/srfi/srfi-39.scm +55 -0
  640. data/share/guile/2.2/srfi/srfi-4/gnu.scm +80 -0
  641. data/share/guile/2.2/srfi/srfi-4.scm +118 -0
  642. data/share/guile/2.2/srfi/srfi-41.scm +505 -0
  643. data/share/guile/2.2/srfi/srfi-42/ec.scm +1053 -0
  644. data/share/guile/2.2/srfi/srfi-42.scm +66 -0
  645. data/share/guile/2.2/srfi/srfi-43.scm +1077 -0
  646. data/share/guile/2.2/srfi/srfi-45.scm +93 -0
  647. data/share/guile/2.2/srfi/srfi-6.scm +29 -0
  648. data/share/guile/2.2/srfi/srfi-60.scm +73 -0
  649. data/share/guile/2.2/srfi/srfi-64/testing.scm +1040 -0
  650. data/share/guile/2.2/srfi/srfi-64.scm +55 -0
  651. data/share/guile/2.2/srfi/srfi-67/compare.scm +686 -0
  652. data/share/guile/2.2/srfi/srfi-67.scm +88 -0
  653. data/share/guile/2.2/srfi/srfi-69.scm +336 -0
  654. data/share/guile/2.2/srfi/srfi-71.scm +267 -0
  655. data/share/guile/2.2/srfi/srfi-8.scm +31 -0
  656. data/share/guile/2.2/srfi/srfi-88.scm +53 -0
  657. data/share/guile/2.2/srfi/srfi-9/gnu.scm +168 -0
  658. data/share/guile/2.2/srfi/srfi-9.scm +351 -0
  659. data/share/guile/2.2/srfi/srfi-98.scm +44 -0
  660. data/share/guile/2.2/statprof.scm +988 -0
  661. data/share/guile/2.2/sxml/apply-templates.scm +102 -0
  662. data/share/guile/2.2/sxml/fold.scm +250 -0
  663. data/share/guile/2.2/sxml/match.scm +75 -0
  664. data/share/guile/2.2/sxml/simple.scm +408 -0
  665. data/share/guile/2.2/sxml/ssax/input-parse.scm +180 -0
  666. data/share/guile/2.2/sxml/ssax.scm +265 -0
  667. data/share/guile/2.2/sxml/sxml-match.ss +1181 -0
  668. data/share/guile/2.2/sxml/transform.scm +298 -0
  669. data/share/guile/2.2/sxml/upstream/SSAX.scm +3235 -0
  670. data/share/guile/2.2/sxml/upstream/SXML-tree-trans.scm +249 -0
  671. data/share/guile/2.2/sxml/upstream/SXPath-old.scm +1216 -0
  672. data/share/guile/2.2/sxml/upstream/assert.scm +35 -0
  673. data/share/guile/2.2/sxml/upstream/input-parse.scm +326 -0
  674. data/share/guile/2.2/sxml/xpath.scm +493 -0
  675. data/share/guile/2.2/system/base/ck.scm +55 -0
  676. data/share/guile/2.2/system/base/compile.scm +282 -0
  677. data/share/guile/2.2/system/base/lalr.scm +51 -0
  678. data/share/guile/2.2/system/base/lalr.upstream.scm +2096 -0
  679. data/share/guile/2.2/system/base/language.scm +119 -0
  680. data/share/guile/2.2/system/base/message.scm +238 -0
  681. data/share/guile/2.2/system/base/pmatch.scm +68 -0
  682. data/share/guile/2.2/system/base/syntax.scm +299 -0
  683. data/share/guile/2.2/system/base/target.scm +152 -0
  684. data/share/guile/2.2/system/base/types.scm +561 -0
  685. data/share/guile/2.2/system/foreign-object.scm +91 -0
  686. data/share/guile/2.2/system/foreign.scm +200 -0
  687. data/share/guile/2.2/system/repl/command.scm +946 -0
  688. data/share/guile/2.2/system/repl/common.scm +263 -0
  689. data/share/guile/2.2/system/repl/coop-server.scm +200 -0
  690. data/share/guile/2.2/system/repl/debug.scm +210 -0
  691. data/share/guile/2.2/system/repl/describe.scm +347 -0
  692. data/share/guile/2.2/system/repl/error-handling.scm +183 -0
  693. data/share/guile/2.2/system/repl/repl.scm +233 -0
  694. data/share/guile/2.2/system/repl/server.scm +332 -0
  695. data/share/guile/2.2/system/syntax.scm +33 -0
  696. data/share/guile/2.2/system/vm/assembler.scm +2614 -0
  697. data/share/guile/2.2/system/vm/coverage.scm +351 -0
  698. data/share/guile/2.2/system/vm/debug.scm +766 -0
  699. data/share/guile/2.2/system/vm/disassembler.scm +658 -0
  700. data/share/guile/2.2/system/vm/dwarf.scm +1852 -0
  701. data/share/guile/2.2/system/vm/elf.scm +1042 -0
  702. data/share/guile/2.2/system/vm/frame.scm +485 -0
  703. data/share/guile/2.2/system/vm/inspect.scm +188 -0
  704. data/share/guile/2.2/system/vm/linker.scm +732 -0
  705. data/share/guile/2.2/system/vm/loader.scm +27 -0
  706. data/share/guile/2.2/system/vm/program.scm +312 -0
  707. data/share/guile/2.2/system/vm/trace.scm +121 -0
  708. data/share/guile/2.2/system/vm/trap-state.scm +302 -0
  709. data/share/guile/2.2/system/vm/traps.scm +608 -0
  710. data/share/guile/2.2/system/vm/vm.scm +32 -0
  711. data/share/guile/2.2/system/xref.scm +369 -0
  712. data/share/guile/2.2/texinfo/docbook.scm +240 -0
  713. data/share/guile/2.2/texinfo/html.scm +279 -0
  714. data/share/guile/2.2/texinfo/indexing.scm +75 -0
  715. data/share/guile/2.2/texinfo/plain-text.scm +322 -0
  716. data/share/guile/2.2/texinfo/reflection.scm +585 -0
  717. data/share/guile/2.2/texinfo/serialize.scm +300 -0
  718. data/share/guile/2.2/texinfo/string-utils.scm +410 -0
  719. data/share/guile/2.2/texinfo.scm +1263 -0
  720. data/share/guile/2.2/web/client.scm +513 -0
  721. data/share/guile/2.2/web/http.scm +2043 -0
  722. data/share/guile/2.2/web/request.scm +326 -0
  723. data/share/guile/2.2/web/response.scm +379 -0
  724. data/share/guile/2.2/web/server/http.scm +183 -0
  725. data/share/guile/2.2/web/server.scm +397 -0
  726. data/share/guile/2.2/web/uri.scm +552 -0
  727. data/share/lilypond/2.24.1/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le64.cache-8 +0 -0
  728. data/share/lilypond/2.24.1/fontconfig/188ac73a183f12857f63bb60a4a6d603-le64.cache-8 +0 -0
  729. data/share/lilypond/2.24.1/fontconfig/32b6488e5b8292a2e95c79d947e009e8-le64.cache-8 +0 -0
  730. data/share/lilypond/2.24.1/fontconfig/3830d5c3ddfd5cd38a049b759396e72e-le64.cache-8 +0 -0
  731. data/share/lilypond/2.24.1/fontconfig/3f7329c5293ffd510edef78f73874cfd-le64.cache-8 +0 -0
  732. data/share/lilypond/2.24.1/fontconfig/4c599c202bc5c08e2d34565a40eac3b2-le64.cache-8 +0 -0
  733. data/share/lilypond/2.24.1/fontconfig/57e423e26b20ab21d0f2f29c145174c3-le64.cache-8 +0 -0
  734. data/share/lilypond/2.24.1/fontconfig/7ef2298fde41cc6eeb7af42e48b7d293-le64.cache-8 +0 -0
  735. data/share/lilypond/2.24.1/fontconfig/826f6b6ef79022e2eac8af26bf4b62f2-le64.cache-8 +0 -0
  736. data/share/lilypond/2.24.1/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le64.cache-8 +0 -0
  737. data/share/lilypond/2.24.1/fontconfig/95530828ff6c81d309f8258d8d02a23e-le64.cache-8 +0 -0
  738. data/share/lilypond/2.24.1/fontconfig/CACHEDIR.TAG +4 -0
  739. data/share/lilypond/2.24.1/fontconfig/bf3b770c553c462765856025a94f1ce6-le64.cache-8 +0 -0
  740. data/share/lilypond/2.24.1/fontconfig/c855463f699352c367813e37f3f70ea7-le64.cache-8 +0 -0
  741. data/share/lilypond/2.24.1/fontconfig/d3e5c4ee2ceb1fc347f91d4cefc53bc0-le64.cache-8 +0 -0
  742. data/share/lilypond/2.24.1/fontconfig/d589a48862398ed80a3d6066f4f56f4c-le64.cache-8 +0 -0
  743. data/share/lilypond/2.24.1/fontconfig/d82eb4fd963d448e2fcb7d7b793b5df3-le64.cache-8 +0 -0
  744. data/share/lilypond/2.24.1/fontconfig/e13b20fdb08344e0e664864cc2ede53d-le64.cache-8 +0 -0
  745. data/share/lilypond/2.24.1/fontconfig/e52a45a1c8c8fe895fc0fc8c4e6999b8-le64.cache-8 +0 -0
  746. data/share/lilypond/2.24.1/fontconfig/f1f2465696798768e9653f19e17ccdc8-le64.cache-8 +0 -0
  747. data/share/lilypond/2.24.1/fonts/00-lilypond-fonts.conf +99 -0
  748. data/share/lilypond/2.24.1/fonts/99-lilypond-fonts.conf +28 -0
  749. data/share/lilypond/2.24.1/fonts/otf/C059-BdIta.otf +0 -0
  750. data/share/lilypond/2.24.1/fonts/otf/C059-Bold.otf +0 -0
  751. data/share/lilypond/2.24.1/fonts/otf/C059-Italic.otf +0 -0
  752. data/share/lilypond/2.24.1/fonts/otf/C059-Roman.otf +0 -0
  753. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Bold.otf +0 -0
  754. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-BoldItalic.otf +0 -0
  755. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Italic.otf +0 -0
  756. data/share/lilypond/2.24.1/fonts/otf/NimbusMonoPS-Regular.otf +0 -0
  757. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Bold.otf +0 -0
  758. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-BoldItalic.otf +0 -0
  759. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Italic.otf +0 -0
  760. data/share/lilypond/2.24.1/fonts/otf/NimbusSans-Regular.otf +0 -0
  761. data/share/lilypond/2.24.1/fonts/otf/emmentaler-11.otf +0 -0
  762. data/share/lilypond/2.24.1/fonts/otf/emmentaler-13.otf +0 -0
  763. data/share/lilypond/2.24.1/fonts/otf/emmentaler-14.otf +0 -0
  764. data/share/lilypond/2.24.1/fonts/otf/emmentaler-16.otf +0 -0
  765. data/share/lilypond/2.24.1/fonts/otf/emmentaler-18.otf +0 -0
  766. data/share/lilypond/2.24.1/fonts/otf/emmentaler-20.otf +0 -0
  767. data/share/lilypond/2.24.1/fonts/otf/emmentaler-23.otf +0 -0
  768. data/share/lilypond/2.24.1/fonts/otf/emmentaler-26.otf +0 -0
  769. data/share/lilypond/2.24.1/fonts/otf/emmentaler-brace.otf +0 -0
  770. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bold.otf +0 -0
  771. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-bolditalic.otf +0 -0
  772. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-italic.otf +0 -0
  773. data/share/lilypond/2.24.1/fonts/otf/texgyrecursor-regular.otf +0 -0
  774. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bold.otf +0 -0
  775. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-bolditalic.otf +0 -0
  776. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-italic.otf +0 -0
  777. data/share/lilypond/2.24.1/fonts/otf/texgyreheros-regular.otf +0 -0
  778. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bold.otf +0 -0
  779. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-bolditalic.otf +0 -0
  780. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-italic.otf +0 -0
  781. data/share/lilypond/2.24.1/fonts/otf/texgyreschola-regular.otf +0 -0
  782. data/share/lilypond/2.24.1/fonts/source/common-modules-and-initialization.mf +26 -0
  783. data/share/lilypond/2.24.1/fonts/source/debugging-settings.mf +14 -0
  784. data/share/lilypond/2.24.1/fonts/source/declare-autometric-parameters.mf +9 -0
  785. data/share/lilypond/2.24.1/fonts/source/feta-accidentals.mf +58 -0
  786. data/share/lilypond/2.24.1/fonts/source/feta-accordion.mf +575 -0
  787. data/share/lilypond/2.24.1/fonts/source/feta-alphabet-generic.mf +16 -0
  788. data/share/lilypond/2.24.1/fonts/source/feta-alphabet11.mf +6 -0
  789. data/share/lilypond/2.24.1/fonts/source/feta-alphabet13.mf +6 -0
  790. data/share/lilypond/2.24.1/fonts/source/feta-alphabet14.mf +6 -0
  791. data/share/lilypond/2.24.1/fonts/source/feta-alphabet16.mf +6 -0
  792. data/share/lilypond/2.24.1/fonts/source/feta-alphabet18.mf +6 -0
  793. data/share/lilypond/2.24.1/fonts/source/feta-alphabet20.mf +6 -0
  794. data/share/lilypond/2.24.1/fonts/source/feta-alphabet23.mf +6 -0
  795. data/share/lilypond/2.24.1/fonts/source/feta-alphabet26.mf +6 -0
  796. data/share/lilypond/2.24.1/fonts/source/feta-arrow.mf +114 -0
  797. data/share/lilypond/2.24.1/fonts/source/feta-arrowheads.mf +171 -0
  798. data/share/lilypond/2.24.1/fonts/source/feta-autometric.mf +303 -0
  799. data/share/lilypond/2.24.1/fonts/source/feta-braces-a.mf +6 -0
  800. data/share/lilypond/2.24.1/fonts/source/feta-braces-b.mf +6 -0
  801. data/share/lilypond/2.24.1/fonts/source/feta-braces-c.mf +6 -0
  802. data/share/lilypond/2.24.1/fonts/source/feta-braces-d.mf +6 -0
  803. data/share/lilypond/2.24.1/fonts/source/feta-braces-e.mf +6 -0
  804. data/share/lilypond/2.24.1/fonts/source/feta-braces-f.mf +6 -0
  805. data/share/lilypond/2.24.1/fonts/source/feta-braces-g.mf +6 -0
  806. data/share/lilypond/2.24.1/fonts/source/feta-braces-generic.mf +47 -0
  807. data/share/lilypond/2.24.1/fonts/source/feta-braces-h.mf +6 -0
  808. data/share/lilypond/2.24.1/fonts/source/feta-braces-i.mf +6 -0
  809. data/share/lilypond/2.24.1/fonts/source/feta-braces.mf +125 -0
  810. data/share/lilypond/2.24.1/fonts/source/feta-brackettips.mf +100 -0
  811. data/share/lilypond/2.24.1/fonts/source/feta-clefs.mf +963 -0
  812. data/share/lilypond/2.24.1/fonts/source/feta-dots.mf +37 -0
  813. data/share/lilypond/2.24.1/fonts/source/feta-dynamics.mf +891 -0
  814. data/share/lilypond/2.24.1/fonts/source/feta-flags-generic.mf +17 -0
  815. data/share/lilypond/2.24.1/fonts/source/feta-flags.mf +926 -0
  816. data/share/lilypond/2.24.1/fonts/source/feta-flags11.mf +6 -0
  817. data/share/lilypond/2.24.1/fonts/source/feta-flags13.mf +6 -0
  818. data/share/lilypond/2.24.1/fonts/source/feta-flags14.mf +6 -0
  819. data/share/lilypond/2.24.1/fonts/source/feta-flags16.mf +6 -0
  820. data/share/lilypond/2.24.1/fonts/source/feta-flags18.mf +6 -0
  821. data/share/lilypond/2.24.1/fonts/source/feta-flags20.mf +6 -0
  822. data/share/lilypond/2.24.1/fonts/source/feta-flags23.mf +6 -0
  823. data/share/lilypond/2.24.1/fonts/source/feta-flags26.mf +6 -0
  824. data/share/lilypond/2.24.1/fonts/source/feta-flats.mf +668 -0
  825. data/share/lilypond/2.24.1/fonts/source/feta-macros.mf +506 -0
  826. data/share/lilypond/2.24.1/fonts/source/feta-naturals.mf +223 -0
  827. data/share/lilypond/2.24.1/fonts/source/feta-noteheads-generic.mf +17 -0
  828. data/share/lilypond/2.24.1/fonts/source/feta-noteheads.mf +2642 -0
  829. data/share/lilypond/2.24.1/fonts/source/feta-noteheads11.mf +6 -0
  830. data/share/lilypond/2.24.1/fonts/source/feta-noteheads13.mf +6 -0
  831. data/share/lilypond/2.24.1/fonts/source/feta-noteheads14.mf +6 -0
  832. data/share/lilypond/2.24.1/fonts/source/feta-noteheads16.mf +6 -0
  833. data/share/lilypond/2.24.1/fonts/source/feta-noteheads18.mf +6 -0
  834. data/share/lilypond/2.24.1/fonts/source/feta-noteheads20.mf +6 -0
  835. data/share/lilypond/2.24.1/fonts/source/feta-noteheads23.mf +6 -0
  836. data/share/lilypond/2.24.1/fonts/source/feta-noteheads26.mf +6 -0
  837. data/share/lilypond/2.24.1/fonts/source/feta-numbers.mf +1677 -0
  838. data/share/lilypond/2.24.1/fonts/source/feta-other-generic.mf +27 -0
  839. data/share/lilypond/2.24.1/fonts/source/feta-params.mf +323 -0
  840. data/share/lilypond/2.24.1/fonts/source/feta-parenthesis.mf +63 -0
  841. data/share/lilypond/2.24.1/fonts/source/feta-pedals.mf +355 -0
  842. data/share/lilypond/2.24.1/fonts/source/feta-rests.mf +890 -0
  843. data/share/lilypond/2.24.1/fonts/source/feta-scripts.mf +2206 -0
  844. data/share/lilypond/2.24.1/fonts/source/feta-sharps.mf +524 -0
  845. data/share/lilypond/2.24.1/fonts/source/feta-sori-koron.mf +325 -0
  846. data/share/lilypond/2.24.1/fonts/source/feta-ties.mf +72 -0
  847. data/share/lilypond/2.24.1/fonts/source/feta-timesignatures.mf +119 -0
  848. data/share/lilypond/2.24.1/fonts/source/feta-trills.mf +321 -0
  849. data/share/lilypond/2.24.1/fonts/source/feta11.mf +6 -0
  850. data/share/lilypond/2.24.1/fonts/source/feta13.mf +6 -0
  851. data/share/lilypond/2.24.1/fonts/source/feta14.mf +6 -0
  852. data/share/lilypond/2.24.1/fonts/source/feta16.mf +6 -0
  853. data/share/lilypond/2.24.1/fonts/source/feta18.mf +6 -0
  854. data/share/lilypond/2.24.1/fonts/source/feta20.mf +7 -0
  855. data/share/lilypond/2.24.1/fonts/source/feta23.mf +6 -0
  856. data/share/lilypond/2.24.1/fonts/source/feta26.mf +6 -0
  857. data/share/lilypond/2.24.1/fonts/source/parmesan-accidentals.mf +483 -0
  858. data/share/lilypond/2.24.1/fonts/source/parmesan-clefs.mf +1636 -0
  859. data/share/lilypond/2.24.1/fonts/source/parmesan-custodes.mf +503 -0
  860. data/share/lilypond/2.24.1/fonts/source/parmesan-dots.mf +62 -0
  861. data/share/lilypond/2.24.1/fonts/source/parmesan-flags.mf +319 -0
  862. data/share/lilypond/2.24.1/fonts/source/parmesan-macros.mf +225 -0
  863. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads-generic.mf +16 -0
  864. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads.mf +2191 -0
  865. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads11.mf +6 -0
  866. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads13.mf +6 -0
  867. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads14.mf +6 -0
  868. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads16.mf +6 -0
  869. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads18.mf +6 -0
  870. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads20.mf +6 -0
  871. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads23.mf +6 -0
  872. data/share/lilypond/2.24.1/fonts/source/parmesan-noteheads26.mf +6 -0
  873. data/share/lilypond/2.24.1/fonts/source/parmesan-other-generic.mf +24 -0
  874. data/share/lilypond/2.24.1/fonts/source/parmesan-rests.mf +428 -0
  875. data/share/lilypond/2.24.1/fonts/source/parmesan-scripts.mf +284 -0
  876. data/share/lilypond/2.24.1/fonts/source/parmesan-timesignatures.mf +402 -0
  877. data/share/lilypond/2.24.1/fonts/source/parmesan11.mf +6 -0
  878. data/share/lilypond/2.24.1/fonts/source/parmesan13.mf +6 -0
  879. data/share/lilypond/2.24.1/fonts/source/parmesan14.mf +6 -0
  880. data/share/lilypond/2.24.1/fonts/source/parmesan16.mf +6 -0
  881. data/share/lilypond/2.24.1/fonts/source/parmesan18.mf +6 -0
  882. data/share/lilypond/2.24.1/fonts/source/parmesan20.mf +6 -0
  883. data/share/lilypond/2.24.1/fonts/source/parmesan23.mf +6 -0
  884. data/share/lilypond/2.24.1/fonts/source/parmesan26.mf +6 -0
  885. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.svg +2525 -0
  886. data/share/lilypond/2.24.1/fonts/svg/emmentaler-11.woff +0 -0
  887. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.svg +2530 -0
  888. data/share/lilypond/2.24.1/fonts/svg/emmentaler-13.woff +0 -0
  889. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.svg +2526 -0
  890. data/share/lilypond/2.24.1/fonts/svg/emmentaler-14.woff +0 -0
  891. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.svg +2523 -0
  892. data/share/lilypond/2.24.1/fonts/svg/emmentaler-16.woff +0 -0
  893. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.svg +2519 -0
  894. data/share/lilypond/2.24.1/fonts/svg/emmentaler-18.woff +0 -0
  895. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.svg +2512 -0
  896. data/share/lilypond/2.24.1/fonts/svg/emmentaler-20.woff +0 -0
  897. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.svg +2506 -0
  898. data/share/lilypond/2.24.1/fonts/svg/emmentaler-23.woff +0 -0
  899. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.svg +2510 -0
  900. data/share/lilypond/2.24.1/fonts/svg/emmentaler-26.woff +0 -0
  901. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.svg +1757 -0
  902. data/share/lilypond/2.24.1/fonts/svg/emmentaler-brace.woff +0 -0
  903. data/share/lilypond/2.24.1/ly/Welcome_to_LilyPond.ly +45 -0
  904. data/share/lilypond/2.24.1/ly/arabic.ly +185 -0
  905. data/share/lilypond/2.24.1/ly/articulate.ly +1013 -0
  906. data/share/lilypond/2.24.1/ly/bagpipe.ly +368 -0
  907. data/share/lilypond/2.24.1/ly/base-tkit.ly +135 -0
  908. data/share/lilypond/2.24.1/ly/catalan.ly +23 -0
  909. data/share/lilypond/2.24.1/ly/chord-modifiers-init.ly +63 -0
  910. data/share/lilypond/2.24.1/ly/chord-repetition-init.ly +60 -0
  911. data/share/lilypond/2.24.1/ly/context-mods-init.ly +119 -0
  912. data/share/lilypond/2.24.1/ly/declarations-init.ly +167 -0
  913. data/share/lilypond/2.24.1/ly/deutsch.ly +23 -0
  914. data/share/lilypond/2.24.1/ly/drumpitch-init.ly +366 -0
  915. data/share/lilypond/2.24.1/ly/dynamic-scripts-init.ly +54 -0
  916. data/share/lilypond/2.24.1/ly/english.ly +23 -0
  917. data/share/lilypond/2.24.1/ly/engraver-init.ly +1619 -0
  918. data/share/lilypond/2.24.1/ly/espanol.ly +23 -0
  919. data/share/lilypond/2.24.1/ly/event-listener.ly +241 -0
  920. data/share/lilypond/2.24.1/ly/festival.ly +38 -0
  921. data/share/lilypond/2.24.1/ly/generate-documentation.ly +7 -0
  922. data/share/lilypond/2.24.1/ly/grace-init.ly +56 -0
  923. data/share/lilypond/2.24.1/ly/graphviz-init.ly +174 -0
  924. data/share/lilypond/2.24.1/ly/gregorian.ly +268 -0
  925. data/share/lilypond/2.24.1/ly/guile-debugger.ly +55 -0
  926. data/share/lilypond/2.24.1/ly/hel-arabic.ly +307 -0
  927. data/share/lilypond/2.24.1/ly/init.ly +96 -0
  928. data/share/lilypond/2.24.1/ly/italiano.ly +23 -0
  929. data/share/lilypond/2.24.1/ly/lilypond-book-preamble.ly +47 -0
  930. data/share/lilypond/2.24.1/ly/lyrics-tkit.ly +68 -0
  931. data/share/lilypond/2.24.1/ly/makam.ly +166 -0
  932. data/share/lilypond/2.24.1/ly/midi-init.ly +59 -0
  933. data/share/lilypond/2.24.1/ly/music-functions-init.ly +2254 -0
  934. data/share/lilypond/2.24.1/ly/nederlands.ly +23 -0
  935. data/share/lilypond/2.24.1/ly/norsk.ly +23 -0
  936. data/share/lilypond/2.24.1/ly/paper-defaults-init.ly +188 -0
  937. data/share/lilypond/2.24.1/ly/performer-init.ly +398 -0
  938. data/share/lilypond/2.24.1/ly/persian.ly +335 -0
  939. data/share/lilypond/2.24.1/ly/piano-tkit.ly +61 -0
  940. data/share/lilypond/2.24.1/ly/portugues.ly +23 -0
  941. data/share/lilypond/2.24.1/ly/predefined-fretboards-init.ly +78 -0
  942. data/share/lilypond/2.24.1/ly/predefined-guitar-fretboards.ly +506 -0
  943. data/share/lilypond/2.24.1/ly/predefined-guitar-ninth-fretboards.ly +75 -0
  944. data/share/lilypond/2.24.1/ly/predefined-mandolin-fretboards.ly +876 -0
  945. data/share/lilypond/2.24.1/ly/predefined-ukulele-fretboards.ly +1285 -0
  946. data/share/lilypond/2.24.1/ly/property-init.ly +858 -0
  947. data/share/lilypond/2.24.1/ly/satb.ly +214 -0
  948. data/share/lilypond/2.24.1/ly/scale-definitions-init.ly +117 -0
  949. data/share/lilypond/2.24.1/ly/scheme-sandbox.ly +39 -0
  950. data/share/lilypond/2.24.1/ly/script-init.ly +94 -0
  951. data/share/lilypond/2.24.1/ly/spanners-init.ly +146 -0
  952. data/share/lilypond/2.24.1/ly/ssaattbb.ly +335 -0
  953. data/share/lilypond/2.24.1/ly/staff-tkit.ly +182 -0
  954. data/share/lilypond/2.24.1/ly/string-tunings-init.ly +94 -0
  955. data/share/lilypond/2.24.1/ly/suomi.ly +23 -0
  956. data/share/lilypond/2.24.1/ly/svenska.ly +23 -0
  957. data/share/lilypond/2.24.1/ly/swing.ly +362 -0
  958. data/share/lilypond/2.24.1/ly/text-replacements.ly +150 -0
  959. data/share/lilypond/2.24.1/ly/titling-init.ly +150 -0
  960. data/share/lilypond/2.24.1/ly/toc-init.ly +182 -0
  961. data/share/lilypond/2.24.1/ly/turkish-makam.ly +609 -0
  962. data/share/lilypond/2.24.1/ly/vlaams.ly +23 -0
  963. data/share/lilypond/2.24.1/ly/vocal-tkit.ly +103 -0
  964. data/share/lilypond/2.24.1/ly/voice-tkit.ly +34 -0
  965. data/share/lilypond/2.24.1/ps/encodingdefs.ps +2611 -0
  966. data/share/lilypond/2.24.1/ps/lilyponddefs.ps +49 -0
  967. data/share/lilypond/2.24.1/ps/music-drawing-routines.ps +329 -0
  968. data/share/lilypond/2.24.1/python/__pycache__/book_base.cpython-310.pyc +0 -0
  969. data/share/lilypond/2.24.1/python/__pycache__/book_docbook.cpython-310.pyc +0 -0
  970. data/share/lilypond/2.24.1/python/__pycache__/book_html.cpython-310.pyc +0 -0
  971. data/share/lilypond/2.24.1/python/__pycache__/book_latex.cpython-310.pyc +0 -0
  972. data/share/lilypond/2.24.1/python/__pycache__/book_snippets.cpython-310.pyc +0 -0
  973. data/share/lilypond/2.24.1/python/__pycache__/book_texinfo.cpython-310.pyc +0 -0
  974. data/share/lilypond/2.24.1/python/__pycache__/convertrules.cpython-310.pyc +0 -0
  975. data/share/lilypond/2.24.1/python/__pycache__/langdefs.cpython-310.pyc +0 -0
  976. data/share/lilypond/2.24.1/python/__pycache__/lilylib.cpython-310.pyc +0 -0
  977. data/share/lilypond/2.24.1/python/__pycache__/midi.cpython-310.pyc +0 -0
  978. data/share/lilypond/2.24.1/python/__pycache__/musicexp.cpython-310.pyc +0 -0
  979. data/share/lilypond/2.24.1/python/__pycache__/musicxml.cpython-310.pyc +0 -0
  980. data/share/lilypond/2.24.1/python/__pycache__/musicxml2ly_conversion.cpython-310.pyc +0 -0
  981. data/share/lilypond/2.24.1/python/__pycache__/utilities.cpython-310.pyc +0 -0
  982. data/share/lilypond/2.24.1/python/book_base.py +331 -0
  983. data/share/lilypond/2.24.1/python/book_docbook.py +154 -0
  984. data/share/lilypond/2.24.1/python/book_html.py +178 -0
  985. data/share/lilypond/2.24.1/python/book_latex.py +373 -0
  986. data/share/lilypond/2.24.1/python/book_snippets.py +1052 -0
  987. data/share/lilypond/2.24.1/python/book_texinfo.py +437 -0
  988. data/share/lilypond/2.24.1/python/convertrules.py +4764 -0
  989. data/share/lilypond/2.24.1/python/langdefs.py +131 -0
  990. data/share/lilypond/2.24.1/python/lilylib.py +141 -0
  991. data/share/lilypond/2.24.1/python/midi.py +212 -0
  992. data/share/lilypond/2.24.1/python/musicexp.py +2781 -0
  993. data/share/lilypond/2.24.1/python/musicxml.py +1905 -0
  994. data/share/lilypond/2.24.1/python/musicxml2ly_conversion.py +80 -0
  995. data/share/lilypond/2.24.1/python/utilities.py +280 -0
  996. data/share/lilypond/2.24.1/scm/lily/accreg.scm +579 -0
  997. data/share/lilypond/2.24.1/scm/lily/auto-beam.scm +163 -0
  998. data/share/lilypond/2.24.1/scm/lily/autochange.scm +100 -0
  999. data/share/lilypond/2.24.1/scm/lily/backend-library.scm +593 -0
  1000. data/share/lilypond/2.24.1/scm/lily/bar-line.scm +1281 -0
  1001. data/share/lilypond/2.24.1/scm/lily/breath.scm +74 -0
  1002. data/share/lilypond/2.24.1/scm/lily/c++.scm +174 -0
  1003. data/share/lilypond/2.24.1/scm/lily/chord-entry.scm +278 -0
  1004. data/share/lilypond/2.24.1/scm/lily/chord-ignatzek-names.scm +304 -0
  1005. data/share/lilypond/2.24.1/scm/lily/chord-name.scm +217 -0
  1006. data/share/lilypond/2.24.1/scm/lily/clip-region.scm +87 -0
  1007. data/share/lilypond/2.24.1/scm/lily/color.scm +757 -0
  1008. data/share/lilypond/2.24.1/scm/lily/curried-definitions.scm +68 -0
  1009. data/share/lilypond/2.24.1/scm/lily/define-context-properties.scm +939 -0
  1010. data/share/lilypond/2.24.1/scm/lily/define-event-classes.scm +142 -0
  1011. data/share/lilypond/2.24.1/scm/lily/define-grob-interfaces.scm +640 -0
  1012. data/share/lilypond/2.24.1/scm/lily/define-grob-properties.scm +1647 -0
  1013. data/share/lilypond/2.24.1/scm/lily/define-grobs.scm +4027 -0
  1014. data/share/lilypond/2.24.1/scm/lily/define-markup-commands.scm +5737 -0
  1015. data/share/lilypond/2.24.1/scm/lily/define-music-callbacks.scm +257 -0
  1016. data/share/lilypond/2.24.1/scm/lily/define-music-display-methods.scm +1350 -0
  1017. data/share/lilypond/2.24.1/scm/lily/define-music-properties.scm +242 -0
  1018. data/share/lilypond/2.24.1/scm/lily/define-music-types.scm +983 -0
  1019. data/share/lilypond/2.24.1/scm/lily/define-note-names.scm +1421 -0
  1020. data/share/lilypond/2.24.1/scm/lily/define-stencil-commands.scm +71 -0
  1021. data/share/lilypond/2.24.1/scm/lily/define-woodwind-diagrams.scm +1215 -0
  1022. data/share/lilypond/2.24.1/scm/lily/display-lily.scm +315 -0
  1023. data/share/lilypond/2.24.1/scm/lily/display-woodwind-diagrams.scm +1985 -0
  1024. data/share/lilypond/2.24.1/scm/lily/document-backend.scm +307 -0
  1025. data/share/lilypond/2.24.1/scm/lily/document-context-mods.scm +98 -0
  1026. data/share/lilypond/2.24.1/scm/lily/document-functions.scm +169 -0
  1027. data/share/lilypond/2.24.1/scm/lily/document-identifiers.scm +76 -0
  1028. data/share/lilypond/2.24.1/scm/lily/document-markup.scm +158 -0
  1029. data/share/lilypond/2.24.1/scm/lily/document-music.scm +146 -0
  1030. data/share/lilypond/2.24.1/scm/lily/document-outside-staff-priorities.scm +40 -0
  1031. data/share/lilypond/2.24.1/scm/lily/document-paper-sizes.scm +71 -0
  1032. data/share/lilypond/2.24.1/scm/lily/document-translation.scm +318 -0
  1033. data/share/lilypond/2.24.1/scm/lily/document-type-predicates.scm +85 -0
  1034. data/share/lilypond/2.24.1/scm/lily/documentation-generate.scm +259 -0
  1035. data/share/lilypond/2.24.1/scm/lily/documentation-lib.scm +207 -0
  1036. data/share/lilypond/2.24.1/scm/lily/file-cache.scm +28 -0
  1037. data/share/lilypond/2.24.1/scm/lily/flag-styles.scm +249 -0
  1038. data/share/lilypond/2.24.1/scm/lily/font-encodings.scm +1242 -0
  1039. data/share/lilypond/2.24.1/scm/lily/font.scm +303 -0
  1040. data/share/lilypond/2.24.1/scm/lily/framework-cairo.scm +26 -0
  1041. data/share/lilypond/2.24.1/scm/lily/framework-ps.scm +896 -0
  1042. data/share/lilypond/2.24.1/scm/lily/framework-svg.scm +172 -0
  1043. data/share/lilypond/2.24.1/scm/lily/fret-diagrams.scm +1261 -0
  1044. data/share/lilypond/2.24.1/scm/lily/graphviz.scm +78 -0
  1045. data/share/lilypond/2.24.1/scm/lily/guile-debugger.scm +90 -0
  1046. data/share/lilypond/2.24.1/scm/lily/harp-pedals.scm +172 -0
  1047. data/share/lilypond/2.24.1/scm/lily/hyphenate-internal-words.scm +51 -0
  1048. data/share/lilypond/2.24.1/scm/lily/layout-beam.scm +73 -0
  1049. data/share/lilypond/2.24.1/scm/lily/layout-slur.scm +45 -0
  1050. data/share/lilypond/2.24.1/scm/lily/lily-library.scm +1446 -0
  1051. data/share/lilypond/2.24.1/scm/lily/lily-sort.scm +116 -0
  1052. data/share/lilypond/2.24.1/scm/lily/lily.scm +929 -0
  1053. data/share/lilypond/2.24.1/scm/lily/ly-syntax-constructors.scm +374 -0
  1054. data/share/lilypond/2.24.1/scm/lily/markup-macros.scm +493 -0
  1055. data/share/lilypond/2.24.1/scm/lily/markup.scm +126 -0
  1056. data/share/lilypond/2.24.1/scm/lily/midi.scm +258 -0
  1057. data/share/lilypond/2.24.1/scm/lily/modal-transforms.scm +337 -0
  1058. data/share/lilypond/2.24.1/scm/lily/music-functions.scm +2878 -0
  1059. data/share/lilypond/2.24.1/scm/lily/output-lib.scm +3377 -0
  1060. data/share/lilypond/2.24.1/scm/lily/output-ps.scm +335 -0
  1061. data/share/lilypond/2.24.1/scm/lily/output-svg.scm +684 -0
  1062. data/share/lilypond/2.24.1/scm/lily/page.scm +321 -0
  1063. data/share/lilypond/2.24.1/scm/lily/paper-system.scm +271 -0
  1064. data/share/lilypond/2.24.1/scm/lily/paper.scm +376 -0
  1065. data/share/lilypond/2.24.1/scm/lily/parser-clef.scm +205 -0
  1066. data/share/lilypond/2.24.1/scm/lily/parser-ly-from-scheme.scm +170 -0
  1067. data/share/lilypond/2.24.1/scm/lily/part-combiner.scm +998 -0
  1068. data/share/lilypond/2.24.1/scm/lily/predefined-fretboards.scm +54 -0
  1069. data/share/lilypond/2.24.1/scm/lily/ps-to-png.scm +182 -0
  1070. data/share/lilypond/2.24.1/scm/lily/scheme-engravers.scm +1813 -0
  1071. data/share/lilypond/2.24.1/scm/lily/scheme-performers.scm +126 -0
  1072. data/share/lilypond/2.24.1/scm/lily/script.scm +416 -0
  1073. data/share/lilypond/2.24.1/scm/lily/skyline.scm +25 -0
  1074. data/share/lilypond/2.24.1/scm/lily/song-util.scm +191 -0
  1075. data/share/lilypond/2.24.1/scm/lily/song.scm +853 -0
  1076. data/share/lilypond/2.24.1/scm/lily/stencil.scm +998 -0
  1077. data/share/lilypond/2.24.1/scm/lily/tablature.scm +392 -0
  1078. data/share/lilypond/2.24.1/scm/lily/time-signature-settings.scm +473 -0
  1079. data/share/lilypond/2.24.1/scm/lily/time-signature.scm +35 -0
  1080. data/share/lilypond/2.24.1/scm/lily/titling.scm +99 -0
  1081. data/share/lilypond/2.24.1/scm/lily/to-xml.scm +254 -0
  1082. data/share/lilypond/2.24.1/scm/lily/translation-functions.scm +1169 -0
  1083. data/share/lilypond/2.24.1/vim/compiler/lilypond.vim +36 -0
  1084. data/share/lilypond/2.24.1/vim/ftdetect/lilypond.vim +4 -0
  1085. data/share/lilypond/2.24.1/vim/ftplugin/lilypond.vim +91 -0
  1086. data/share/lilypond/2.24.1/vim/indent/lilypond.vim +79 -0
  1087. data/share/lilypond/2.24.1/vim/syntax/lilypond-words +1408 -0
  1088. data/share/lilypond/2.24.1/vim/syntax/lilypond-words.vim +3 -0
  1089. data/share/lilypond/2.24.1/vim/syntax/lilypond.vim +104 -0
  1090. data/share/locale/ca/LC_MESSAGES/lilypond.mo +0 -0
  1091. data/share/locale/cs/LC_MESSAGES/lilypond.mo +0 -0
  1092. data/share/locale/da/LC_MESSAGES/lilypond.mo +0 -0
  1093. data/share/locale/de/LC_MESSAGES/lilypond.mo +0 -0
  1094. data/share/locale/el/LC_MESSAGES/lilypond.mo +0 -0
  1095. data/share/locale/eo/LC_MESSAGES/lilypond.mo +0 -0
  1096. data/share/locale/es/LC_MESSAGES/lilypond.mo +0 -0
  1097. data/share/locale/fi/LC_MESSAGES/lilypond.mo +0 -0
  1098. data/share/locale/fr/LC_MESSAGES/lilypond.mo +0 -0
  1099. data/share/locale/it/LC_MESSAGES/lilypond.mo +0 -0
  1100. data/share/locale/ja/LC_MESSAGES/lilypond.mo +0 -0
  1101. data/share/locale/nl/LC_MESSAGES/lilypond.mo +0 -0
  1102. data/share/locale/ru/LC_MESSAGES/lilypond.mo +0 -0
  1103. data/share/locale/sv/LC_MESSAGES/lilypond.mo +0 -0
  1104. data/share/locale/tr/LC_MESSAGES/lilypond.mo +0 -0
  1105. data/share/locale/uk/LC_MESSAGES/lilypond.mo +0 -0
  1106. data/share/locale/vi/LC_MESSAGES/lilypond.mo +0 -0
  1107. data/share/locale/zh_CN/LC_MESSAGES/lilypond.mo +0 -0
  1108. data/share/locale/zh_TW/LC_MESSAGES/lilypond.mo +0 -0
  1109. metadata +1108 -1
@@ -0,0 +1,1636 @@
1
+ % Feta (not the Font-En-Tja) music font -- ancient clefs
2
+ % This file is part of LilyPond, the GNU music typesetter.
3
+ %
4
+ % Copyright (C) 2001--2022 Juergen Reuter <reuter@ipd.uka.de>
5
+ %
6
+ % The LilyPond font is free software: you can redistribute it and/or modify
7
+ % it under the terms of the GNU General Public License as published by
8
+ % the Free Software Foundation, either version 3 of the License, or
9
+ % (at your option) any later version, or under the SIL Open Font License.
10
+ %
11
+ % LilyPond is distributed in the hope that it will be useful,
12
+ % but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ % GNU General Public License for more details.
15
+ %
16
+ % You should have received a copy of the GNU General Public License
17
+ % along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ fet_begingroup ("clefs");
20
+
21
+ %
22
+ % character aligment:
23
+ %
24
+ % Each clef is associated with a particular pitch: the treble clef
25
+ % with the `g', the alto clef with the `c', the bass clef with the
26
+ % `f', etc. The shape of each clef character defines a vertical
27
+ % position that is assumed to represent this pitch. For the treble
28
+ % clef, it is the vertical position of the center of the spiral
29
+ % ending that represents the `g' pitch. For the bass clef, it is
30
+ % the center between the two fat dots that define the vertical
31
+ % position of the `f' pitch. For the alto clef, it is the vertical
32
+ % center of the clef that is aligned with the `c' pitch. For each
33
+ % clef character, this center should be vertically aligned with the
34
+ % point (0, 0). The horizontal alignment of each clef character
35
+ % should be such that the vertical line through the point (0, 0)
36
+ % touches the left-most edge of the clef.
37
+ %
38
+ % TODO: document exact_center
39
+ %
40
+ % set_char_box() conventions:
41
+ %
42
+ % * breapth: Ignored (as far as I know). Should be set to 0.
43
+ %
44
+ % * width: Should match the clef's width.
45
+ %
46
+ % * depth: Should match the bottom edge of the clef. Affects vertical
47
+ % collision handling.
48
+ %
49
+ % * height: Should match the top edge of the clef. Affects vertical
50
+ % collision handling.
51
+ %
52
+
53
+
54
+ %%%%%%%%
55
+ %
56
+ %
57
+ %
58
+ % Editio Vaticana
59
+ %
60
+ %
61
+ %
62
+ def draw_vaticana_do_clef (expr exact_center, reduction) =
63
+ save reduced_il;
64
+
65
+ reduced_il# = staff_space# * reduction;
66
+
67
+ set_char_box (0 - xpart exact_center,
68
+ 0.5 reduced_il# + xpart exact_center,
69
+ 0.8 reduced_il# - ypart exact_center,
70
+ 0.8 reduced_il# + ypart exact_center);
71
+
72
+ define_pixels (reduced_il);
73
+
74
+ save pat, ellipse, clef, T;
75
+ path pat, ellipse, clef;
76
+ transform T;
77
+
78
+ T := identity xscaled 0.6 linethickness
79
+ yscaled 0.6 reduced_il;
80
+ pickup pencircle transformed T;
81
+ ellipse := reverse fullcircle transformed T;
82
+
83
+ save xoffs, yoffs;
84
+
85
+ xoffs# = xpart exact_center;
86
+ yoffs# = ypart exact_center;
87
+
88
+ define_pixels (xoffs, yoffs);
89
+
90
+ rt z11 = (xoffs + 0.50 reduced_il, yoffs - .45 reduced_il);
91
+ z12 = (xoffs + 0.25 reduced_il, yoffs - .50 reduced_il);
92
+ lft z13 = (xoffs + 0.00 reduced_il, yoffs - .28 reduced_il);
93
+ lft z14 = (xoffs, yoffs);
94
+
95
+ pat := z11
96
+ .. z12
97
+ .. z13
98
+ -- z14;
99
+
100
+ save shift;
101
+ pair shift;
102
+
103
+ % adjust vertically to fit into bounding box
104
+ shift = find_tangent_shift (((0, -d + 0.3 reduced_il)
105
+ -- (w, -d + 0.3 reduced_il)), pat,
106
+ (0, -d / 2), (0, d / 2));
107
+ pat := pat shifted shift;
108
+
109
+ clef := rt z14{down}
110
+ .. top (point 1 of pat)
111
+ .. get_subpath (ellipse,
112
+ -direction 0 of pat, direction 0 of pat,
113
+ point 0 of pat)
114
+ .. bot (point 1 of pat)
115
+ .. get_subpath (ellipse,
116
+ direction 2 of pat, up,
117
+ point 2 of pat);
118
+
119
+ fill clef
120
+ -- reverse clef yscaled -1
121
+ -- cycle;
122
+
123
+ labels (11, 12, 13, 14);
124
+ enddef;
125
+
126
+
127
+ fet_beginchar ("Ed. Vat. Do clef", "vaticana.do");
128
+ draw_staff_if_debugging (-1, 3);
129
+ draw_vaticana_do_clef ((0, 0), 1.0);
130
+ fet_endchar;
131
+
132
+
133
+ fet_beginchar ("Ed. Vat. Do clef (reduced)", "vaticana.do_change");
134
+ draw_vaticana_do_clef ((0, 0), 1.0); % no reduction
135
+ fet_endchar;
136
+
137
+
138
+ def draw_vaticana_fa_clef (expr exact_center, reduction) =
139
+ save reduced_il, xoffs, yoffs;
140
+
141
+ reduced_il# = staff_space# * reduction;
142
+ xoffs# = xpart exact_center;
143
+ yoffs# = ypart exact_center;
144
+
145
+ define_pixels (reduced_il, xoffs, yoffs);
146
+
147
+ % left-handed punctum
148
+ save ellipse, pat, T;
149
+ path ellipse, pat;
150
+ transform T;
151
+
152
+ T := identity xscaled 0.6 linethickness
153
+ yscaled 0.5 reduced_il;
154
+ pickup pencircle transformed T;
155
+ ellipse := reverse fullcircle transformed T;
156
+
157
+ lft z21 = (xoffs + 0.00 reduced_il, yoffs + 0.00 reduced_il);
158
+ z22 = (xoffs + 0.25 reduced_il, yoffs + 0.05 reduced_il);
159
+ rt z23 = (xoffs + 0.50 reduced_il, yoffs - 0.05 reduced_il);
160
+
161
+ pat := z21
162
+ .. z22
163
+ .. z23;
164
+
165
+ fill get_subpath (ellipse,
166
+ -direction 0 of pat, direction 0 of pat, z21)
167
+ .. top z22
168
+ .. get_subpath (ellipse,
169
+ direction 2 of pat, -direction 2 of pat, z23)
170
+ .. bot z22
171
+ .. cycle;
172
+
173
+ % stem
174
+ pickup pencircle scaled 0.6 linethickness;
175
+
176
+ x23 = x24;
177
+ yoffs = bot y24 + 1.5 reduced_il;
178
+
179
+ draw_rounded_block (bot lft z24, top rt z23, 0.6 linethickness);
180
+
181
+ labels (21, 22, 23, 24);
182
+
183
+ % right-handed puncta as in do clef
184
+ draw_vaticana_do_clef (exact_center + (0.55 reduced_il#, 0),
185
+ reduction);
186
+
187
+ set_char_box (0 - xpart exact_center,
188
+ 1.05 reduced_il# + xpart exact_center,
189
+ 1.5 reduced_il# - ypart exact_center,
190
+ 0.8 reduced_il# + ypart exact_center);
191
+ enddef;
192
+
193
+
194
+ fet_beginchar ("Ed. Vat. Fa clef", "vaticana.fa");
195
+ draw_staff_if_debugging (-1, 3);
196
+ draw_vaticana_fa_clef ((0, 0), 1.0);
197
+ fet_endchar;
198
+
199
+
200
+ fet_beginchar ("Ed. Vat. Fa clef (reduced)", "vaticana.fa_change");
201
+ draw_vaticana_fa_clef ((0, 0), 1.0); % no reduction
202
+ fet_endchar;
203
+
204
+
205
+ %%%%%%%%
206
+ %
207
+ %
208
+ %
209
+ % Editio Medicaea
210
+ %
211
+ %
212
+ %
213
+ def draw_medicaea_do_clef (expr exact_center, reduction) =
214
+ save reduced_il, reduced_slt;
215
+
216
+ reduced_il# = staff_space# * reduction;
217
+ reduced_slt# = linethickness# * reduction;
218
+
219
+ define_pixels (reduced_il);
220
+ define_pixels (reduced_slt);
221
+
222
+ set_char_box (0 - xpart exact_center,
223
+ 1.0 reduced_il# + xpart exact_center,
224
+ 1.5 reduced_il# - ypart exact_center,
225
+ 1.5 reduced_il# + ypart exact_center);
226
+
227
+ save flag_height;
228
+
229
+ flag_height# = 0.5 reduced_il#;
230
+
231
+ define_pixels (flag_height);
232
+
233
+ save xoffs, yoffs;
234
+
235
+ xoffs# = xpart exact_center;
236
+ yoffs# = ypart exact_center;
237
+
238
+ define_pixels (xoffs, yoffs);
239
+
240
+ % flags
241
+ save ellipse, T;
242
+ path ellipse;
243
+ transform T;
244
+
245
+ T := identity xscaled reduced_slt
246
+ yscaled flag_height;
247
+ pickup pencircle transformed T;
248
+ ellipse := reverse fullcircle transformed T;
249
+
250
+ xoffs = lft x1 = rt x2 - reduced_il;
251
+ y1 = yoffs + 0.5 (reduced_il - flag_height - staff_space);
252
+ y2 = y1 - reduced_il + flag_height;
253
+
254
+ fill top z1
255
+ -- get_subpath (ellipse, z2 - z1, z1 - z2, z2)
256
+ -- bot z1
257
+ -- cycle;
258
+
259
+ xoffs = lft x3 = rt x4 - reduced_il;
260
+ y3 = yoffs + 0.5 (reduced_il - flag_height + staff_space);
261
+ y4 = y3 - reduced_il + flag_height;
262
+
263
+ fill top z3
264
+ -- get_subpath (ellipse, z4 - z3, z3 - z4, z4)
265
+ -- bot z3
266
+ -- cycle;
267
+
268
+ % stem
269
+ pickup pencircle scaled reduced_slt;
270
+
271
+ lft x5 = lft x6 = xoffs;
272
+ yoffs = top y6 - 1.5 reduced_il = bot y5 + 1.5 reduced_il;
273
+
274
+ draw_rounded_block (bot lft z5, top rt z6, reduced_slt);
275
+
276
+ labels (1, 2, 3, 4, 5, 6);
277
+ enddef;
278
+
279
+
280
+ fet_beginchar ("Ed. Med. Do clef", "medicaea.do");
281
+ draw_staff_if_debugging (-1, 3);
282
+ draw_medicaea_do_clef ((0, 0), 1.0);
283
+ fet_endchar;
284
+
285
+
286
+ fet_beginchar ("Ed. Med. Do clef (reduced)", "medicaea.do_change");
287
+ draw_medicaea_do_clef ((0, 0), .8);
288
+ fet_endchar;
289
+
290
+
291
+ def draw_medicaea_fa_clef (expr exact_center, reduction) =
292
+ % inspired by Regensburger Edition of Medicaea (1885/86), in:
293
+ % MGG, volume 2, col. 1327 ("Choralreform"), fig. 2.
294
+
295
+ save reduced_il, reduced_slt;
296
+
297
+ reduced_il# = staff_space# * reduction;
298
+ reduced_slt# = linethickness# * reduction;
299
+
300
+ define_pixels (reduced_il);
301
+ define_pixels (reduced_slt);
302
+
303
+ save xoffs, yoffs;
304
+
305
+ xoffs# = xpart exact_center;
306
+ yoffs# = ypart exact_center;
307
+
308
+ define_pixels (xoffs, yoffs);
309
+
310
+ % stem
311
+ pickup pencircle scaled reduced_slt;
312
+
313
+ x11 = x12 = xoffs + 0.4 reduced_il;
314
+ y11 = yoffs = bot y12 + 1.5 reduced_il;
315
+
316
+ draw_rounded_block (bot lft z12, top rt z11, reduced_slt);
317
+
318
+ % left-handed punctum
319
+ save ellipse, T;
320
+ path ellipse;
321
+ transform T;
322
+
323
+ T := identity xscaled reduced_slt
324
+ yscaled reduced_il;
325
+ pickup pencircle transformed T;
326
+ ellipse := reverse fullcircle transformed T;
327
+
328
+ lft z13 = (xoffs, yoffs);
329
+ rt z14 = z11 + (reduced_slt / 2, 0);
330
+
331
+ fill get_subpath (ellipse, left, right, z13)
332
+ -- get_subpath (ellipse, right, left, z14)
333
+ -- cycle;
334
+
335
+ labels (11, 12, 13, 14);
336
+
337
+ % right-handed puncta as in do clef
338
+ draw_medicaea_do_clef (exact_center + (0.7 reduced_il#, 0),
339
+ reduction);
340
+
341
+ set_char_box (0 - xpart exact_center,
342
+ 1.7 reduced_il# + xpart exact_center,
343
+ 1.5 reduced_il# - ypart exact_center,
344
+ 1.5 reduced_il# + ypart exact_center);
345
+ enddef;
346
+
347
+
348
+ fet_beginchar ("Ed. Med. Fa clef", "medicaea.fa");
349
+ draw_staff_if_debugging (-1, 3);
350
+ draw_medicaea_fa_clef ((0, 0), 1.0);
351
+ fet_endchar;
352
+
353
+
354
+ fet_beginchar ("Ed. Med. Fa clef (reduced)", "medicaea.fa_change");
355
+ draw_medicaea_fa_clef ((0, 0), .8);
356
+ fet_endchar;
357
+
358
+
359
+ %%%%%%%%
360
+ %
361
+ %
362
+ %
363
+ % Mensural Notation
364
+ %
365
+ %
366
+ %
367
+
368
+ %
369
+ % width: interval from left end to right end
370
+ % height: interval from bottom of lower beam to top of upper beam
371
+ % exact_center: the coordinates of the vertical center point of the
372
+ % left edge.
373
+ %
374
+ def draw_brevis (expr exact_center, bwidth, bheight, blinethickness) =
375
+ save brevis_width, brevis_height, linethickness;
376
+
377
+ brevis_width# = bwidth;
378
+ brevis_height# = bheight;
379
+ linethickness# = blinethickness;
380
+
381
+ save beam_width, beam_height;
382
+ save serif_size, serif_protrude, hole_height;
383
+
384
+ beam_width# = 1.4 linethickness#;
385
+ hole_height# = 3 linethickness#;
386
+ 2 beam_height# + hole_height# = brevis_height#;
387
+ serif_size# = (hole_height# - linethickness#) / 2;
388
+ serif_protrude# = 1.5 serif_size#;
389
+
390
+ save xoffs, yoffs;
391
+
392
+ xoffs# = xpart exact_center;
393
+ yoffs# = ypart exact_center;
394
+
395
+ define_pixels (xoffs, yoffs);
396
+ define_pixels (brevis_width, brevis_height, linethickness);
397
+ define_pixels (beam_width, beam_height, serif_size, serif_protrude);
398
+
399
+ z1l = (xoffs, yoffs - linethickness);
400
+ z2r = z1r + serif_size * (1, -1);
401
+ z3l = z2l + (-serif_size, -serif_protrude);
402
+
403
+ penpos1 (beam_width, 0);
404
+ penpos2 (beam_height, 90);
405
+ penpos3 (beam_width, 180);
406
+
407
+ save pat_in, pat_out;
408
+ path pat_in, pat_out;
409
+
410
+ pat_out := z3r{down}
411
+ .. z3l{up}
412
+ .. z2l{right};
413
+ pat_out := pat_out
414
+ -- reverse pat_out xscaled -1
415
+ shifted (2 xoffs + brevis_width, 0);
416
+ pat_out := pat_out
417
+ -- reverse pat_out yscaled -1
418
+ shifted (0, 2 yoffs)
419
+ -- cycle;
420
+
421
+ pat_in := z1r{down}
422
+ .. z2r{right};
423
+ pat_in := pat_in
424
+ -- reverse pat_in xscaled -1
425
+ shifted (2 xoffs + brevis_width, 0);
426
+ pat_in := pat_in
427
+ -- reverse pat_in yscaled -1
428
+ shifted (0, 2 yoffs)
429
+ -- cycle;
430
+
431
+ fill pat_out;
432
+ unfill pat_in;
433
+
434
+ penlabels (1, 2, 3);
435
+ enddef;
436
+
437
+
438
+ %
439
+ % Draw two brevis notes; the second one shifted down by `shift'.
440
+ % The other parameters are the same as with `draw_brevis'.
441
+ %
442
+ def draw_double_brevis (expr exact_center, bwidth, bheight,
443
+ blinethickness, shift) =
444
+ save brevis_width, brevis_height, linethickness;
445
+
446
+ brevis_width# = bwidth;
447
+ brevis_height# = bheight;
448
+ linethickness# = blinethickness;
449
+
450
+ save beam_width, beam_height;
451
+ save serif_size, serif_protrude, hole_height;
452
+
453
+ beam_width# = 1.4 linethickness#;
454
+ hole_height# = 3 linethickness#;
455
+ 2 beam_height# + hole_height# = brevis_height#;
456
+ serif_size# = (hole_height# - linethickness#) / 2;
457
+ serif_protrude# = 1.5 serif_size#;
458
+
459
+ save xoffs, yoffs;
460
+
461
+ xoffs# = xpart exact_center;
462
+ yoffs# = ypart exact_center;
463
+
464
+ define_pixels (xoffs, yoffs);
465
+ define_pixels (brevis_width, brevis_height, linethickness);
466
+ define_pixels (beam_width, beam_height, serif_size, serif_protrude);
467
+
468
+ z1l = (xoffs, yoffs - linethickness);
469
+ z2r = z1r + serif_size * (1, -1);
470
+ z3l = z2l + (-serif_size, -serif_protrude);
471
+
472
+ penpos1 (beam_width, 0);
473
+ penpos2 (beam_height, 90);
474
+ penpos3 (beam_width, 180);
475
+
476
+ z4 = z1 shifted (0, -shift);
477
+ z5 = z2 shifted (0, -shift);
478
+ z6 = z3 shifted (0, -shift);
479
+
480
+ penpos4 (beam_width, 0);
481
+ penpos5 (beam_height, 90);
482
+ penpos6 (beam_width, 180);
483
+
484
+ save pat_in, pat_out;
485
+ path pat_in, pat_out;
486
+
487
+ pat_out := z6r{down}
488
+ .. z6l{up}
489
+ .. z5l{right};
490
+ pat_out := pat_out
491
+ -- reverse pat_out xscaled -1
492
+ shifted (2 xoffs + brevis_width, 0);
493
+ pat_out := pat_out
494
+ -- reverse pat_out yscaled -1
495
+ shifted (0, shift - 2 yoffs)
496
+ -- cycle;
497
+
498
+ fill pat_out;
499
+
500
+ pat_in := z1r{down}
501
+ .. z2r{right};
502
+ pat_in := pat_in
503
+ -- reverse pat_in xscaled -1
504
+ shifted (2 xoffs + brevis_width, 0);
505
+ pat_in := pat_in
506
+ -- reverse pat_in yscaled -1
507
+ shifted (0, 2 yoffs)
508
+ -- cycle;
509
+
510
+ unfill pat_in;
511
+ unfill pat_in shifted (0, -shift);
512
+
513
+ penlabels (1, 2, 3, 4, 5, 6);
514
+ enddef;
515
+
516
+
517
+ def draw_neomensural_c_clef (expr exact_center, reduction) =
518
+ save reduced_il, reduced_slt, stem_width;
519
+
520
+ reduced_il# = staff_space# * reduction;
521
+ reduced_slt# = linethickness# * reduction;
522
+ stem_width# = 1.4 reduced_slt#;
523
+
524
+ define_pixels (reduced_il, reduced_slt, stem_width);
525
+
526
+ set_char_box (0 - xpart exact_center,
527
+ 2 reduced_il# + 6 reduced_slt# + xpart exact_center,
528
+ 2 reduced_il# - ypart exact_center,
529
+ 2 reduced_il# + ypart exact_center);
530
+
531
+ draw_brevis (exact_center + (3 reduced_slt#, 0),
532
+ 2 reduced_il#, reduced_il#, reduced_slt#);
533
+
534
+ save xoffs, yoffs;
535
+
536
+ xoffs# = xpart exact_center;
537
+ yoffs# = ypart exact_center;
538
+
539
+ define_pixels (xoffs, yoffs);
540
+
541
+ save ellipse, pat, T;
542
+ path ellipse, pat;
543
+ transform T;
544
+
545
+ T := identity xscaled stem_width
546
+ yscaled blot_diameter;
547
+ pickup pencircle transformed T;
548
+ ellipse := fullcircle transformed T;
549
+
550
+ lft x11 = lft x12 = xoffs;
551
+ top y12 - bot y11 = 4 reduced_il;
552
+ top y12 + bot y11 = 2 yoffs;
553
+ x13 = x3;
554
+ y13 = y11;
555
+ rt x14 = rt x15 = w;
556
+ y14 = y11;
557
+ y15 = y12;
558
+
559
+ pat := get_subpath (ellipse, down, up, z13)
560
+ -- z3l{up} % avoid FontForge problems by specifying
561
+ .. z3r % direction plus .. instead of --
562
+ -- cycle;
563
+
564
+ fill get_subpath (ellipse, down, up, z11)
565
+ -- get_subpath (ellipse, up, down, z12)
566
+ -- cycle;
567
+ fill get_subpath (ellipse, down, up, z14)
568
+ -- get_subpath (ellipse, up, down, z15)
569
+ -- cycle;
570
+
571
+ fill pat;
572
+ fill pat xscaled -1
573
+ shifted (w, 0);
574
+ fill pat yscaled -1
575
+ shifted (0, 2 yoffs);
576
+ fill pat scaled -1
577
+ shifted (w, 2 yoffs);
578
+
579
+ labels (11, 12, 13, 14, 15);
580
+ enddef;
581
+
582
+
583
+ fet_beginchar ("neo-mensural C clef", "neomensural.c");
584
+ draw_staff_if_debugging (-1, 3);
585
+ draw_neomensural_c_clef ((0, 0), 1.0);
586
+ fet_endchar;
587
+
588
+
589
+ fet_beginchar ("neo-mensural C clef (reduced)", "neomensural.c_change");
590
+ draw_neomensural_c_clef ((0, 0), .8);
591
+ fet_endchar;
592
+
593
+
594
+ def draw_petrucci_c_clef (expr exact_center, flare_align, reduction) =
595
+ % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
596
+ % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
597
+ % Also by Petrucci's Canti C, Venedig 1503. In: MGG, volume
598
+ % 9, p. 1681/1682.
599
+
600
+ save reduced_il, reduced_slt;
601
+
602
+ reduced_il# = staff_space# * reduction;
603
+ reduced_slt# = linethickness# * reduction;
604
+
605
+ define_pixels (reduced_il);
606
+
607
+ draw_double_brevis (exact_center + (0, 0.5 staff_space#),
608
+ reduced_il#, reduced_il#, reduced_slt#,
609
+ staff_space);
610
+
611
+ save half_reduced_il, left_depth, left_height;
612
+
613
+ half_reduced_il# = staff_space# * sqrt (reduction);
614
+ left_height# = half_reduced_il# * min (3.2, 3.2 + 0.2 + flare_align);
615
+ left_depth# = half_reduced_il# * min (3.2, 3.2 + 0.2 - flare_align);
616
+
617
+ define_pixels (half_reduced_il);
618
+ define_pixels (left_depth, left_height);
619
+
620
+ set_char_box (0 - xpart exact_center,
621
+ reduced_il# + xpart exact_center,
622
+ left_depth# - ypart exact_center,
623
+ left_height# + ypart exact_center);
624
+
625
+ save xoffs, yoffs;
626
+
627
+ xoffs# = xpart exact_center;
628
+ yoffs# = ypart exact_center;
629
+
630
+ define_pixels (xoffs, yoffs);
631
+
632
+ save ellipse, T;
633
+ path ellipse;
634
+ transform T;
635
+
636
+ T := identity xscaled 1.4 linethickness
637
+ yscaled blot_diameter;
638
+ pickup pencircle transformed T;
639
+ ellipse := fullcircle transformed T;
640
+
641
+ lft x11 = lft x13 = xoffs;
642
+ top y11 = yoffs + left_height;
643
+ bot y13 = yoffs - left_depth;
644
+ rt x15 = rt x17 = xoffs + brevis_width;
645
+ y15 = min (y11 - 0.2 half_reduced_il, yoffs + 2.2 half_reduced_il);
646
+ y17 = max (y13 + 0.2 half_reduced_il, yoffs - 2.2 half_reduced_il);
647
+
648
+ z12 = z14 yscaled -1;
649
+ z14 = z6;
650
+ z16 = z18 yscaled -1;
651
+ rt z18 = lft z14 shifted (brevis_width, 0);
652
+
653
+ penpos12 (1.4 linethickness, 0);
654
+ penpos14 (1.4 linethickness, 0);
655
+ penpos16 (1.4 linethickness, 0);
656
+ penpos18 (1.4 linethickness, 0);
657
+
658
+ if top y11 > -y6 + 0.7 linethickness:
659
+ fill get_subpath (ellipse, up, down, z11)
660
+ -- z12l{down} % avoid FontForge problems by specifying
661
+ .. z12r % direction plus .. instead of --
662
+ -- cycle;
663
+ fi;
664
+ if bot y13 < y6 - 0.7 linethickness:
665
+ fill get_subpath (ellipse, down, up, z13)
666
+ -- z14r{up} % avoid FontForge problems by specifying
667
+ .. z14l % direction plus .. instead of --
668
+ -- cycle;
669
+ fi;
670
+ if top y15 > -y6 + 0.7 linethickness:
671
+ fill get_subpath (ellipse, up, down, z15)
672
+ -- z16l{down} % avoid FontForge problems by specifying
673
+ .. z16r % direction plus .. instead of --
674
+ -- cycle;
675
+ fi;
676
+ if bot y17 < y6 - 0.7 linethickness:
677
+ fill get_subpath (ellipse, down, up, z17)
678
+ -- z18r{up} % avoid FontForge problems by specifying
679
+ .. z18l % direction plus .. instead of --
680
+ -- cycle;
681
+ fi;
682
+
683
+ labels (11, 13, 15, 17);
684
+ penlabels (12, 14, 16, 18);
685
+ enddef;
686
+
687
+
688
+ fet_beginchar ("Petrucci C1 clef", "petrucci.c1");
689
+ draw_staff_if_debugging (-1, 3);
690
+ draw_petrucci_c_clef ((0, 0), +2, 1.0);
691
+ fet_endchar;
692
+
693
+
694
+ fet_beginchar ("Petrucci C1 clef (reduced)", "petrucci.c1_change");
695
+ draw_petrucci_c_clef ((0, 0), +2, .8);
696
+ fet_endchar;
697
+
698
+
699
+ fet_beginchar ("Petrucci C2 clef", "petrucci.c2");
700
+ draw_staff_if_debugging (-1, 3);
701
+ draw_petrucci_c_clef ((0, 0), +1, 1.0);
702
+ fet_endchar;
703
+
704
+
705
+ fet_beginchar ("Petrucci C2 clef (reduced)", "petrucci.c2_change");
706
+ draw_petrucci_c_clef ((0, 0), +1, .8);
707
+ fet_endchar;
708
+
709
+
710
+ fet_beginchar ("Petrucci C3 clef", "petrucci.c3");
711
+ draw_staff_if_debugging (-1, 3);
712
+ draw_petrucci_c_clef ((0, 0), 0, 1.0);
713
+ fet_endchar;
714
+
715
+
716
+ fet_beginchar ("Petrucci C3 clef (reduced)", "petrucci.c3_change");
717
+ draw_petrucci_c_clef ((0, 0), 0, .8);
718
+ fet_endchar;
719
+
720
+
721
+ fet_beginchar ("Petrucci C4 clef", "petrucci.c4");
722
+ draw_staff_if_debugging (-1, 3);
723
+ draw_petrucci_c_clef ((0, 0), -1, 1.0);
724
+ fet_endchar;
725
+
726
+
727
+ fet_beginchar ("Petrucci C4 clef (reduced)", "petrucci.c4_change");
728
+ draw_petrucci_c_clef ((0, 0), -1, .8);
729
+ fet_endchar;
730
+
731
+
732
+ fet_beginchar ("Petrucci C5 clef", "petrucci.c5");
733
+ draw_staff_if_debugging (-1, 3);
734
+ draw_petrucci_c_clef ((0, 0), -2, 1.0);
735
+ fet_endchar;
736
+
737
+
738
+ fet_beginchar ("Petrucci C5 clef (reduced)", "petrucci.c5_change");
739
+ draw_petrucci_c_clef ((0, 0), -2, .8);
740
+ fet_endchar;
741
+
742
+
743
+ def draw_mensural_c_clef (expr exact_center, reduction, fill_char) =
744
+ save reduced_il, vert_thick, hor_thick, blot_rad;
745
+
746
+ reduced_il# = staff_space# * reduction;
747
+ vert_thick# = linethickness# * 1.4;
748
+ hor_thick# = staff_space# * reduction * 0.25;
749
+
750
+ blot_rad = blot_diameter / 2;
751
+
752
+ define_pixels (reduced_il, vert_thick, hor_thick);
753
+
754
+ pickup pencircle scaled blot_diameter;
755
+
756
+ penpos1 (vert_thick, 0);
757
+ penpos2 (vert_thick, 0);
758
+ penpos3 (hor_thick, 90);
759
+ penpos4 (hor_thick, 90);
760
+ penpos5 (hor_thick, 90);
761
+ penpos6 (hor_thick, 90);
762
+ penpos7 (vert_thick, 0);
763
+ penpos8 (hor_thick, 90);
764
+
765
+ z1l = (0, 0);
766
+ x2l = 0;
767
+ top y2 = 2.2 reduced_il;
768
+ z3 = (vert_thick, 0.75 reduced_il);
769
+ z4 = z3 + (reduced_il - vert_thick, 0);
770
+ z5 = z4 + (vert_thick, -0.5 reduced_il);
771
+ z6 = z5 - (reduced_il, 0);
772
+ z7 = z4 + (0.5 vert_thick, 0.5 reduced_il);
773
+ z8 = z5 - (vert_thick, 0);
774
+
775
+ save pat, pat_mid;
776
+ path pat, pat_mid;
777
+
778
+ pat = z1l
779
+ -- z2l{up}
780
+ .. z2 + (0, blot_rad)
781
+ .. {down}z2r
782
+ -- top z3r{down}
783
+ .. {right}rt z3r
784
+ -- lft z4r{right}
785
+ .. {up}top z4r
786
+ -- z7l{up}
787
+ .. z7 + (0, blot_rad)
788
+ .. {down}z7r
789
+ -- top z5l{down}
790
+ .. {left}lft z5l
791
+ -- rt z6l{left}
792
+ .. {down}bot z6l
793
+ --z1r;
794
+ pat := pat
795
+ -- reverse pat yscaled -1
796
+ -- cycle;
797
+ fill pat;
798
+
799
+ if fill_char:
800
+ pat_mid = bot z3l{up}
801
+ .. {right}rt z3l
802
+ -- lft z4l{right}
803
+ .. {down}bot z4l
804
+ -- top z8r{down}
805
+ .. {left}lft z8r
806
+ -- rt z6r{left}
807
+ .. {up}top z6r
808
+ --cycle;
809
+ unfill pat_mid;
810
+
811
+ pat_mid := pat_mid shifted (0, -reduced_il);
812
+ unfill pat_mid;
813
+ fi;
814
+
815
+ set_char_box (0, reduced_il# + vert_thick#,
816
+ 2.2 reduced_il#, 2.2 reduced_il#);
817
+
818
+ penlabels (1, 2, 3, 4, 5, 6, 7, 8);
819
+ enddef;
820
+
821
+
822
+ fet_beginchar ("mensural C clef", "mensural.c");
823
+ draw_staff_if_debugging (-1, 3);
824
+ draw_mensural_c_clef ((0, 0), 1.0, true);
825
+ fet_endchar;
826
+
827
+
828
+ fet_beginchar ("mensural C clef (reduced)", "mensural.c_change");
829
+ draw_mensural_c_clef ((0, 0), .8, true);
830
+ fet_endchar;
831
+
832
+
833
+ fet_beginchar ("black mensural C clef", "blackmensural.c");
834
+ draw_staff_if_debugging (-1, 3);
835
+ draw_mensural_c_clef ((0, 0), 1.0, false);
836
+ fet_endchar;
837
+
838
+
839
+ fet_beginchar ("black mensural C clef (reduced)", "blackmensural.c_change");
840
+ draw_mensural_c_clef ((0, 0), 0.8, false);
841
+ fet_endchar;
842
+
843
+
844
+ def draw_diamond (expr exact_center, reduction) =
845
+ save stem_width, reduced_nht, holeheight, beamheight;
846
+ save rh_height, rh_width;
847
+
848
+ stem_width# = 1.4 reduced_slt#;
849
+ reduced_nht# = noteheight# * reduction;
850
+ holeheight# = 3 reduced_slt#;
851
+ beamheight# = 0.4 (reduced_nht# - holeheight#);
852
+
853
+ rh_height# = 1.2 staff_space# * reduction;
854
+ rh_width# / rh_height# = tand (30);
855
+
856
+ define_pixels (beamheight, stem_width);
857
+ define_pixels (rh_height, rh_width);
858
+
859
+ save xoffs, yoffs;
860
+
861
+ xoffs# = xpart exact_center;
862
+ yoffs# = ypart exact_center;
863
+
864
+ define_pixels (xoffs, yoffs);
865
+
866
+ save ellipse, T;
867
+ path ellipse;
868
+ transform T;
869
+
870
+ T := identity xscaled beamheight
871
+ yscaled stem_width
872
+ rotated 45;
873
+ pickup pencircle transformed T;
874
+ ellipse := reverse fullcircle transformed T;
875
+
876
+ x21 := xoffs - rh_width / 2;
877
+ y21 := yoffs;
878
+ x22 := xoffs;
879
+ y22 := yoffs + rh_height / 2;
880
+ x23 := xoffs + rh_width / 2;
881
+ y23 := yoffs;
882
+ x24 := xoffs;
883
+ y24 := yoffs - rh_height / 2;
884
+
885
+ fill get_subpath (ellipse, z21 - z24, z22 - z21, z21)
886
+ -- get_subpath (ellipse, z22 - z21, z23 - z22, z22)
887
+ -- get_subpath (ellipse, z23 - z22, z24 - z23, z23)
888
+ -- get_subpath (ellipse, z24 - z23, z21 - z24, z24)
889
+ -- cycle;
890
+
891
+ save l;
892
+ path l[];
893
+
894
+ l2122 := (directionpoint (z21 - z22) of ellipse) shifted z21
895
+ -- (directionpoint (z21 - z22) of ellipse) shifted z22;
896
+ l2223 := (directionpoint (z22 - z23) of ellipse) shifted z22
897
+ -- (directionpoint (z22 - z23) of ellipse) shifted z23;
898
+ l2324 := (directionpoint (z23 - z24) of ellipse) shifted z23
899
+ -- (directionpoint (z23 - z24) of ellipse) shifted z24;
900
+ l2421 := (directionpoint (z24 - z21) of ellipse) shifted z24
901
+ -- (directionpoint (z24 - z21) of ellipse) shifted z21;
902
+
903
+ unfill l2122 intersectionpoint l2223
904
+ -- l2223 intersectionpoint l2324
905
+ -- l2324 intersectionpoint l2421
906
+ -- l2421 intersectionpoint l2122
907
+ -- cycle;
908
+
909
+ labels (21, 22, 23, 24);
910
+ enddef;
911
+
912
+
913
+ def draw_petrucci_f_clef (expr exact_center, reduction) =
914
+ % inspired by L'homme arme super voces musicales in Misse
915
+ % Josquin, 1502, Petrucci, in: MGG, volume 7, col. 200; also
916
+ % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in:
917
+ % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by Andr'e
918
+ % Campra, "Entr'ee des s'er'enades" (1710), in: MGG, volume 2,
919
+ % col. 1649 ("Contredanse"), fig. 2.
920
+
921
+ save interline, reduced_il, reduced_slt;
922
+
923
+ interline# = staff_space#;
924
+ reduced_il# = staff_space# * reduction;
925
+ reduced_slt# = linethickness# * reduction;
926
+
927
+ draw_brevis (exact_center, reduced_il#, reduced_il#, reduced_slt#);
928
+ draw_diamond (exact_center
929
+ + (1.6 interline# * reduction, interline# / 2),
930
+ reduction);
931
+ draw_diamond (exact_center
932
+ + (1.6 interline# * reduction, -interline# / 2),
933
+ reduction);
934
+
935
+ define_pixels (interline, reduced_il, reduced_slt);
936
+
937
+ save stem_width;
938
+
939
+ stem_width# = 1.4 reduced_slt#;
940
+
941
+ define_pixels (stem_width);
942
+
943
+ save xoffs, yoffs;
944
+
945
+ xoffs# = xpart exact_center;
946
+ yoffs# = ypart exact_center;
947
+
948
+ define_pixels (xoffs, yoffs);
949
+
950
+ % brevis stem
951
+ save ellipse, T;
952
+ path ellipse;
953
+ transform T;
954
+
955
+ T := identity xscaled stem_width
956
+ yscaled blot_diameter;
957
+ pickup pencircle transformed T;
958
+ ellipse := fullcircle transformed T;
959
+
960
+ rt x8 = xoffs + reduced_il;
961
+ y8 = y3;
962
+ rt z9 = (xoffs + reduced_il, yoffs - 4 reduced_il);
963
+
964
+ penpos8 (stem_width, 0);
965
+
966
+ fill get_subpath (ellipse, down, up, z9)
967
+ -- z8r
968
+ -- z8l
969
+ -- cycle;
970
+
971
+ % upper diamond's stem
972
+ z10 = (xoffs + 1.6 interline * reduction + stem_width / 2,
973
+ yoffs + interline * reduction);
974
+ top z11 = z10 + (0, 1.5 interline * reduction);
975
+
976
+ penpos10 (stem_width, 0);
977
+
978
+ fill get_subpath (ellipse, up, down, z11)
979
+ -- z10l
980
+ -- z10r
981
+ -- cycle;
982
+
983
+ % lower diamond's stem
984
+ z12 = (xoffs + 1.6 interline * reduction - stem_width / 2,
985
+ yoffs - interline * reduction);
986
+ bot z13 = z12 + (0, -3.5 interline * reduction);
987
+
988
+ penpos12 (stem_width, 0);
989
+
990
+ fill get_subpath (ellipse, down, up, z13)
991
+ -- z12r
992
+ -- z12l
993
+ -- cycle;
994
+
995
+ save reduced_il, rh_height, rh_width;
996
+
997
+ reduced_il# = staff_space# * reduction;
998
+ rh_height# = 1.2 reduced_il#;
999
+ rh_width# / rh_height# = tand (30);
1000
+
1001
+ set_char_box (0 - xpart exact_center,
1002
+ 1.6 interline# * reduction + 0.5 rh_width#
1003
+ + xpart exact_center,
1004
+ 4.5 interline# * reduction - ypart exact_center,
1005
+ 2.5 interline# * reduction + ypart exact_center);
1006
+
1007
+ labels (9, 11, 13);
1008
+ penlabels (8, 10, 12);
1009
+ enddef;
1010
+
1011
+
1012
+ fet_beginchar ("Petrucci F clef", "petrucci.f");
1013
+ draw_staff_if_debugging (-1, 3);
1014
+ draw_petrucci_f_clef ((0, 0), 1.0);
1015
+ fet_endchar;
1016
+
1017
+
1018
+ fet_beginchar ("Petrucci F clef (reduced)", "petrucci.f_change");
1019
+ draw_petrucci_f_clef ((0, 0), .8);
1020
+ fet_endchar;
1021
+
1022
+
1023
+ def draw_mensural_f_clef (expr exact_center, reduction) =
1024
+ % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG,
1025
+ % volume 3, col. 848 ("Duc"); also by John Dowland, "The First
1026
+ % Booke of Songes" (1597), in: MGG, volume 3, col. 721
1027
+ % ("Dowland"), fig. 3.
1028
+
1029
+ save width, reduced_slt, stem_width, dot_diameter;
1030
+
1031
+ width# = 1.2 staff_space# * reduction;
1032
+ reduced_slt# = linethickness# * reduction;
1033
+ stem_width# = 1.4 reduced_slt#;
1034
+ dot_diameter# = 0.1 reduction * staff_space#;
1035
+
1036
+ define_pixels (width, stem_width, staff_space, dot_diameter);
1037
+
1038
+ save xoffs, yoffs;
1039
+
1040
+ xoffs# = xpart exact_center;
1041
+ yoffs# = ypart exact_center;
1042
+
1043
+ define_pixels (xoffs, yoffs);
1044
+
1045
+ save ellipse, T;
1046
+ path ellipse;
1047
+ transform T;
1048
+
1049
+ T := identity xscaled 0.2 width
1050
+ yscaled stem_width
1051
+ rotated 45;
1052
+ pickup pencircle transformed T;
1053
+ ellipse := fullcircle transformed T;
1054
+
1055
+ % half circle
1056
+ lft z10 = (0, 0);
1057
+
1058
+ save pat;
1059
+ path pat;
1060
+
1061
+ pat := halfcircle scaled width
1062
+ rotated -90
1063
+ shifted (z10 - (xoffs, yoffs));
1064
+
1065
+ z5 = point 0 of pat;
1066
+ z6 = point 1 of pat;
1067
+ z7 = point 2 of pat;
1068
+ z8 = point 3 of pat;
1069
+ z9 = point 4 of pat;
1070
+
1071
+ save dirs;
1072
+ pair dirs[];
1073
+
1074
+ dirs5 := direction 0 of pat;
1075
+ dirs6 := direction 1 of pat;
1076
+ dirs7 := direction 2 of pat;
1077
+ dirs8 := direction 3 of pat;
1078
+ dirs9 := direction 4 of pat;
1079
+
1080
+ % we approximate `draw pat'
1081
+ fill get_subpath (ellipse, -dirs5, dirs5, z5)
1082
+ .. get_subpoint (ellipse, dirs6, z6)
1083
+ .. get_subpoint (ellipse, dirs7, z7)
1084
+ .. get_subpoint (ellipse, dirs8, z8)
1085
+ .. get_subpath (ellipse, dirs9, -dirs9, z9)
1086
+ .. get_subpoint (ellipse, -dirs8, z8)
1087
+ .. get_subpoint (ellipse, -dirs7, z7)
1088
+ .. get_subpoint (ellipse, -dirs6, z6)
1089
+ .. cycle;
1090
+
1091
+ % upper dot
1092
+ rt x2 = xoffs + width;
1093
+ top y1 = yoffs + 0.5 width;
1094
+ z2 - z1 = (dot_diameter, -dot_diameter);
1095
+
1096
+ fill get_subpath (ellipse, z1 - z2, z2 - z1, z1)
1097
+ -- get_subpath (ellipse, z2 - z1, z1 - z2, z2)
1098
+ -- cycle;
1099
+
1100
+ % lower dot
1101
+ x3 = x1;
1102
+ top y1 - bot y4 = width;
1103
+ z4 - z3 = (dot_diameter, -dot_diameter);
1104
+
1105
+ fill get_subpath (ellipse, z3 - z4, z4 - z3, z3)
1106
+ -- get_subpath (ellipse, z4 - z3, z3 - z4, z4)
1107
+ -- cycle;
1108
+
1109
+ set_char_box (0 - xpart exact_center,
1110
+ width# + xpart exact_center,
1111
+ 0.5 width# - ypart exact_center,
1112
+ 0.5 width# + ypart exact_center);
1113
+
1114
+ labels (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
1115
+ enddef;
1116
+
1117
+
1118
+ fet_beginchar ("mensural F clef", "mensural.f");
1119
+ draw_staff_if_debugging (-1, 3);
1120
+ draw_mensural_f_clef ((0, 0), 1.0);
1121
+ fet_endchar;
1122
+
1123
+
1124
+ fet_beginchar ("mensural F clef (reduced)", "mensural.f_change");
1125
+ draw_mensural_f_clef ((0, 0), .8);
1126
+ fet_endchar;
1127
+
1128
+
1129
+ def draw_petrucci_g_clef (expr exact_center, reduction) =
1130
+ % inspired by Josquin Desprez, "Stabat Mater", Libro tertio,
1131
+ % 1519, printed by Petrucci, in: MGG, volume 7, Table 11.
1132
+
1133
+ save reduced_il, reduced_slt;
1134
+
1135
+ reduced_il# = staff_space# * reduction;
1136
+ reduced_slt# = linethickness# * reduction;
1137
+ define_pixels (reduced_il, reduced_slt);
1138
+
1139
+ set_char_box (0 - xpart exact_center,
1140
+ 1.25 reduced_il# + xpart exact_center,
1141
+ 0.65 reduced_il# - ypart exact_center,
1142
+ 3.80 reduced_il# + ypart exact_center);
1143
+
1144
+ save xoffs, yoffs;
1145
+
1146
+ xoffs# = xpart exact_center;
1147
+ yoffs# = ypart exact_center;
1148
+
1149
+ define_pixels (xoffs, yoffs);
1150
+
1151
+ save ellipse, paths, sub_path, outlines, sub_outlines, T;
1152
+ path ellipse, paths[], sub_path, outlines[], sub_outlines[];
1153
+ transform T;
1154
+
1155
+ T := identity xscaled 0.5 reduced_slt
1156
+ yscaled 0.22 reduced_il
1157
+ rotated -35;
1158
+ pickup pencircle transformed T;
1159
+ ellipse := fullcircle transformed T;
1160
+
1161
+ lft z1 = (xoffs + 0.80 reduced_il, yoffs + 0.00 reduced_il);
1162
+ lft z2 = (xoffs + 1.00 reduced_il, yoffs + 1.20 reduced_il);
1163
+ lft z3 = (xoffs + 0.70 reduced_il, yoffs + 2.00 reduced_il);
1164
+ lft z4 = (xoffs + 0.30 reduced_il, yoffs + 3.00 reduced_il);
1165
+ lft z5 = (xoffs + 0.80 reduced_il, yoffs + 3.70 reduced_il);
1166
+ lft z6 = (xoffs + 1.00 reduced_il, yoffs + 3.00 reduced_il);
1167
+ lft z7 = (xoffs + 0.60 reduced_il, yoffs + 2.00 reduced_il);
1168
+ lft z8 = (xoffs + 0.30 reduced_il, yoffs + 1.70 reduced_il);
1169
+ lft z9 = (xoffs + 0.00 reduced_il, yoffs + 0.75 reduced_il);
1170
+ lft z10 = (xoffs + 0.20 reduced_il, yoffs + 0.60 reduced_il);
1171
+
1172
+ paths1 := z1{-1, 2}
1173
+ .. z2
1174
+ .. z3
1175
+ .. z4
1176
+ .. z5
1177
+ .. z6
1178
+ .. z7
1179
+ .. z8
1180
+ .. z9
1181
+ .. z10;
1182
+
1183
+ save dirs, s;
1184
+ pair dirs[];
1185
+
1186
+ s := 1/4;
1187
+
1188
+ % we approximate `draw paths1'
1189
+ for i = 1 step s until (length paths1 + 1):
1190
+ dirs[i] := direction (i - 1) of paths1;
1191
+ endfor;
1192
+
1193
+ outlines1 := get_subpath (ellipse, -dirs1, dirs1, z1)
1194
+ for i = (1 + s) step s until (length paths1 + 1 - s):
1195
+ .. get_subpoint (ellipse, dirs[i],
1196
+ point (i - 1) of paths1)
1197
+ endfor
1198
+ .. get_subpath (ellipse, dirs10, -dirs10, z10)
1199
+ for i = (length paths1 + 1 - s) step -s until (1 + s):
1200
+ .. get_subpoint (ellipse, -dirs[i],
1201
+ point (i - 1) of paths1)
1202
+ endfor
1203
+ .. cycle;
1204
+
1205
+ save len;
1206
+
1207
+ len := length outlines1;
1208
+
1209
+ sub_outlines1 := subpath (0, floor (1/4 len)) of outlines1;
1210
+ sub_outlines2 := subpath (floor (1/4 len), floor (2/4 len)) of outlines1;
1211
+ sub_outlines3 := subpath (floor (2/4 len), floor (3/4 len)) of outlines1;
1212
+ sub_outlines4 := subpath (floor (3/4 len), len) of outlines1;
1213
+
1214
+ save times;
1215
+ numeric times[];
1216
+
1217
+ (times12, times21) = sub_outlines1 intersectiontimes sub_outlines2;
1218
+ (times13, times31) = sub_outlines1 intersectiontimes sub_outlines3;
1219
+ (times42, times24) = sub_outlines4 intersectiontimes sub_outlines2;
1220
+ (times43, times34) = sub_outlines4 intersectiontimes sub_outlines3;
1221
+
1222
+ T := identity xscaled 0.75 reduced_slt
1223
+ yscaled 0.33 reduced_il
1224
+ rotated -35;
1225
+ pickup pencircle transformed T;
1226
+ ellipse := fullcircle transformed T;
1227
+
1228
+ lft z21 = (xoffs + 1.05 reduced_il, yoffs + 0.45 reduced_il);
1229
+ lft z22 = (xoffs + 0.55 reduced_il, yoffs + 0.45 reduced_il);
1230
+ lft z23 = (xoffs + 0.55 reduced_il, yoffs - 0.45 reduced_il);
1231
+ lft z24 = (xoffs + 1.05 reduced_il, yoffs - 0.45 reduced_il);
1232
+ lft z25 = (xoffs + 1.10 reduced_il, yoffs + 0.00 reduced_il);
1233
+ lft z26 = (xoffs + 0.80 reduced_il, yoffs + 0.00 reduced_il);
1234
+
1235
+ paths2 := z21
1236
+ .. z22
1237
+ .. z23
1238
+ .. z24
1239
+ .. {up}z25
1240
+ -- z26;
1241
+
1242
+ sub_path := subpath (0, 1) of paths2;
1243
+
1244
+ times1 = xpart (sub_outlines1 intersectiontimes sub_path);
1245
+ times4 = xpart (sub_outlines4 intersectiontimes sub_path);
1246
+
1247
+ % we have to find the envelope intersections (if any)
1248
+ save t;
1249
+ numeric t[];
1250
+
1251
+ t1 = find_envelope_cusp (reverse ellipse,
1252
+ subpath (1, 2) of paths2,
1253
+ 1/256) + 1;
1254
+ if t1 < 1:
1255
+ t1 := 1;
1256
+ t2 := 1;
1257
+ else:
1258
+ t2 = find_envelope_cusp (ellipse,
1259
+ subpath (3, 4) of reverse paths2,
1260
+ 1/256) + 3;
1261
+ t2 := length paths2 - t2;
1262
+ fi;
1263
+
1264
+ t3 = find_envelope_cusp (reverse ellipse,
1265
+ subpath (2, 4 - epsilon) of paths2,
1266
+ 1/256) + 2;
1267
+ if t3 < 2:
1268
+ t3 := 3;
1269
+ t4 := 3;
1270
+ else:
1271
+ t4 = find_envelope_cusp (ellipse,
1272
+ subpath (1 + epsilon, 3) of reverse paths2,
1273
+ 1/256) + 1;
1274
+ t4 := length paths2 - t4;
1275
+ fi;
1276
+
1277
+ fill subpath (times1 + s / 4, times13) of sub_outlines1
1278
+ -- subpath (times31, infinity) of sub_outlines3
1279
+ & subpath (0, times42) of sub_outlines4
1280
+ -- subpath (times24, infinity) of sub_outlines2
1281
+ & subpath (0, times34) of sub_outlines3
1282
+ -- subpath (times43, times4 - s / 4) of sub_outlines4
1283
+ -- cycle;
1284
+ unfill subpath (times12, infinity) of sub_outlines1
1285
+ & subpath (0, times21) of sub_outlines2
1286
+ -- cycle;
1287
+ fill subpath (times4 + s / 4, infinity) of sub_outlines4
1288
+ & subpath (0, times1 - s / 4) of sub_outlines1
1289
+ -- cycle;
1290
+
1291
+
1292
+ % we approximate `draw paths2'
1293
+ for i = 1 step s until (length paths2 - s):
1294
+ dirs[i + 20] := direction (i - 1) of paths2;
1295
+ endfor;
1296
+
1297
+ sub_outlines21 := get_subpath (ellipse, -dirs21, dirs21, z21)
1298
+ for i = (1 + s) step s until (length paths2 - s):
1299
+ .. get_subpoint (ellipse, dirs[i + 20],
1300
+ point (i - 1) of paths2)
1301
+ endfor
1302
+ .. get_subpath (ellipse, up, z26 - z25, z25);
1303
+ sub_outlines22 := get_subpath (ellipse, z26 - z25, z25 - z26, z26)
1304
+ -- get_subpoint (ellipse, z25 - z26, z25);
1305
+ sub_outlines23 := get_subpoint (ellipse, down, z25)
1306
+ for i = (length paths2 - s) step -s until (t4 + 1):
1307
+ .. get_subpoint (ellipse, -dirs[i + 20],
1308
+ point (i - 1) of paths2)
1309
+ endfor
1310
+ .. get_subpoint (ellipse, -direction t4 of paths2,
1311
+ point t4 of paths2);
1312
+ sub_outlines24 := get_subpoint (ellipse, -direction t3 of paths2,
1313
+ point t3 of paths2)
1314
+ for i = (floor (t3 / s) * s + 1) step -s until (t2 + 1):
1315
+ .. get_subpoint (ellipse, -dirs[i + 20],
1316
+ point (i - 1) of paths2)
1317
+ endfor
1318
+ .. get_subpoint (ellipse, -direction t2 of paths2,
1319
+ point t2 of paths2);
1320
+ sub_outlines25 := get_subpoint (ellipse, -direction t1 of paths2,
1321
+ point t1 of paths2)
1322
+ for i = (floor (t1 / s) * s + 1) step -s until (1 + s):
1323
+ .. get_subpoint (ellipse, -dirs[i + 20],
1324
+ point (i - 1) of paths2)
1325
+ endfor;
1326
+
1327
+ (times2223, times2322) = sub_outlines22 intersectiontimes sub_outlines23;
1328
+ (times2324, times2423) = sub_outlines23 intersectiontimes sub_outlines24;
1329
+ (times2425, times2524) = sub_outlines24 intersectiontimes sub_outlines25;
1330
+
1331
+ fill sub_outlines21
1332
+ -- subpath (0, times2223) of sub_outlines22
1333
+ -- subpath (times2322, times2324) of sub_outlines23
1334
+ -- subpath (times2423, times2425) of sub_outlines24
1335
+ -- subpath (times2524, infinity) of sub_outlines25
1336
+ .. cycle;
1337
+
1338
+ labels (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
1339
+ labels (21, 22, 23, 24, 25, 26);
1340
+ enddef;
1341
+
1342
+
1343
+ fet_beginchar ("Petrucci G clef", "petrucci.g");
1344
+ draw_staff_if_debugging (-1, 3);
1345
+ draw_petrucci_g_clef ((0, 0), 1.0);
1346
+ fet_endchar;
1347
+
1348
+
1349
+ fet_beginchar ("Petrucci G clef (reduced)", "petrucci.g_change");
1350
+ draw_petrucci_g_clef ((0, 0), .8);
1351
+ fet_endchar;
1352
+
1353
+ def draw_mensural_g_clef (expr exact_center, reduction) =
1354
+ % TODO: Rewrite me. The former mensural g clef looked ugly, and the
1355
+ % code was removed when it broke for small font sizes after some
1356
+ % global changes in the font. Currently, the character is mapped to
1357
+ % a copy of the petrucci g clef (which, after all, *is* a mensural g
1358
+ % clef, but not the one that we have in mind here). -- jr
1359
+ %
1360
+ % Possible sources of inspiration for this clef include: Francisco
1361
+ % Guerrero, "Lib. 1. Missarum" (1566), in: MGG, volume 3, col. 858
1362
+ % ("Ducis"); Stefano Fabri, "Quam speciosa veteranis" (1611), in:
1363
+ % MGG, volume 3, col. 1698 ("Fabri"); Philippus Dulichius,
1364
+ % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919
1365
+ % ("Dulichius"), fig. 1; Noe Faignient, "Ic sal de Heer myn God
1366
+ % gebenedye" (1568), in: MGG, volume 3, col. 1735 ("Faignient").
1367
+ enddef;
1368
+
1369
+
1370
+ %
1371
+ % FIXME: This clef is preliminarily mapped to the petrucci g clef
1372
+ % until the code for the mensural g clef will be rewritten.
1373
+ %
1374
+ fet_beginchar ("mensural G clef", "mensural.g");
1375
+ draw_staff_if_debugging (-1, 3);
1376
+ draw_petrucci_g_clef ((0, 0), 1.0);
1377
+ fet_endchar;
1378
+
1379
+
1380
+ fet_beginchar ("mensural G clef (reduced)", "mensural.g_change");
1381
+ draw_petrucci_g_clef ((0, 0), .8);
1382
+ fet_endchar;
1383
+
1384
+
1385
+
1386
+ %%%%%%%%
1387
+ %
1388
+ %
1389
+ %
1390
+ % Hufnagel
1391
+ %
1392
+ %
1393
+ %
1394
+ def draw_hufnagel_do_clef (expr exact_center, reduction) =
1395
+ % inspired by Graduale of Friedrich Zollner (1442), in: MGG,
1396
+ % volume 9, col. 1413 ("Neustift"), fig. 1.
1397
+
1398
+ save reduced_il;
1399
+
1400
+ reduced_il# = staff_space# * reduction;
1401
+
1402
+ define_pixels (reduced_il);
1403
+
1404
+ set_char_box (0 - xpart exact_center,
1405
+ 1.10 reduced_il# + xpart exact_center,
1406
+ 0.70 reduced_il# - ypart exact_center,
1407
+ 0.75 reduced_il# + ypart exact_center);
1408
+
1409
+ save xoffs, yoffs;
1410
+
1411
+ xoffs# = xpart exact_center;
1412
+ yoffs# = ypart exact_center;
1413
+
1414
+ define_pixels (xoffs, yoffs);
1415
+
1416
+ save ellipse, pat, T;
1417
+ path ellipse, pat;
1418
+ transform T;
1419
+
1420
+ T := identity xscaled 0.6 reduced_il
1421
+ yscaled 0.1 reduced_il
1422
+ rotated 40;
1423
+ pickup pencircle transformed T;
1424
+ ellipse := fullcircle transformed T;
1425
+
1426
+ z1 = (xoffs + 0.90 reduced_il, yoffs + .45 reduced_il);
1427
+ z2 = (xoffs + 0.80 reduced_il, yoffs + .45 reduced_il);
1428
+ z3 = (xoffs + 0.50 reduced_il, yoffs + .60 reduced_il);
1429
+ z4 = (xoffs + 0.20 reduced_il, yoffs + .45 reduced_il);
1430
+ z5 = (xoffs + 0.20 reduced_il, yoffs - .45 reduced_il);
1431
+ z6 = (xoffs + 0.40 reduced_il, yoffs - .55 reduced_il);
1432
+
1433
+ pat := z1
1434
+ .. z2
1435
+ .. z3
1436
+ -- z4
1437
+ -- z5
1438
+ -- z6;
1439
+
1440
+ fill get_subpath (ellipse, -direction 0 of pat, direction 0 of pat, z1)
1441
+ .. get_subpoint (ellipse, direction 1 of pat, z2)
1442
+ .. get_subpath (ellipse, direction (2 - epsilon) of pat, z4 - z3, z3)
1443
+ -- get_subpath (ellipse, z4 - z3, z5 - z4, z4)
1444
+ -- get_subpath (ellipse, z5 - z4, z6 - z5, z5)
1445
+ -- get_subpath (ellipse, z6 - z5, z5 - z6, z6)
1446
+ -- get_subpoint (ellipse, z5 - z6, z5)
1447
+ -- get_subpoint (ellipse, z4 - z5, z5)
1448
+ -- get_subpoint (ellipse, z4 - z5, z4)
1449
+ -- get_subpoint (ellipse, -direction (2 - epsilon) of pat, z3)
1450
+ .. get_subpath (ellipse, -direction 1 of pat, -direction 1 of pat, z2)
1451
+ .. cycle;
1452
+
1453
+ labels (1, 2, 3, 4, 5, 6);
1454
+ enddef;
1455
+
1456
+
1457
+ fet_beginchar ("Hufnagel Do clef", "hufnagel.do");
1458
+ draw_staff_if_debugging (-1, 3);
1459
+ draw_hufnagel_do_clef ((0, 0), 1.0);
1460
+ fet_endchar;
1461
+
1462
+
1463
+ fet_beginchar ("Hufnagel Do clef (reduced)", "hufnagel.do_change");
1464
+ draw_hufnagel_do_clef ((0, 0), .8);
1465
+ fet_endchar;
1466
+
1467
+
1468
+ def draw_hufnagel_fa_clef (expr exact_center, reduction) =
1469
+ % inspired by Bamberger Manuscript (15th century), in:
1470
+ % MGG, volume 2, table 59.
1471
+
1472
+ save reduced_il;
1473
+
1474
+ reduced_il# = staff_space# * reduction;
1475
+
1476
+ define_pixels (reduced_il);
1477
+
1478
+ set_char_box (0 - xpart exact_center,
1479
+ 1.20 reduced_il# + xpart exact_center,
1480
+ 1.15 reduced_il# - ypart exact_center,
1481
+ 1.00 reduced_il# + ypart exact_center);
1482
+
1483
+ save xoffs, yoffs;
1484
+
1485
+ xoffs# = xpart exact_center;
1486
+ yoffs# = ypart exact_center;
1487
+
1488
+ define_pixels (xoffs, yoffs);
1489
+
1490
+ save ellipse, pat, T;
1491
+ path ellipse, pat;
1492
+ transform T;
1493
+
1494
+ T := identity xscaled 0.6 reduced_il
1495
+ yscaled 0.1 reduced_il
1496
+ rotated 40;
1497
+ pickup pencircle transformed T;
1498
+ ellipse := fullcircle transformed T;
1499
+
1500
+ z11 = (xoffs + 0.90 reduced_il, yoffs + 0.70 reduced_il);
1501
+ z12 = (xoffs + 0.80 reduced_il, yoffs + 0.70 reduced_il);
1502
+ z13 = (xoffs + 0.50 reduced_il, yoffs + 0.85 reduced_il);
1503
+ z14 = (xoffs + 0.20 reduced_il, yoffs + 0.70 reduced_il);
1504
+ z15 = (xoffs + 0.20 reduced_il, yoffs - 1.10 reduced_il);
1505
+
1506
+ pat := z11
1507
+ .. z12
1508
+ .. z13
1509
+ -- z14
1510
+ -- z15;
1511
+
1512
+ fill get_subpath (ellipse, -direction 0 of pat, direction 0 of pat, z11)
1513
+ .. get_subpoint (ellipse, direction 1 of pat, z12)
1514
+ .. get_subpath (ellipse, direction (2 - epsilon) of pat, z14 - z13,
1515
+ z13)
1516
+ -- get_subpath (ellipse, z14 - z13, z15 - z14, z14)
1517
+ -- get_subpath (ellipse, z15 - z14, z14 - z15, z15)
1518
+ -- get_subpoint (ellipse, z14 - z15, z14)
1519
+ -- get_subpoint (ellipse, -direction (2 - epsilon) of pat, z13)
1520
+ .. get_subpath (ellipse, -direction 1 of pat, -direction 1 of pat, z12)
1521
+ .. cycle;
1522
+
1523
+ z16 = (xoffs + 0.90 reduced_il, yoffs - 0.05 reduced_il);
1524
+ z17 = (xoffs + 0.80 reduced_il, yoffs - 0.05 reduced_il);
1525
+ z18 = (xoffs + 0.50 reduced_il, yoffs + 0.10 reduced_il);
1526
+ z19 = (xoffs + 0.20 reduced_il, yoffs - 0.05 reduced_il);
1527
+
1528
+ pat := z16
1529
+ .. z17
1530
+ .. z18
1531
+ -- z19;
1532
+
1533
+ fill get_subpath (ellipse, -direction 0 of pat, direction 0 of pat, z16)
1534
+ .. get_subpoint (ellipse, direction 1 of pat, z17)
1535
+ .. get_subpath (ellipse, direction (2 - epsilon) of pat, z19 - z18,
1536
+ z18)
1537
+ -- get_subpoint (ellipse, z19 - z18, z19)
1538
+ -- get_subpoint (ellipse, -direction (2 - epsilon) of pat, z18)
1539
+ .. get_subpoint (ellipse, -direction 1 of pat, z17)
1540
+ .. cycle;
1541
+
1542
+ labels (11, 12, 13, 14, 15, 16, 17, 18, 19);
1543
+ enddef;
1544
+
1545
+
1546
+ fet_beginchar ("Hufnagel Fa clef", "hufnagel.fa");
1547
+ draw_staff_if_debugging (-1, 3);
1548
+ draw_hufnagel_fa_clef ((0, 0), 1.0);
1549
+ fet_endchar;
1550
+
1551
+
1552
+ fet_beginchar ("Hufnagel Fa clef (reduced)", "hufnagel.fa_change");
1553
+ draw_hufnagel_fa_clef ((0, 0), .8);
1554
+ fet_endchar;
1555
+
1556
+
1557
+ def draw_hufnagel_do_fa_clef (expr exact_center, reduction) =
1558
+ draw_hufnagel_do_clef (exact_center, reduction);
1559
+ draw_hufnagel_fa_clef (exact_center + (0, -2 staff_space#), reduction);
1560
+
1561
+ set_char_box (0 - xpart exact_center,
1562
+ 1.20 reduced_il# + xpart exact_center,
1563
+ 1.15 reduced_il# + 2 staff_space# - ypart exact_center,
1564
+ 0.75 reduced_il# + ypart exact_center);
1565
+ enddef;
1566
+
1567
+
1568
+ fet_beginchar ("Hufnagel Do/Fa clef", "hufnagel.do.fa");
1569
+ draw_staff_if_debugging (-1, 3);
1570
+ draw_hufnagel_do_fa_clef ((0, 0), 1.0);
1571
+ fet_endchar;
1572
+
1573
+
1574
+ fet_beginchar ("Hufnagel Do/Fa clef (reduced)", "hufnagel.do.fa_change");
1575
+ draw_hufnagel_do_fa_clef ((0, 0), .8);
1576
+ fet_endchar;
1577
+
1578
+
1579
+ %%%%%%%%
1580
+ %%
1581
+ %% Medieval East-Slavic (Kievan) Notation clefs
1582
+ %% Code by Aleksandr Andreev <aleksandr.andreev@gmail.com>
1583
+ %%
1584
+ %%%%%%%%
1585
+
1586
+ def draw_kievan_do_clef =
1587
+ z1 = (1.108 staff_space, 0.554 staff_space);
1588
+ z2 = (1.063 staff_space, -0.122 staff_space);
1589
+ z3 = (1.467 staff_space, -1.621 staff_space);
1590
+ z4 = (1.002 staff_space, -2.253 staff_space);
1591
+
1592
+ y5 = y3;
1593
+ x4 - x5 = x3 - x4;
1594
+
1595
+ z6 = (0.917 staff_space, -0.383 staff_space);
1596
+ z7 = (0.012 staff_space, -0.448 staff_space);
1597
+ z8 = (0, -0.167 staff_space);
1598
+ z9 = (0.057 staff_space, 0.464 staff_space);
1599
+ z10 = (0.994 staff_space, 0.387 staff_space);
1600
+ z11 = (1.023 staff_space, 0.554 staff_space);
1601
+
1602
+ fill z1
1603
+ .. z2{down}
1604
+ .. z3
1605
+ -- z4
1606
+ -- z5
1607
+ .. {up}z6
1608
+ & z6{left}
1609
+ .. z7
1610
+ & z7
1611
+ .. z8{up}
1612
+ .. z9
1613
+ & z9
1614
+ .. {right}z10
1615
+ & z10
1616
+ .. z11
1617
+ -- cycle;
1618
+
1619
+ set_char_box (0, 1.5 staff_space#,
1620
+ 2.25 staff_space#, 0.55 staff_space#);
1621
+ enddef;
1622
+
1623
+
1624
+ fet_beginchar ("Kievan tsefaut clef", "kievan.do");
1625
+ % This draws the Tse-Fa-Ut clef; it is a variant alto clef that
1626
+ % always occurs on the third line of the staff.
1627
+ draw_kievan_do_clef;
1628
+ fet_endchar;
1629
+
1630
+
1631
+ fet_beginchar ("Kievan tsefaut clef (change)", "kievan.do_change");
1632
+ % This is the same thing as a do clef?
1633
+ draw_kievan_do_clef;
1634
+ fet_endchar;
1635
+
1636
+ fet_endgroup ("clefs");