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,2191 @@
1
+ % Feta (not the Font-En-Tja) music font -- ancient note heads
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
+ % Neo-mensural heads originally by
7
+ % Christian Mondrup and Mats Bengtsson
8
+ %
9
+ % The LilyPond font is free software: you can redistribute it and/or modify
10
+ % it under the terms of the GNU General Public License as published by
11
+ % the Free Software Foundation, either version 3 of the License, or
12
+ % (at your option) any later version, or under the SIL Open Font License.
13
+ %
14
+ % LilyPond is distributed in the hope that it will be useful,
15
+ % but WITHOUT ANY WARRANTY; without even the implied warranty of
16
+ % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
+ % GNU General Public License for more details.
18
+ %
19
+ % You should have received a copy of the GNU General Public License
20
+ % along with LilyPond. If not, see <http://www.gnu.org/licenses/>.
21
+
22
+ save black_notehead_width;
23
+ numeric black_notehead_width;
24
+
25
+ fet_begingroup ("noteheads");
26
+
27
+ %
28
+ % character aligment:
29
+ %
30
+ % The head is assumed to be vertically centered around (0, 0).
31
+ % The left-most edge of the head should touch the vertical line
32
+ % that goes though the point (0, 0).
33
+ %
34
+ % set_char_box() conventions:
35
+ %
36
+ % * breapth: If note heads have a vertical stem or a vertical,
37
+ % serif-like feature on the left side (for example, a brevis) and
38
+ % they are aligned for intervals like a second, they overlap so that
39
+ % the vertical stems fall together. To ensure this, the 'breapth'
40
+ % value of such glyphs should be the thickness of the left vertical
41
+ % stem. Otherwise, set it to zero.
42
+ %
43
+ % * width: Should match the head's width.
44
+ %
45
+ % * depth: Should match the bottom edge of the head. Affects vertical
46
+ % collision handling.
47
+ %
48
+ % * height: Should match the top edge of the head. Affects vertical
49
+ % collision handling.
50
+ %
51
+ % TODO: should depth/height include appendages/stems?
52
+
53
+ save overdone_heads, noteheight;
54
+
55
+ overdone_heads = 0;
56
+ noteheight# := staff_space# + (1 + overdone_heads) * stafflinethickness#;
57
+ define_pixels (noteheight);
58
+
59
+
60
+ %%%%%%%%
61
+ %
62
+ %
63
+ %
64
+ % NEO-MENSURAL NOTATION
65
+ %
66
+ %
67
+ %
68
+
69
+ def paths_neomensural_brevis (expr brevwid, holeheight, open, full) =
70
+ save beamheight, head_width, head_height;
71
+ save stem_width, serif_size, serif_protrude;
72
+
73
+ head_width# := brevwid;
74
+ head_height# := noteheight#;
75
+ stem_width# := 1.3 linethickness#;
76
+
77
+ define_pixels (head_width, head_height, stem_width);
78
+
79
+ set_char_box (stem_width#, head_width# - stem_width#,
80
+ head_height# / 2, head_height# / 2);
81
+
82
+ 2 beamheight + holeheight = head_height;
83
+ serif_size := blot_diameter;
84
+ serif_protrude := .15 head_height;
85
+
86
+ z1l = (-b, -(holeheight - 2 serif_size) / 2);
87
+ z2r = z1r + serif_size * (1, -1);
88
+ z3r = (w - stem_width - serif_size, y2r);
89
+ z4l = (w, y1l);
90
+
91
+ z5 = (x4, -y4);
92
+ z6 = (x3, -y3);
93
+ z7 = (x2, -y2);
94
+ z8 = (x1, -y1);
95
+
96
+ z11r = z2l + (-serif_size, -serif_protrude);
97
+ z12l = z3l + (serif_size, -serif_protrude);
98
+
99
+ z13 = (x12, -y12);
100
+ z14 = (x11, -y11);
101
+
102
+ penpos1 (stem_width, 0);
103
+ penpos2 (beamheight, 90);
104
+ penpos3 (beamheight, 90);
105
+ penpos4 (stem_width, 180);
106
+
107
+ penpos5 (stem_width, 180);
108
+ penpos6 (beamheight, 270);
109
+ penpos7 (beamheight, 270);
110
+ penpos8 (stem_width, 0);
111
+
112
+ penpos11 (stem_width, 0);
113
+ penpos12 (stem_width, 0);
114
+ penpos13 (stem_width, 180);
115
+ penpos14 (stem_width, 180);
116
+
117
+ pat_out := z14r{up}
118
+ .. z14l{down}
119
+ .. z7l{right}
120
+ -- z6l{right}
121
+ .. z13r{up}
122
+ .. z13l{down}
123
+ -- z12r{down}
124
+ .. z12l{up}
125
+ .. z3l{left}
126
+ -- z2l{left}
127
+ .. z11r{down}
128
+ .. z11l{up}
129
+ -- cycle;
130
+
131
+ if open:
132
+ if not full:
133
+ z67r = .5 [z6r, z7r];
134
+ z23r = .5 [z2r, z3r];
135
+ labels (23r, 67r);
136
+ fi;
137
+
138
+ pat_in := z1r{down}
139
+ .. z2r{right}
140
+ if full:
141
+ -- z3r{right}
142
+ .. z4r{up}
143
+ -- z5r{up}
144
+ .. z6r{left}
145
+ else:
146
+ -- z23r
147
+ -- z67r
148
+ fi
149
+ -- z7r{left}
150
+ .. z8r{down}
151
+ -- cycle;
152
+ fi;
153
+
154
+ penlabels (range 1 thru 14);
155
+ enddef;
156
+
157
+
158
+ def draw_neomensural_brevis (expr brevwid, holeheight, open, full) =
159
+ save pat_out, pat_in;
160
+ path pat_out, pat_in;
161
+
162
+ paths_neomensural_brevis (brevwid, holeheight, open, full);
163
+ fill pat_out;
164
+ if open:
165
+ unfill pat_in;
166
+ fi;
167
+ enddef;
168
+
169
+
170
+ %
171
+ % Some sources (eg. Musix/OpusTeX) think that the appendage should be on
172
+ % the left, some say right. Right wins democratically.
173
+ %
174
+ def draw_neomensural_longa (expr wid, holeheight, direction) =
175
+ save pat_out, pat_in;
176
+ path pat_out, pat_in;
177
+ save theta, dir, t;
178
+
179
+ paths_neomensural_brevis (wid, holeheight, true, true);
180
+
181
+ dir := -direction;
182
+
183
+ x22r = head_width - stem_width;
184
+ if (direction = 1):
185
+ y22 = y13;
186
+ else:
187
+ y22 = y12;
188
+ fi;
189
+ z21 - z22 = (stem_width / 2, -dir * staff_space);
190
+ theta = dir * angle (z21 - z22) + 90;
191
+
192
+ penpos21 (1.2 stem_width, dir * theta);
193
+ penpos22 (stem_width, 0);
194
+
195
+ t := find_tangent (z21l, pat_out,
196
+ (x22l + 0.5 stem_width, y22l),
197
+ (x22l - 0.5 stem_width, y22l));
198
+
199
+ if (direction = 1):
200
+ fill subpath (0, t) of pat_out
201
+ -- z21l{z21 - z22}
202
+ .. z21r{z22 - z21}
203
+ -- subpath (floor (t + 1), length pat_out) of pat_out
204
+ & cycle;
205
+
206
+ z13r' = point t of pat_out;
207
+ labels (13r');
208
+ else:
209
+ fill subpath (0, ceiling (t - 1)) of pat_out
210
+ -- z21r{z21 - z22}
211
+ .. z21l{z22 - z21}
212
+ -- subpath (t, length pat_out) of pat_out
213
+ & cycle;
214
+
215
+ z12l' = point t of pat_out;
216
+ labels (12l');
217
+ fi;
218
+
219
+ unfill pat_in;
220
+
221
+ penlabels (21, 22);
222
+ enddef;
223
+
224
+
225
+ def draw_neomensural_black_head (expr width, height, concaveness) =
226
+ save head_width, head_height, stem_width;
227
+ save ne, nw, ne_dist, nw_dist;
228
+ pair ne, nw, ne_dist, nw_dist;
229
+
230
+ head_width# := width;
231
+ head_height# := height;
232
+ stem_width# := 1.3 linethickness#;
233
+
234
+ set_char_box (0, head_width#,
235
+ head_height# / 2, head_height# / 2);
236
+
237
+ charwx := head_width# / 2;
238
+ charwy := head_height# / 2 - 2 stem_width#;
239
+
240
+ y3 = y1 = 0;
241
+ x2 = x4 = 1/2 [x1, x3];
242
+
243
+ pickup pencircle scaled blot_diameter;
244
+
245
+ top y2 = h;
246
+ bot y4 = -d;
247
+ lft x1 = 0;
248
+ rt x3 = w;
249
+
250
+ ne := unitvector (z2 - z1);
251
+ nw_dist := (ne rotated 90) * blot_diameter / 2;
252
+ nw := unitvector (z2 - z3);
253
+ ne_dist := (nw rotated -90) * blot_diameter / 2;
254
+
255
+ fill lft z1
256
+ .. (z1 + nw_dist){ ne rotated -concaveness }
257
+ .. { ne rotated concaveness }(z2 + nw_dist)
258
+ .. top z2
259
+ .. (z2 + ne_dist){ nw rotated (180 - concaveness) }
260
+ .. { nw rotated (180 + concaveness) }(z3 + ne_dist)
261
+ .. rt z3
262
+ .. (z3 - nw_dist){ ne rotated (180 - concaveness) }
263
+ .. { ne rotated (180 + concaveness) }(z4 - nw_dist)
264
+ .. bot z4
265
+ .. (z4 - ne_dist){ nw rotated -concaveness }
266
+ .. { nw rotated concaveness }(z1 - ne_dist)
267
+ .. cycle;
268
+
269
+ labels (1, 2, 3, 4);
270
+ enddef;
271
+
272
+
273
+ def draw_neomensural_open_head (expr width, height, concaveness) =
274
+ draw_neomensural_black_head (width, height, concaveness);
275
+
276
+ save headNW, headSW, stem_width;
277
+
278
+ headNW = length (z2 - z1) + blot_diameter;
279
+ headSW = length (z4 - z1) + blot_diameter;
280
+ stem_width = 1.3 linethickness;
281
+
282
+ save hole_widthNW, hole_widthSW;
283
+
284
+ hole_widthNW = .25 headNW;
285
+ hole_widthSW + 2 stem_width = headSW;
286
+
287
+ (rt z7 + lft z5) / 2 = (w / 2, 0);
288
+ (bot z8 + top z6) / 2 = (w / 2, 0);
289
+ z6 - z5 = (hole_widthNW - blot_diameter) * unitvector (z2 - z1);
290
+ z7 - z6 = (hole_widthSW - blot_diameter) * unitvector (z4 - z1);
291
+
292
+ unfill lft z5
293
+ .. (z5 + nw_dist)
294
+ -- (z6 + nw_dist)
295
+ .. top z6
296
+ .. (z6 + ne_dist)
297
+ -- (z7 + ne_dist)
298
+ .. rt z7
299
+ .. (z7 - nw_dist)
300
+ -- (z8 - nw_dist)
301
+ .. bot z8
302
+ .. (z8 - ne_dist)
303
+ -- (z5 - ne_dist)
304
+ .. cycle;
305
+
306
+ labels (5, 6, 7, 8);
307
+ enddef;
308
+
309
+
310
+ %
311
+ % Neo-mensural maxima/longa/brevis
312
+ %
313
+ % En wij presenteren U: de opvolgster van Emily
314
+ %
315
+ % (ze is wel breed)
316
+ %
317
+
318
+ save nm_maxima_width, nm_longa_width, nm_brevis_width;
319
+ save nm_holeheight, nm_red_holeheight;
320
+
321
+ nm_maxima_width := 2.6 staff_space#;
322
+ nm_longa_width := 2 staff_space#;
323
+ nm_brevis_width := nm_longa_width;
324
+ nm_holeheight := 4 linethickness;
325
+ nm_red_holeheight := 2.5 linethickness;
326
+
327
+ fet_beginchar ("neo-mensural maxima notehead (up)", "uM3neomensural");
328
+ draw_neomensural_longa (nm_maxima_width, nm_holeheight, 1);
329
+ fet_endchar;
330
+
331
+ fet_beginchar ("neo-mensural maxima notehead (down)", "dM3neomensural");
332
+ draw_neomensural_longa (nm_maxima_width, nm_holeheight, -1);
333
+ fet_endchar;
334
+
335
+ fet_beginchar ("neo-mensural longa notehead (up)", "uM2neomensural");
336
+ draw_neomensural_longa (nm_longa_width, nm_holeheight, 1);
337
+ fet_endchar;
338
+
339
+ fet_beginchar ("neo-mensural longa notehead (down)", "dM2neomensural");
340
+ draw_neomensural_longa (nm_longa_width, nm_holeheight, -1);
341
+ fet_endchar;
342
+
343
+ fet_beginchar ("neo-mensural brevis notehead", "sM1neomensural");
344
+ draw_neomensural_brevis (nm_brevis_width, nm_holeheight, true, true);
345
+ fet_endchar;
346
+
347
+ fet_beginchar ("neo-mensural maxima notehead (up, reduced hole)",
348
+ "urM3neomensural");
349
+ draw_neomensural_longa (nm_maxima_width, nm_red_holeheight, 1);
350
+ fet_endchar;
351
+
352
+ fet_beginchar ("neo-mensural maxima notehead (down, reduced hole)",
353
+ "drM3neomensural");
354
+ draw_neomensural_longa (nm_maxima_width, nm_red_holeheight, -1);
355
+ fet_endchar;
356
+
357
+ fet_beginchar ("neo-mensural longa notehead (up, reduced hole)",
358
+ "urM2neomensural");
359
+ draw_neomensural_longa (nm_longa_width, nm_red_holeheight, 1);
360
+ fet_endchar;
361
+
362
+ fet_beginchar ("neo-mensural longa notehead (down, reduced hole)",
363
+ "drM2neomensural");
364
+ draw_neomensural_longa (nm_longa_width, nm_red_holeheight, -1);
365
+ fet_endchar;
366
+
367
+ fet_beginchar ("neo-mensural brevis notehead (reduced hole)",
368
+ "srM1neomensural");
369
+ draw_neomensural_brevis (nm_brevis_width, nm_red_holeheight, true, true);
370
+ fet_endchar;
371
+
372
+
373
+ %
374
+ % Neo-mensural semibrevis/minima/semiminima
375
+ %
376
+
377
+ save nm_height, nm_width;
378
+ nm_height := noteheight#;
379
+ nm_width := staff_space#;
380
+ fet_beginchar ("neo-mensural semibrevis head", "s0neomensural");
381
+ draw_neomensural_open_head (nm_width, nm_height, 0);
382
+ fet_endchar;
383
+
384
+ fet_beginchar ("neo-mensural minima head", "s1neomensural");
385
+ draw_neomensural_open_head (nm_width, nm_height, 0);
386
+ fet_endchar;
387
+
388
+ fet_beginchar ("neo-mensural semiminima head", "s2neomensural");
389
+ draw_neomensural_black_head (nm_width, nm_height, 0);
390
+ fet_endchar;
391
+
392
+ %%%%%%%%
393
+ %
394
+ %
395
+ %
396
+ % HARMONIC NOTATION
397
+ %
398
+ %
399
+ %
400
+
401
+ %
402
+ % WL says the thin lines should be thinner.
403
+ %
404
+
405
+ fet_beginchar ("harmonic notehead (neo-mensural open)", "s0harmonic");
406
+ draw_neomensural_open_head (1.3 staff_space#, 1.3 noteheight#, 5);
407
+ charwx := head_width#;
408
+ charwy := 0;
409
+ fet_endchar;
410
+
411
+ fet_beginchar ("harmonic notehead (neo-mensural black)", "s2harmonic");
412
+ draw_neomensural_black_head (1.3 staff_space#, 1.3 noteheight#, 5);
413
+ charwx := head_width#;
414
+ charwy := 0;
415
+ fet_endchar;
416
+
417
+
418
+ %%%%%%%%
419
+ %
420
+ %
421
+ %
422
+ % MENSURAL/PETRUCCI NOTATIONS
423
+ %
424
+ %
425
+ %
426
+
427
+ def paths_mensural_brevis (expr wid, holeheight, open, full) =
428
+ % TODO. For the moment, fall back to paths_neomensural_brevis.
429
+ paths_neomensural_brevis (wid, holeheight, open, full);
430
+ enddef;
431
+
432
+
433
+ def draw_mensural_brevis (expr wid, holeheight, open, full) =
434
+ % TODO. For the moment, fall back to draw_neomensural_brevis.
435
+ draw_neomensural_brevis (wid, holeheight, open, full);
436
+ enddef;
437
+
438
+
439
+ def draw_mensural_longa (expr wid, holeheight, open, full,
440
+ direction, ligature) =
441
+ save pat_out, pat_in;
442
+ path pat_out, pat_in;
443
+ save dir, t;
444
+
445
+ paths_mensural_brevis (wid, holeheight, open, full);
446
+
447
+ dir := -direction;
448
+
449
+ x21r = x22r = head_width - stem_width;
450
+ if (direction = 1):
451
+ y22 = y13;
452
+ else:
453
+ y22 = y12;
454
+ fi;
455
+ y22 - y21 = 1.75 dir * staff_space;
456
+
457
+ z21' = (x21, y21 - dir * stem_width / 2);
458
+
459
+ if ligature:
460
+ penpos21 (stem_width, 0);
461
+ else:
462
+ penpos21 (1.5 stem_width, 0);
463
+ fi;
464
+ penpos22 (stem_width, 0);
465
+
466
+ t := xpart (pat_out intersectiontimes (z21l -- z22l));
467
+
468
+ if (direction = 1):
469
+ fill subpath (0, t) of pat_out
470
+ -- z21l
471
+ .. z21'
472
+ .. z21r
473
+ -- subpath (floor (t + 1), length pat_out) of pat_out
474
+ & cycle;
475
+ else:
476
+ fill subpath (0, ceiling (t - 1)) of pat_out
477
+ -- z21r
478
+ .. z21'
479
+ .. z21l
480
+ -- subpath (t, length pat_out) of pat_out
481
+ & cycle;
482
+ fi;
483
+
484
+ if open:
485
+ unfill pat_in;
486
+ fi;
487
+
488
+ penlabels (21, 22);
489
+ labels (21');
490
+ enddef;
491
+
492
+
493
+ def draw_diamond_head (expr head_h, pen_w, pen_h, angle, open) =
494
+ save head_width, head_height;
495
+ save ellipse, ellipse_r;
496
+ path ellipse, ellipse_r, diamond_shape;
497
+
498
+ head_height# = head_h;
499
+ head_width# / head_height# = tand (angle);
500
+
501
+ set_char_box (0, head_width#,
502
+ head_height# / 2, head_height# / 2);
503
+
504
+ charwx := head_width# / 2;
505
+ charwy := head_height# / 2 - 2 linethickness#;
506
+
507
+ define_pixels (head_width, head_height);
508
+
509
+ ellipse := reverse fullcircle
510
+ xscaled (max (blot_diameter, pen_w * head_width))
511
+ yscaled (max (blot_diameter, pen_h * head_width))
512
+ rotated -angle;
513
+
514
+ z1 = find_tangent_shift (((0, h) -- (0, -h)), ellipse,
515
+ (0, 0), (w / 2, 0));
516
+ z2 = find_tangent_shift (((0, h) -- (w, h)), ellipse,
517
+ (w / 2, h), (w / 2, 0));
518
+ z3 = find_tangent_shift (((w, h) -- (w, -h)), ellipse,
519
+ (w, 0), (w / 2, 0));
520
+ z4 = find_tangent_shift (((0, -h) -- (w, -h)), ellipse,
521
+ (w / 2, -h), (w / 2, 0));
522
+
523
+ diamond_shape := get_subpath (ellipse, z1 - z4, z2 - z1, z1)
524
+ -- get_subpath (ellipse, z2 - z1, z3 - z2, z2)
525
+ -- get_subpath (ellipse, z3 - z2, z4 - z3, z3)
526
+ -- get_subpath (ellipse, z4 - z3, z1 - z4, z4)
527
+ -- cycle;
528
+ fill diamond_shape;
529
+
530
+ if open:
531
+ save l;
532
+ path l[];
533
+
534
+ l12 := (directionpoint (z1 - z2) of ellipse) shifted z1
535
+ -- (directionpoint (z1 - z2) of ellipse) shifted z2;
536
+ l23 := (directionpoint (z2 - z3) of ellipse) shifted z2
537
+ -- (directionpoint (z2 - z3) of ellipse) shifted z3;
538
+ l34 := (directionpoint (z3 - z4) of ellipse) shifted z3
539
+ -- (directionpoint (z3 - z4) of ellipse) shifted z4;
540
+ l41 := (directionpoint (z4 - z1) of ellipse) shifted z4
541
+ -- (directionpoint (z4 - z1) of ellipse) shifted z1;
542
+
543
+ unfill l12 intersectionpoint l23
544
+ -- l23 intersectionpoint l34
545
+ -- l34 intersectionpoint l41
546
+ -- l41 intersectionpoint l12
547
+ -- cycle;
548
+ fi;
549
+
550
+ labels (1, 2, 3, 4);
551
+ enddef;
552
+
553
+
554
+ %
555
+ % Mensural/Petrucci maxima/longa/brevis
556
+ %
557
+
558
+ save m_maxima_width, m_longa_width, m_brevis_width,
559
+ m_holeheight, m_red_holeheight;
560
+ m_maxima_width := 2.0 staff_space#;
561
+ m_longa_width := staff_space#;
562
+ m_brevis_width := m_longa_width;
563
+ m_holeheight := nm_holeheight;
564
+ m_red_holeheight := nm_red_holeheight;
565
+
566
+
567
+ fet_beginchar ("mensural maxima notehead (up)", "uM3mensural");
568
+ draw_mensural_longa (m_maxima_width, m_holeheight,
569
+ true, true, 1, false);
570
+ fet_endchar;
571
+
572
+
573
+ fet_beginchar ("mensural maxima notehead (down)", "dM3mensural");
574
+ draw_mensural_longa (m_maxima_width, m_holeheight,
575
+ true, true, -1, false);
576
+ fet_endchar;
577
+
578
+
579
+ fet_beginchar ("mensural maxima notehead (ligature)", "sM3ligmensural");
580
+ draw_mensural_brevis (m_maxima_width, m_holeheight, true, true);
581
+ fet_endchar;
582
+
583
+
584
+ fet_beginchar ("mensural longa notehead (up)", "uM2mensural");
585
+ draw_mensural_longa (m_longa_width, m_holeheight,
586
+ true, true, 1, false);
587
+ fet_endchar;
588
+
589
+
590
+ fet_beginchar ("mensural longa notehead (down)", "dM2mensural");
591
+ draw_mensural_longa (m_longa_width, m_holeheight,
592
+ true, true, -1, false);
593
+ fet_endchar;
594
+
595
+ fet_beginchar ("mensural longa notehead (ligature)", "sM2ligmensural");
596
+ draw_mensural_longa (m_longa_width, m_holeheight,
597
+ true, true, -1, true);
598
+ fet_endchar;
599
+
600
+
601
+ fet_beginchar ("mensural brevis notehead", "sM1mensural");
602
+ draw_mensural_brevis (m_brevis_width, m_holeheight, true, true);
603
+ fet_endchar;
604
+
605
+
606
+ fet_beginchar ("mensural maxima notehead (up, reduced hole)",
607
+ "urM3mensural");
608
+ draw_mensural_longa (m_maxima_width, m_red_holeheight,
609
+ true, true, 1, false);
610
+ fet_endchar;
611
+
612
+
613
+ fet_beginchar ("mensural maxima notehead (down, reduced hole)",
614
+ "drM3mensural");
615
+ draw_mensural_longa (m_maxima_width, m_red_holeheight,
616
+ true, true, -1, false);
617
+ fet_endchar;
618
+
619
+
620
+ fet_beginchar ("mensural maxima notehead (ligature, reduced hole)",
621
+ "srM3ligmensural");
622
+ draw_mensural_brevis (m_maxima_width, m_red_holeheight, true, true);
623
+ fet_endchar;
624
+
625
+
626
+ fet_beginchar ("mensural longa notehead (up, reduced hole)",
627
+ "urM2mensural");
628
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
629
+ true, true, 1, false);
630
+ fet_endchar;
631
+
632
+
633
+ fet_beginchar ("mensural longa notehead (down, reduced hole)",
634
+ "drM2mensural");
635
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
636
+ true, true, -1, false);
637
+ fet_endchar;
638
+
639
+
640
+ fet_beginchar ("mensural longa notehead (ligature, reduced hole)",
641
+ "srM2ligmensural");
642
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
643
+ true, true, -1, true);
644
+ fet_endchar;
645
+
646
+
647
+ fet_beginchar ("mensural brevis notehead (reduced hole)", "srM1mensural");
648
+ draw_mensural_brevis (m_brevis_width, m_red_holeheight, true, true);
649
+ fet_endchar;
650
+
651
+
652
+ %
653
+ % Semi-colored mensural/Petrucci maxima/longa/brevis
654
+ %
655
+
656
+ fet_beginchar ("semi-colored mensural maxima notehead (up)",
657
+ "uM3semimensural");
658
+ draw_mensural_longa (m_maxima_width, m_holeheight,
659
+ true, false, 1, false);
660
+ fet_endchar;
661
+
662
+
663
+ fet_beginchar ("semi-colored mensural maxima notehead (down)",
664
+ "dM3semimensural");
665
+ draw_mensural_longa (m_maxima_width, m_holeheight,
666
+ true, false, -1, false);
667
+ fet_endchar;
668
+
669
+
670
+ fet_beginchar ("semi-colored mensural maxima notehead (ligature)",
671
+ "sM3semiligmensural");
672
+ draw_mensural_brevis (m_maxima_width, m_holeheight, true, false);
673
+ fet_endchar;
674
+
675
+
676
+ fet_beginchar ("semi-colored mensural longa notehead (up)",
677
+ "uM2semimensural");
678
+ draw_mensural_longa (m_longa_width, m_holeheight,
679
+ true, false, 1, false);
680
+ fet_endchar;
681
+
682
+
683
+ fet_beginchar ("semi-colored mensural longa notehead (down)",
684
+ "dM2semimensural");
685
+ draw_mensural_longa (m_longa_width, m_holeheight,
686
+ true, false, -1, false);
687
+ fet_endchar;
688
+
689
+
690
+ fet_beginchar ("semi-colored mensural longa notehead (ligature)",
691
+ "sM2semiligmensural");
692
+ draw_mensural_longa (m_longa_width, m_holeheight,
693
+ true, false, -1, true);
694
+ fet_endchar;
695
+
696
+
697
+ fet_beginchar ("semi-colored mensural brevis notehead", "sM1semimensural");
698
+ draw_mensural_brevis (m_brevis_width, m_holeheight, true, false);
699
+ fet_endchar;
700
+
701
+
702
+ fet_beginchar ("semi-colored mensural maxima notehead (up, reduced hole)",
703
+ "urM3semimensural");
704
+ draw_mensural_longa (m_maxima_width, m_red_holeheight,
705
+ true, false, 1, false);
706
+ fet_endchar;
707
+
708
+
709
+ fet_beginchar ("semi-colored mensural maxima notehead (down, reduced hole)",
710
+ "drM3semimensural");
711
+ draw_mensural_longa (m_maxima_width, m_red_holeheight,
712
+ true, false, -1, false);
713
+ fet_endchar;
714
+
715
+
716
+ fet_beginchar ("semi-colored mensural maxima notehead (ligature, reduced hole)",
717
+ "srM3semiligmensural");
718
+ draw_mensural_brevis (m_maxima_width, m_red_holeheight, true, false);
719
+ fet_endchar;
720
+
721
+
722
+ fet_beginchar ("semi-colored mensural longa notehead (up, reduced hole)",
723
+ "urM2semimensural");
724
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
725
+ true, false, 1, false);
726
+ fet_endchar;
727
+
728
+
729
+ fet_beginchar ("semi-colored mensural longa notehead (down, reduced hole)",
730
+ "drM2semimensural");
731
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
732
+ true, false, -1, false);
733
+ fet_endchar;
734
+
735
+
736
+ fet_beginchar ("semi-colored mensural longa notehead (ligature, reduced hole)",
737
+ "srM2semiligmensural");
738
+ draw_mensural_longa (m_longa_width, m_red_holeheight,
739
+ true, false, -1, true);
740
+ fet_endchar;
741
+
742
+
743
+ fet_beginchar ("semi-colored mensural brevis notehead (reduced hole)",
744
+ "srM1semimensural");
745
+ draw_mensural_brevis (m_brevis_width, m_red_holeheight, true, false);
746
+ fet_endchar;
747
+
748
+
749
+ %
750
+ % Black mensural/Petrucci maxima/longa/brevis
751
+ %
752
+
753
+ fet_beginchar ("black mensural maxima notehead (up)", "uM3blackmensural");
754
+ draw_mensural_longa (m_maxima_width, 0, false, false, 1, false);
755
+ fet_endchar;
756
+
757
+
758
+ fet_beginchar ("black mensural maxima notehead (down)", "dM3blackmensural");
759
+ draw_mensural_longa (m_maxima_width, 0, false, false, -1, false);
760
+ fet_endchar;
761
+
762
+
763
+ fet_beginchar ("black mensural maxima notehead (ligature)",
764
+ "sM3blackligmensural");
765
+ draw_mensural_brevis (m_maxima_width, 0, false, false);
766
+ fet_endchar;
767
+
768
+
769
+ fet_beginchar ("black mensural longa notehead (up)", "uM2blackmensural");
770
+ draw_mensural_longa (m_longa_width, 0, false, false, 1, false);
771
+ fet_endchar;
772
+
773
+
774
+ fet_beginchar ("black mensural longa notehead (down)", "dM2blackmensural");
775
+ draw_mensural_longa (m_longa_width, 0, false, false, -1, false);
776
+ fet_endchar;
777
+
778
+
779
+ fet_beginchar ("black mensural longa notehead (ligature)",
780
+ "sM2blackligmensural");
781
+ draw_mensural_longa (m_longa_width, 0, false, false, -1, true);
782
+ fet_endchar;
783
+
784
+
785
+ fet_beginchar ("black mensural brevis notehead", "sM1blackmensural");
786
+ draw_mensural_brevis (m_brevis_width, 0, false, false);
787
+ fet_endchar;
788
+
789
+
790
+ %
791
+ % Mensural semibrevis/minima/semiminima
792
+ %
793
+
794
+ fet_beginchar ("mensural semibrevis head", "s0mensural");
795
+ draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
796
+ fet_endchar;
797
+
798
+
799
+ fet_beginchar ("mensural minima head", "s1mensural");
800
+ draw_diamond_head (staff_space#, 0.15, 0.30, 30, true);
801
+ fet_endchar;
802
+
803
+
804
+ fet_beginchar ("mensural semiminima head", "s2mensural");
805
+ draw_diamond_head (staff_space#, 0.15, 0.30, 30, false);
806
+ fet_endchar;
807
+
808
+
809
+ %
810
+ % Black mensural semibrevis/minima/semiminima
811
+ %
812
+
813
+ fet_beginchar ("black mensural semibrevis head", "s0blackmensural");
814
+ draw_diamond_head (staff_space#, 0.15, 0.30, 30, false);
815
+ fet_endchar;
816
+
817
+
818
+ %
819
+ % Petrucci semibrevis/minima/semiminima
820
+ %
821
+ % These values can be measured in several sources.
822
+ % I used "Modulis ex sacris literis delecti, Liber primus"
823
+ % Josquin Desprez, BNF
824
+
825
+ save petrucci_width, petrucci_height;
826
+ petrucci_height := 1.4 noteheight#;
827
+ petrucci_width := .72 petrucci_height;
828
+
829
+ fet_beginchar ("Petrucci semibrevis head", "s0petrucci");
830
+ draw_neomensural_open_head (petrucci_width, petrucci_height, 0);
831
+ fet_endchar;
832
+
833
+ fet_beginchar ("Petrucci minima head", "s1petrucci");
834
+ draw_neomensural_open_head (petrucci_width, petrucci_height, 0);
835
+ fet_endchar;
836
+
837
+ fet_beginchar ("Petrucci semiminima head", "s2petrucci");
838
+ draw_neomensural_black_head (petrucci_width, petrucci_height, 0);
839
+ fet_endchar;
840
+
841
+
842
+ %
843
+ % Black Petrucci semibrevis/minima/semiminima
844
+ %
845
+
846
+ fet_beginchar ("Petrucci colored semibrevis head", "s0blackpetrucci");
847
+ draw_neomensural_black_head (petrucci_width, petrucci_height, 0);
848
+ fet_endchar;
849
+
850
+ fet_beginchar ("Petrucci colored minima head", "s1blackpetrucci");
851
+ draw_neomensural_black_head (petrucci_width, petrucci_height, 0);
852
+ fet_endchar;
853
+
854
+ fet_beginchar ("Petrucci colored semiminima head", "s2blackpetrucci");
855
+ draw_neomensural_black_head (petrucci_width, petrucci_height, 0);
856
+ fet_endchar;
857
+
858
+
859
+ %%%%%%%%
860
+ %
861
+ %
862
+ %
863
+ % EDITIO VATICANA (including solesmes extensions)
864
+ %
865
+ %
866
+ %
867
+
868
+ def vat_punctum_char (expr verbose_name, internal_name,
869
+ linea, cavum, straight, auctum,
870
+ d_up, up_shift, down_shift, mag) =
871
+ fet_beginchar (verbose_name, "s" & internal_name);
872
+ save a_b, b_h, a_w;
873
+
874
+ a_b := 1.54; % b_h * a_b / a_w = wd / ht
875
+ b_h := 0.85;
876
+ a_w := 1.09;
877
+
878
+ save a, beta, ht, wd;
879
+
880
+ ht# = noteheight# * mag;
881
+ 2 beta = ht# * b_h;
882
+ a = beta * a_b;
883
+ wd# = 2 a / a_w;
884
+ black_notehead_width# := wd#;
885
+
886
+ % direction
887
+ save d_, d_sign;
888
+ pair d_;
889
+
890
+ if d_up:
891
+ d_ := up;
892
+ d_sign := 1;
893
+ else:
894
+ d_ := down;
895
+ d_sign := -1;
896
+ fi;
897
+
898
+ % convexity and eccentricity
899
+ save u_convexity, u_eccentricity;
900
+
901
+ if straight:
902
+ u_convexity# := -0.01 ht#;
903
+ u_eccentricity# := 0.0 ht#; % dummy
904
+ elseif auctum:
905
+ u_convexity# := -0.03 ht#;
906
+ u_eccentricity# := +0.25 ht#;
907
+ else:
908
+ u_convexity# := -0.05 ht#;
909
+ u_eccentricity# := 0.0 ht#; % dummy
910
+ fi;
911
+
912
+ save convexity, eccentricity;
913
+
914
+ convexity# := d_sign * u_convexity#;
915
+ eccentricity# := d_sign * u_eccentricity#;
916
+
917
+ % y shift offset
918
+ save yoffs;
919
+
920
+ if up_shift:
921
+ yoffs# := 0.08 ht#;
922
+ elseif down_shift:
923
+ yoffs# := -0.11 ht#;
924
+ else:
925
+ yoffs# := 0.00 ht#;
926
+ fi;
927
+
928
+ define_pixels (convexity, eccentricity, yoffs, ht, wd);
929
+
930
+ pickup pencircle scaled linethickness;
931
+
932
+ save height, yoffs_bt, p, circle, circle_r;
933
+ path p, circle, circle_r;
934
+
935
+ height# = 0.47 ht#;
936
+ yoffs_bt# = yoffs# - 0.5 height# - 0.25 convexity#;
937
+
938
+ define_pixels (height, yoffs_bt);
939
+
940
+ circle := fullcircle scaled linethickness;
941
+
942
+ x1 = x6;
943
+ x2 = x5;
944
+ x3 = x4;
945
+ y1 + height = y6;
946
+ y2 + height = y5;
947
+ y3 + height = y4;
948
+
949
+ save box_top, box_bt;
950
+
951
+ if auctum:
952
+ z1 = (0.00 wd + linethickness / 2, yoffs_bt);
953
+ z2 = (0.21 wd, yoffs_bt + convexity);
954
+ z3 = (0.42 wd - linethickness/ 2,
955
+ yoffs_bt + eccentricity);
956
+ box_top# = height# + yoffs_bt# + max (0, convexity#, eccentricity#);
957
+ box_bt# = yoffs_bt# + min (0, convexity#, eccentricity#);
958
+ p = z1
959
+ .. {right}z2
960
+ .. {d_}z3
961
+ -- z4{-d_}
962
+ .. z5{left}
963
+ .. z6
964
+ -- cycle;
965
+ else:
966
+ z1 = (0.00 wd + linethickness / 2, yoffs_bt);
967
+ z2 = (0.21 wd, yoffs_bt + convexity);
968
+ z3 = (0.42 wd - linethickness / 2, yoffs_bt);
969
+ box_top# = height# + yoffs_bt# + max (0, convexity#);
970
+ box_bt# = yoffs_bt# + min (0, convexity#);
971
+ p = z1
972
+ .. z2
973
+ .. z3
974
+ -- z4
975
+ .. z5
976
+ .. z6
977
+ -- cycle;
978
+ fi;
979
+
980
+ labels (1, 2, 3, 4, 5, 6);
981
+
982
+ save dirs;
983
+ pair dirs[];
984
+
985
+ dirs12 := direction (0 + epsilon) of p;
986
+ dirs2 := direction 1 of p;
987
+ dirs32 := direction (2 - epsilon) of p;
988
+ dirs45 := direction (3 + epsilon) of p;
989
+ dirs5 := direction 4 of p;
990
+ dirs65 := direction (5 - epsilon) of p;
991
+
992
+ fill get_subpath (circle, down, dirs12, z1)
993
+ .. (bot z2){dirs2}
994
+ .. get_subpath (circle, dirs32, up, z3)
995
+ -- get_subpath (circle, up, dirs45, z4)
996
+ .. (top z5){dirs5}
997
+ .. get_subpath (circle, dirs65, down, z6)
998
+ -- cycle;
999
+
1000
+ if cavum:
1001
+ save pat, t;
1002
+ path pat[];
1003
+ numeric t[];
1004
+
1005
+ pat123 := ((directionpoint -dirs12 of circle) shifted z1){dirs12}
1006
+ .. (top z2){dirs2}
1007
+ .. {dirs32}((directionpoint -dirs32 of circle) shifted z3);
1008
+ pat34 := lft z3
1009
+ -- lft z4;
1010
+ pat456 := ((directionpoint -dirs45 of circle) shifted z4){dirs45}
1011
+ .. (bot z5){dirs5}
1012
+ .. {dirs65}((directionpoint -dirs65 of circle) shifted z6);
1013
+ pat61 := rt z6
1014
+ -- rt z1;
1015
+
1016
+ t61 := ypart (pat61 intersectiontimes pat123);
1017
+ t12 := xpart (pat123 intersectiontimes pat34);
1018
+ t34 := ypart (pat34 intersectiontimes pat456);
1019
+ t45 := xpart (pat456 intersectiontimes pat61);
1020
+
1021
+ unfill subpath (t61, t12) of pat123
1022
+ -- subpath (t34, t45) of pat456
1023
+ -- cycle;
1024
+ fi;
1025
+
1026
+ set_char_box (0.00 wd#, 0.42 wd#,
1027
+ max (0, -box_bt#) + linethickness# / 2,
1028
+ max (0, box_top#) + linethickness# / 2);
1029
+
1030
+ if linea:
1031
+ save linea_width, linea_height;
1032
+
1033
+ linea_width# = 0.6 linethickness#;
1034
+ linea_height# = 0.7 ht#;
1035
+
1036
+ define_pixels (linea_width, linea_height);
1037
+
1038
+ pickup pencircle scaled 0.6 linethickness;
1039
+
1040
+ draw_rounded_block ((-0.10 wd - linea_width / 2, -linea_height / 2),
1041
+ (-0.10 wd + linea_width / 2, linea_height / 2),
1042
+ 0.6 linethickness);
1043
+ draw_rounded_block ((+0.52 wd - linea_width / 2, -linea_height / 2),
1044
+ (+0.52 wd + linea_width / 2, linea_height / 2),
1045
+ 0.6 linethickness);
1046
+
1047
+ set_char_box (0, 0.62 wd# + linea_width#,
1048
+ linea_height# / 2,
1049
+ linea_height# / 2);
1050
+
1051
+ currentpicture := currentpicture
1052
+ shifted (0.10 wd + linea_width / 2, 0);
1053
+ fi;
1054
+ fet_endchar;
1055
+ enddef;
1056
+
1057
+
1058
+ def plica_char (expr verbose_name, internal_name, d_up, mag) =
1059
+ fet_beginchar (verbose_name, "s" & internal_name);
1060
+ save a_b, b_h, a_w;
1061
+
1062
+ a_b := 1.54; % b_h * a_b / a_w = wd / ht
1063
+ b_h := 0.85;
1064
+ a_w := 1.09;
1065
+
1066
+ save a, beta, ht, wd;
1067
+
1068
+ ht# = noteheight# * mag;
1069
+ 2 beta = ht# * b_h;
1070
+ a = beta * a_b;
1071
+ wd# = 2 a / a_w;
1072
+ black_notehead_width# := wd#;
1073
+
1074
+ % direction
1075
+ save d_, d_sign;
1076
+ pair d_;
1077
+
1078
+ if d_up:
1079
+ d_ := up;
1080
+ d_sign := 1;
1081
+ else:
1082
+ d_ := down;
1083
+ d_sign := -1;
1084
+ fi;
1085
+
1086
+ % convexity and eccentricity
1087
+ save convexity, eccentricity;
1088
+
1089
+ convexity# := d_sign * -0.10 ht#;
1090
+ eccentricity# := d_sign * -0.12 ht#;
1091
+
1092
+ % y shift offset
1093
+ save yoffs;
1094
+
1095
+ yoffs# := -0.11 ht#;
1096
+
1097
+ define_pixels (convexity, eccentricity, yoffs, ht, wd);
1098
+
1099
+ pickup pencircle scaled linethickness;
1100
+
1101
+ save height, yoffs_bt, p, circle, circle_r;
1102
+ path p, circle, circle_r;
1103
+
1104
+ height# = 0.47 ht#;
1105
+ yoffs_bt# = yoffs# - 0.5 height# - 0.25 convexity#;
1106
+
1107
+ define_pixels (height, yoffs_bt);
1108
+
1109
+ circle := fullcircle scaled linethickness;
1110
+
1111
+ x1 = x6;
1112
+ x2 = x5;
1113
+ x3 = x4;
1114
+ y1 + height = y6;
1115
+ y2 + height = y5;
1116
+ y3 + height = y4;
1117
+
1118
+ save box_top, box_bt;
1119
+
1120
+ z1 = (0.00 wd + linethickness / 2, yoffs_bt);
1121
+ z2 = (0.21 wd, yoffs_bt + convexity);
1122
+ z3 = (0.42 wd - linethickness/ 2, yoffs_bt + eccentricity);
1123
+ box_top# = height# + yoffs_bt# + max (0, convexity#, eccentricity#);
1124
+ box_bt# = yoffs_bt# + min (0, convexity#, eccentricity#);
1125
+
1126
+ p = z1
1127
+ .. z2{right}
1128
+ .. z3
1129
+ -- z4
1130
+ .. z5{left}
1131
+ .. z6
1132
+ -- cycle;
1133
+
1134
+ labels (1, 2, 3, 4, 5, 6);
1135
+
1136
+ save dirs;
1137
+ pair dirs[];
1138
+
1139
+ dirs12 := direction (0 + epsilon) of p;
1140
+ dirs2 := direction 1 of p;
1141
+ dirs32 := direction (2 - epsilon) of p;
1142
+ dirs45 := direction (3 + epsilon) of p;
1143
+ dirs5 := direction 4 of p;
1144
+ dirs65 := direction (5 - epsilon) of p;
1145
+
1146
+ fill get_subpath (circle, down, dirs12, z1)
1147
+ .. (bot z2){dirs2}
1148
+ .. get_subpath (circle, dirs32, up, z3)
1149
+ -- get_subpath (circle, up, dirs45, z4)
1150
+ .. (top z5){dirs5}
1151
+ .. get_subpath (circle, dirs65, down, z6)
1152
+ -- cycle;
1153
+
1154
+ pickup pencircle scaled 0.6 linethickness;
1155
+
1156
+ save stem_bt;
1157
+
1158
+ set_char_box (0.00 wd#, 0.42 wd#,
1159
+ max (0, -box_bt#) + linethickness# / 2,
1160
+ max (0, box_top#) + linethickness# / 2);
1161
+
1162
+ fet_endchar;
1163
+ enddef;
1164
+
1165
+
1166
+ def epiphonus_char (expr verbose_name, internal_name,
1167
+ left_stem, d_up, down_shift, mag) =
1168
+ fet_beginchar (verbose_name, "s" & internal_name);
1169
+ save a_b, b_h, a_w;
1170
+
1171
+ a_b := 1.54; % b_h * a_b / a_w = wd / ht
1172
+ b_h := 0.85;
1173
+ a_w := 1.09;
1174
+
1175
+ save a, beta, ht, wd;
1176
+
1177
+ ht# = noteheight# * mag;
1178
+ 2 beta = ht# * b_h;
1179
+ a = beta * a_b;
1180
+ wd# = 2 a / a_w;
1181
+ black_notehead_width# := wd#;
1182
+
1183
+ % direction
1184
+ save d_, d_sign;
1185
+ pair d_;
1186
+
1187
+ if d_up:
1188
+ d_ := up;
1189
+ d_sign := 1;
1190
+ else:
1191
+ d_ := down;
1192
+ d_sign := -1;
1193
+ fi;
1194
+
1195
+ % convexity and eccentricity
1196
+ save convexity;
1197
+
1198
+ convexity# := d_sign * -0.05ht#;
1199
+
1200
+ % y shift offset
1201
+ save yoffs;
1202
+
1203
+ if down_shift:
1204
+ yoffs# := -0.11 ht#;
1205
+ else:
1206
+ yoffs# := 0.00 ht#;
1207
+ fi;
1208
+
1209
+ define_pixels (convexity, yoffs, ht, wd);
1210
+
1211
+ pickup pencircle scaled linethickness;
1212
+
1213
+ save height, yoffs_bt, p, circle, circle_r;
1214
+ path p, circle, circle_r;
1215
+
1216
+ height# = 0.47 ht#;
1217
+ yoffs_bt# = yoffs# - 0.5 height# - 0.25 convexity#;
1218
+
1219
+ define_pixels (height, yoffs_bt);
1220
+
1221
+ circle := fullcircle scaled linethickness;
1222
+
1223
+ x1 = x6;
1224
+ x2 = x5;
1225
+ x3 = x4;
1226
+ y1 + height = y6;
1227
+ y2 + height = y5;
1228
+ y3 + height = y4;
1229
+
1230
+ save box_top, box_bt;
1231
+
1232
+ z1 = (0.00 wd + linethickness / 2, yoffs_bt - 2.5 convexity);
1233
+ z2 = (0.06 wd, yoffs_bt + 1.4 convexity);
1234
+ z3 = (0.42 wd - linethickness / 2, yoffs_bt - 1.0 convexity);
1235
+ box_top# = height# + yoffs_bt#
1236
+ + max (-1.0 convexity#, 1.4 convexity#, 0);
1237
+ box_bt# = yoffs_bt#
1238
+ + min (-1.0 convexity#, 1.4 convexity#, 0);
1239
+ p = z1{-d_}
1240
+ .. {curl 1}z2{right}
1241
+ .. z3
1242
+ -- z4
1243
+ .. {left}z5{curl 1}
1244
+ .. {d_}z6
1245
+ -- cycle;
1246
+
1247
+ labels (1, 2, 3, 4, 5, 6);
1248
+
1249
+ save dirs, out_p;
1250
+ pair dirs[];
1251
+ path out_p;
1252
+
1253
+ dirs12 := direction (0 + epsilon) of p;
1254
+ dirs21 := direction (1 - epsilon) of p;
1255
+ dirs23 := direction (1 + epsilon) of p;
1256
+ dirs32 := direction (2 - epsilon) of p;
1257
+ dirs45 := direction (3 + epsilon) of p;
1258
+ dirs54 := direction (4 - epsilon) of p;
1259
+ dirs56 := direction (4 + epsilon) of p;
1260
+ dirs65 := direction (5 - epsilon) of p;
1261
+
1262
+ out_p = get_subpath (circle, dirs21, dirs23, z2)
1263
+ .. get_subpath (circle, dirs32, up, z3)
1264
+ -- get_subpath (circle, up, dirs45, z4)
1265
+ .. get_subpath (circle, dirs54, dirs56, z5)
1266
+ .. get_subpath (circle, dirs65, down, z6);
1267
+
1268
+ save stem_bt;
1269
+
1270
+ if left_stem:
1271
+ x11 = x1;
1272
+ bot y11 = yoffs - 1.1 ht - linethickness / 2;
1273
+
1274
+ fill out_p
1275
+ -- get_subpath (circle, down, up, z11)
1276
+ -- get_subpath (circle, up, dirs12, z1)
1277
+ .. cycle;
1278
+
1279
+ stem_bt# = yoffs# - 1.1 ht#;
1280
+
1281
+ labels (11);
1282
+ else:
1283
+ fill out_p
1284
+ -- get_subpath (circle, down, dirs12, z1)
1285
+ .. cycle;
1286
+
1287
+ stem_bt# = 0;
1288
+ fi;
1289
+
1290
+ set_char_box (0.00 wd#, 0.42 wd#,
1291
+ max (0, -box_bt#, -stem_bt#) + linethickness# / 2,
1292
+ max (0, box_top#) + linethickness# / 2);
1293
+ fet_endchar;
1294
+ enddef;
1295
+
1296
+
1297
+ def inclinatum_char (expr verbose_name, internal_name,
1298
+ small, stropha, auctum) =
1299
+ fet_beginchar (verbose_name, "s" & internal_name);
1300
+ save ht, alpha;
1301
+
1302
+ alpha := 35;
1303
+
1304
+ if small:
1305
+ ht# = 0.50 noteheight#;
1306
+ else:
1307
+ ht# = 0.80 noteheight#;
1308
+ fi;
1309
+
1310
+ draw_diamond_head (ht#, 0, 0, alpha, false);
1311
+
1312
+ save off_angle;
1313
+
1314
+ off_angle := alpha + 15;
1315
+
1316
+ save stropha_ellipse, auctum_hook, circle;
1317
+ path stropha_ellipse, auctum_hook, circle;
1318
+
1319
+ circle := reverse fullcircle scaled linethickness;
1320
+
1321
+ stropha_ellipse := fullcircle xscaled 0.25 head_height
1322
+ yscaled 0.55 head_height
1323
+ rotated alpha;
1324
+
1325
+ z11 = z12
1326
+ + linethickness / 2 * dir (180 - off_angle)
1327
+ - directionpoint dir (90 - off_angle) of stropha_ellipse;
1328
+ z12 = directionpoint -dir (90 - off_angle) of diamond_shape
1329
+ + linethickness / 2 * dir (180 - off_angle);
1330
+ z13 = (0, -0.5 head_height + linethickness);
1331
+
1332
+ auctum_hook := z12{-dir (90 - off_angle)}
1333
+ .. {dir (90 + alpha)}z13;
1334
+
1335
+ labels (12);
1336
+
1337
+ if (stropha and not auctum):
1338
+ clearit;
1339
+
1340
+ save t_in, t_out;
1341
+
1342
+ t_in := xpart ((stropha_ellipse shifted z11)
1343
+ intersectiontimes
1344
+ get_subpath (diamond_shape, left, up, (0, 0)));
1345
+ t_out := xpart ((stropha_ellipse shifted z11)
1346
+ intersectiontimes
1347
+ get_subpath (diamond_shape, up, right, (0, 0)));
1348
+
1349
+ % the addition or subtraction of `1' is necessary
1350
+ % so that we get the right starting point
1351
+ fill get_subpath_i (diamond_shape,
1352
+ dir (angle (z2 - z1) - 1),
1353
+ dir (angle (z1 - z4) + 1),
1354
+ (0, 0))
1355
+ -- get_subpath (stropha_ellipse,
1356
+ direction t_in of stropha_ellipse,
1357
+ direction t_out of stropha_ellipse,
1358
+ z11)
1359
+ -- cycle;
1360
+
1361
+ labels (11);
1362
+ fi;
1363
+
1364
+ if (auctum and not stropha):
1365
+ clearit;
1366
+
1367
+ fill get_subpath (diamond_shape,
1368
+ left,
1369
+ -dir (90 - off_angle),
1370
+ (0, 0))
1371
+ .. get_subpath (circle,
1372
+ dir (90 + alpha),
1373
+ -dir (90 + alpha),
1374
+ z13)
1375
+ .. get_subpath (circle,
1376
+ dir (90 - off_angle),
1377
+ right,
1378
+ z12)
1379
+ -- cycle;
1380
+
1381
+ labels (13);
1382
+ fi;
1383
+
1384
+ if (auctum and stropha):
1385
+ clearit;
1386
+
1387
+ save t;
1388
+
1389
+ t := xpart ((stropha_ellipse shifted z11)
1390
+ intersectiontimes
1391
+ get_subpath (diamond_shape, up, right, (0, 0)));
1392
+
1393
+ % the addition or subtraction of `1' is necessary
1394
+ % so that we get the right starting point
1395
+ fill get_subpath_i (diamond_shape,
1396
+ dir (angle (z2 - z1) - 1),
1397
+ -dir (90 - off_angle),
1398
+ (0, 0))
1399
+ .. get_subpath (circle,
1400
+ dir (90 + alpha),
1401
+ -dir (90 + alpha),
1402
+ z13)
1403
+ .. get_subpath (stropha_ellipse,
1404
+ dir (90 - off_angle),
1405
+ direction t of stropha_ellipse,
1406
+ z11)
1407
+ -- cycle;
1408
+
1409
+ labels (11, 13);
1410
+ fi;
1411
+ fet_endchar;
1412
+ enddef;
1413
+
1414
+
1415
+ % punctum
1416
+ vat_punctum_char ("Ed. Vat. punctum", "vaticana.punctum",
1417
+ false, false, false, false,
1418
+ false, false, false, 1.0);
1419
+
1420
+
1421
+ % punctum cavum (for OpusTeX compatibility)
1422
+ vat_punctum_char ("Ed. Vat. punctum cavum", "vaticana.punctum.cavum",
1423
+ false, true, false, false,
1424
+ false, false, false, 1.0);
1425
+
1426
+
1427
+ % linea punctum (for OpusTeX compatibility)
1428
+ vat_punctum_char ("Ed. Vat. linea punctum", "vaticana.linea.punctum",
1429
+ true, false, false, false,
1430
+ false, false, false, 1.0);
1431
+
1432
+
1433
+ % linea punctum cavum (for OpusTeX compatibility)
1434
+ vat_punctum_char ("Ed. Vat. linea punctum cavum", "vaticana.linea.punctum.cavum",
1435
+ true, true, false, false,
1436
+ false, false, false, 1.0);
1437
+
1438
+
1439
+ % punctum inclinatum
1440
+ inclinatum_char ("Ed. Vat. inclinatum", "vaticana.inclinatum",
1441
+ false, false, false);
1442
+
1443
+
1444
+ % pes lower punctum
1445
+ vat_punctum_char ("Ed. Vat. pes lower punctum", "vaticana.lpes",
1446
+ false, false, true, false,
1447
+ true, false, false, 1.0);
1448
+
1449
+
1450
+ % pes lower punctum
1451
+ vat_punctum_char ("Ed. Vat. pes var lower punctum", "vaticana.vlpes",
1452
+ false, false, true, false,
1453
+ true, false, true, 1.0);
1454
+
1455
+
1456
+ % pes upper punctum
1457
+ vat_punctum_char ("Ed. Vat. pes upper punctum", "vaticana.upes",
1458
+ false, false, true, false,
1459
+ false, false, false, 1.0);
1460
+
1461
+
1462
+ % pes upper punctum (shifted variation)
1463
+ %
1464
+ % This note head is used instead of the regular pes upper punctum to
1465
+ % avoid collision with the lower punctum note of the pes when the upper
1466
+ % punctum sits directly on top of the lower punctum.
1467
+ %
1468
+ vat_punctum_char ("Ed. Vat. var pes upper punctum", "vaticana.vupes",
1469
+ false, false, true, false,
1470
+ false, true, false, 1.0);
1471
+
1472
+
1473
+ % small punctum as used in epiphonus
1474
+ vat_punctum_char ("Ed. Vat. plica", "vaticana.plica",
1475
+ false, false, false, false,
1476
+ false, false, false, 0.6);
1477
+
1478
+
1479
+ % small punctum as used in epiphonus
1480
+ plica_char ("Ed. Vat. var plica", "vaticana.vplica",
1481
+ false, 0.6);
1482
+
1483
+
1484
+ % eccentric punctum as used in epiphonus
1485
+ epiphonus_char ("Ed. Vat. epiphonus", "vaticana.epiphonus",
1486
+ false, true, false, 1.0);
1487
+
1488
+
1489
+ % eccentric punctum as used in epiphonus (shifted variation)
1490
+ %
1491
+ % This note head is used instead of the regular epiphonus punctum to
1492
+ % avoid collision with the plica head when the plica sits directly on
1493
+ % top of the lower head.
1494
+ %
1495
+ epiphonus_char ("Ed. Vat. var epiphonus", "vaticana.vepiphonus",
1496
+ false, true, true, 1.0);
1497
+
1498
+
1499
+ % small punctum as used in cephalicus
1500
+ vat_punctum_char ("Ed. Vat. rev. plica", "vaticana.reverse.plica",
1501
+ false, false, false, false,
1502
+ true, false, false, 0.6);
1503
+
1504
+
1505
+ % small punctum as used in cephalicus
1506
+ plica_char ("Ed. Vat. rev. var plica", "vaticana.reverse.vplica",
1507
+ true, 0.6);
1508
+
1509
+
1510
+ % eccentric punctum as used in cephalicus; without left stem
1511
+ epiphonus_char ("Ed. Vat. inner cephalicus", "vaticana.inner.cephalicus",
1512
+ false, false, false, 1.0);
1513
+
1514
+
1515
+ % eccentric punctum as used in cephalicus; with left stem
1516
+ epiphonus_char ("Ed. Vat. cephalicus", "vaticana.cephalicus",
1517
+ true, false, false, 1.0);
1518
+
1519
+
1520
+ % quilisma
1521
+ fet_beginchar ("Ed. Vat. quilisma", "svaticana.quilisma");
1522
+ save a_b, b_h, a_w;
1523
+
1524
+ a_b := 1.54; % b_h * a_b / a_w = wd / ht
1525
+ b_h := 0.85;
1526
+ a_w := 1.09;
1527
+
1528
+ save a, beta, ht, wd;
1529
+
1530
+ ht# = noteheight#;
1531
+ 2 beta = ht# * b_h;
1532
+ a = beta * a_b;
1533
+ wd# = 2 a / a_w;
1534
+
1535
+ set_char_box (0, 0.42 wd#, 0.28 ht#, 0.36 ht#);
1536
+
1537
+ black_notehead_width# := wd#;
1538
+
1539
+ define_pixels (ht, wd);
1540
+
1541
+ save ellipse, T;
1542
+ path ellipse;
1543
+ transform T;
1544
+
1545
+ T := identity xscaled linethickness
1546
+ yscaled 0.44 ht;
1547
+ pickup pencircle transformed T;
1548
+ ellipse := reverse fullcircle transformed T;
1549
+
1550
+ z1 = (rt 0.00 wd, top -0.28 ht);
1551
+ z2 = (0.11 wd, -0.14 ht);
1552
+ z3 = (0.12 wd, +0.03 ht);
1553
+ z4 = (0.25 wd, -0.09 ht);
1554
+ z5 = (0.25 wd, +0.08 ht);
1555
+ z6 = (lft 0.42 wd, -0.04 ht);
1556
+ z7 = (lft 0.40 wd, bot +0.36 ht);
1557
+
1558
+ fill get_subpath (ellipse, z1 - z2, z2 - z1, z1)
1559
+ -- get_subpath (ellipse, z2 - z1, z1 - z2, z2)
1560
+ -- cycle;
1561
+ fill get_subpath (ellipse, z3 - z4, z4 - z3, z3)
1562
+ -- get_subpath (ellipse, z4 - z3, z3 - z4, z4)
1563
+ -- cycle;
1564
+ fill get_subpath (ellipse, z5 - z6, z6 - z5, z5)
1565
+ -- point 0 of get_subpath (ellipse, z6 - z5, z5 - z6, z6)
1566
+ -- get_subpath (ellipse, z7 - z6, z6 - z7, z7)
1567
+ -- get_subpath (ellipse, z6 - z7, z5 - z6, z6)
1568
+ -- cycle;
1569
+
1570
+ labels (1, 2, 3, 4, 5, 6, 7);
1571
+ fet_endchar;
1572
+
1573
+
1574
+ % solesmes punctum inclinatum parvum
1575
+ inclinatum_char ("Solesmes punctum inclinatum parvum", "solesmes.incl.parvum",
1576
+ true, false, false);
1577
+
1578
+
1579
+ % solesmes punctum auctum ascendens
1580
+ vat_punctum_char ("Solesmes punctum auctum ascendens", "solesmes.auct.asc",
1581
+ false, false, false, true,
1582
+ true, false, false, 1.0);
1583
+
1584
+
1585
+ % solesmes punctum auctum descendens
1586
+ vat_punctum_char ("Solesmes punctum auctum descendens", "solesmes.auct.desc",
1587
+ false, false, false, true,
1588
+ false, false, false, 1.0);
1589
+
1590
+
1591
+ % solesmes punctum inclinatum auctum
1592
+ inclinatum_char ("Solesmes punctum incl. auctum", "solesmes.incl.auctum",
1593
+ false, false, true);
1594
+
1595
+
1596
+ % solesmes stropha
1597
+ inclinatum_char ("Solesmes stropha", "solesmes.stropha",
1598
+ false, true, false);
1599
+
1600
+
1601
+ % solesmes stropha aucta
1602
+ inclinatum_char ("Solesmes stropha aucta", "solesmes.stropha.aucta",
1603
+ false, true, true);
1604
+
1605
+
1606
+ % solesmes oriscus
1607
+ fet_beginchar ("Solesmes oriscus", "ssolesmes.oriscus");
1608
+ save a_b, b_h, a_w;
1609
+
1610
+ a_b := 1.54; % b_h * a_b / a_w = wd / ht
1611
+ b_h := 0.85;
1612
+ a_w := 1.09;
1613
+
1614
+ save a, beta, ht, wd;
1615
+
1616
+ ht# = noteheight#;
1617
+ 2 beta = ht# * b_h;
1618
+ a = beta * a_b;
1619
+ wd# = 2 a / a_w;
1620
+ black_notehead_width# := wd#;
1621
+
1622
+ save convexity;
1623
+
1624
+ convexity# = +0.05 ht#;
1625
+
1626
+ define_pixels (ht, wd, convexity);
1627
+
1628
+ set_char_box (0.00 wd#, 0.50 wd#,
1629
+ 0.25 ht# + convexity#, 0.25 ht# + convexity#);
1630
+
1631
+ z1 = (0.00 wd + blot_diameter / 2, -convexity);
1632
+ z2 = (1/6 wd, +convexity);
1633
+ z3 = (2/6 wd, -convexity);
1634
+ z4 = (0.50 wd - blot_diameter / 2, +convexity);
1635
+
1636
+
1637
+ save height;
1638
+
1639
+ height = 2 ypart (directionpoint right of (z1
1640
+ .. z2
1641
+ .. z3
1642
+ .. z4));
1643
+
1644
+ save ellipse, T;
1645
+ path ellipse;
1646
+ transform T;
1647
+
1648
+ T := identity xscaled blot_diameter
1649
+ yscaled (h + d - height);
1650
+ pickup pencircle transformed T;
1651
+ ellipse := fullcircle transformed T;
1652
+
1653
+ % Adjust vertical coordinates to touch bounding box.
1654
+ y1 := top -d;
1655
+ y4 := bot h;
1656
+
1657
+ save d_;
1658
+ pair d_;
1659
+
1660
+ d_ := direction 0 of (z1
1661
+ .. z2
1662
+ .. z3
1663
+ .. z4);
1664
+
1665
+ fill get_subpath (ellipse, -d_, d_, z1)
1666
+ .. bot z2
1667
+ .. bot z3
1668
+ .. get_subpath (ellipse, d_, -d_, z4)
1669
+ .. top z3
1670
+ .. top z2
1671
+ .. cycle;
1672
+
1673
+ labels (1, 2, 3, 4);
1674
+ fet_endchar;
1675
+
1676
+
1677
+ %%%%%%%%
1678
+ %
1679
+ %
1680
+ %
1681
+ % EDITIO MEDICAEA
1682
+ %
1683
+ %
1684
+ %
1685
+
1686
+ % inclinatum
1687
+ fet_beginchar ("Ed. Med. inclinatum", "smedicaea.inclinatum");
1688
+ draw_diamond_head (1.2 staff_space#, 0, 0, 35, false);
1689
+ fet_endchar;
1690
+
1691
+
1692
+ def med_punctum_char (expr verbose_name, internal_name,
1693
+ left_up_stem, left_down_stem) =
1694
+ fet_beginchar (verbose_name, "s" & internal_name);
1695
+ save a, ht, wd;
1696
+
1697
+ ht# = 2 staff_space#;
1698
+ wd# = ht#;
1699
+ black_notehead_width# := wd#;
1700
+
1701
+ define_pixels (ht, wd);
1702
+
1703
+ save ellipse;
1704
+ path ellipse;
1705
+
1706
+ ellipse := fullcircle xscaled blot_diameter
1707
+ yscaled 0.50 ht;
1708
+
1709
+ z1 = (0.00 wd + blot_diameter / 2, 0);
1710
+ z2 = (0.4 wd - blot_diameter / 2, 0);
1711
+
1712
+ labels (1, 2);
1713
+
1714
+ pickup pencircle scaled linethickness;
1715
+
1716
+ if left_down_stem:
1717
+ z4 = (0.00 wd + linethickness / 2, -1.25 ht);
1718
+
1719
+ fill get_subpath (ellipse, left, down, z1)
1720
+ -- top lft z4{down}
1721
+ .. z4{right}
1722
+ .. top rt z4{up}
1723
+ -- (rt x4, -.5 ht / 2)
1724
+ -- get_subpath (ellipse, right, left, z2)
1725
+ -- cycle;
1726
+
1727
+ labels (4);
1728
+
1729
+ set_char_box (0.0, 0.4 wd#, 1.25 ht#, 0.25 ht#);
1730
+ elseif left_up_stem:
1731
+ z4 = (0.00 wd + linethickness / 2, +1.25 ht);
1732
+
1733
+ fill get_subpath (ellipse, down, right, z1)
1734
+ -- get_subpath (ellipse, right, left, z2)
1735
+ -- (rt x4, .5 ht / 2)
1736
+ -- bot rt z4{up}
1737
+ .. z4{left}
1738
+ .. bot lft z4{down}
1739
+ -- cycle;
1740
+
1741
+ labels (4);
1742
+
1743
+ set_char_box (0.0, 0.4 wd#, 0.25 ht#, 1.25 ht#);
1744
+ else:
1745
+ fill get_subpath (ellipse, left, right, z1)
1746
+ -- get_subpath (ellipse, right, left, z2)
1747
+ -- cycle;
1748
+
1749
+ set_char_box (0.0, 0.4 wd#, 0.25 ht#, 0.25 ht#);
1750
+ fi;
1751
+
1752
+ fet_endchar;
1753
+ enddef;
1754
+
1755
+
1756
+ % punctum
1757
+ med_punctum_char ("Ed. Med. punctum", "medicaea.punctum",
1758
+ false, false);
1759
+
1760
+
1761
+ % left up-stemmed punctum
1762
+ med_punctum_char ("Ed. Med. reverse virga", "medicaea.rvirga",
1763
+ true, false);
1764
+
1765
+
1766
+ % virga (i.e. left down-stemmed punctum)
1767
+ med_punctum_char ("Ed. Med. virga", "medicaea.virga",
1768
+ false, true);
1769
+
1770
+
1771
+ %%%%%%%%
1772
+ %
1773
+ %
1774
+ %
1775
+ % HUFNAGEL
1776
+ %
1777
+ %
1778
+ %
1779
+
1780
+ def huf_punctum_char (expr verbose_name, internal_name, down_stem) =
1781
+ fet_beginchar (verbose_name, "s" & internal_name);
1782
+ save alpha;
1783
+
1784
+ alpha = 55;
1785
+
1786
+ draw_diamond_head (staff_space#, 0, 0, alpha, false);
1787
+
1788
+ if down_stem:
1789
+ set_char_box (0, head_width#,
1790
+ 1.5 staff_space#, head_height# / 2);
1791
+
1792
+ save ellipse;
1793
+ path ellipse;
1794
+
1795
+ ellipse := reverse fullcircle xscaled blot_diameter
1796
+ yscaled 0.7 staff_space
1797
+ rotated -alpha;
1798
+
1799
+ z11 = (head_width / 2, 0);
1800
+ z12 = find_tangent_shift (((0, -d) -- (w, -d)), ellipse,
1801
+ (w / 2, -d), (w / 2, 0));
1802
+
1803
+ fill get_subpath (ellipse, up, down, z11)
1804
+ -- get_subpath (ellipse, down, up, z12)
1805
+ -- cycle;
1806
+
1807
+ labels (11, 12);
1808
+ fi;
1809
+ fet_endchar;
1810
+ enddef;
1811
+
1812
+
1813
+ % punctum
1814
+ huf_punctum_char ("Hufnagel punctum", "hufnagel.punctum", false)
1815
+
1816
+
1817
+ % virga
1818
+ huf_punctum_char ("Hufnagel virga", "hufnagel.virga", true)
1819
+
1820
+
1821
+ % pes lower punctum
1822
+ fet_beginchar ("Hufnagel pes lower punctum", "shufnagel.lpes")
1823
+ save width, height, alpha;
1824
+
1825
+ width# = 2 * staff_space#;
1826
+ height# = 0.7 * staff_space#;
1827
+ alpha = 35;
1828
+
1829
+ set_char_box (0, width#, height# / 2, height# / 2);
1830
+
1831
+ define_pixels (width, height);
1832
+
1833
+ save circle;
1834
+ path circle;
1835
+
1836
+ circle := reverse fullcircle scaled linethickness;
1837
+
1838
+ pickup pencircle scaled linethickness;
1839
+
1840
+ rt x3 = -lft x1 = width / 2;
1841
+ y2 = y3 = height / 2;
1842
+ y1 = y4 = -height / 2;
1843
+
1844
+ tand (alpha) * (y2 - y1) = x2 - x1 = x3 - x4;
1845
+
1846
+ fill get_subpath (circle, left, z2 - z1, z1)
1847
+ -- get_subpath (circle, z2 - z1, right, z2)
1848
+ -- get_subpath (circle, right, z4 - z3, z3)
1849
+ -- get_subpath (circle, z4 - z3, left, z4)
1850
+ -- cycle;
1851
+
1852
+ currentpicture := currentpicture shifted (width/2, 0);
1853
+
1854
+ % labels (1, 2, 3, 4);
1855
+ fet_endchar;
1856
+
1857
+
1858
+ %%%%%%%%%%%%
1859
+ %%
1860
+ %% Noteheads for Medieval East-Slavic (Kievan) Notation
1861
+ %% Code by Aleksandr Andreev <aleksandr.andreev@gmail.com>
1862
+ %%
1863
+ %%%%%%%%%%%%
1864
+
1865
+
1866
+ fet_beginchar ("Kievan final note", "sM2kievan");
1867
+ % This draws the Final Note.
1868
+ % It is the last note of a piece of music
1869
+ % equivalent to having a whole note and fermata in CMN.
1870
+ % It always has an invariant representation.
1871
+
1872
+ vert_bar_thickness# := 2 * stafflinethickness#;
1873
+ vert_height# := 1.5 * staff_space#;
1874
+ blank_space# := 1.5 * stafflinethickness#;
1875
+ note_width# := vert_height# - 2 * vert_bar_thickness#;
1876
+
1877
+ define_pixels (vert_height, blank_space, note_width);
1878
+ define_blacker_pixels (vert_bar_thickness);
1879
+
1880
+ path p;
1881
+ p := (0, blank_space)
1882
+ -- (0, staff_space - blank_space)
1883
+ -- (note_width + 0.5 vert_bar_thickness,
1884
+ staff_space - blank_space)
1885
+ -- (note_width + 0.5 vert_bar_thickness, blank_space)
1886
+ -- cycle;
1887
+ fill p;
1888
+ fill p reflectedabout ((0, 0), (1, 0));
1889
+
1890
+ pickup pensquare xscaled vert_bar_thickness;
1891
+
1892
+ draw (note_width + 0.5 * vert_bar_thickness, vert_height)
1893
+ -- (note_width + 0.5 * vert_bar_thickness, -vert_height);
1894
+
1895
+ set_char_box (0, note_width# + vert_bar_thickness#,
1896
+ vert_height#, vert_height#);
1897
+ fet_endchar;
1898
+
1899
+
1900
+ fet_beginchar ("Kievan recitative mark", "sM1kievan");
1901
+ inner_width# := 4 * staff_space#;
1902
+ vert_bar_thickness# := 2 * stafflinethickness#;
1903
+ vert_bar_height# := staff_space# - stafflinethickness#;
1904
+ blank_space# := 0.20 * vert_bar_height#;
1905
+
1906
+ define_pixels (inner_width, blank_space, vert_bar_height);
1907
+ define_blacker_pixels (vert_bar_thickness);
1908
+
1909
+ path p;
1910
+ p := (2.5 * vert_bar_thickness, blank_space)
1911
+ -- (2.5 * vert_bar_thickness, vert_bar_height - blank_space)
1912
+ -- (3.5 * vert_bar_thickness + inner_width,
1913
+ vert_bar_height - blank_space)
1914
+ -- (3.5 * vert_bar_thickness + inner_width, blank_space)
1915
+ -- cycle;
1916
+ fill p;
1917
+ fill p reflectedabout ((0, 0), (1, 0));
1918
+
1919
+ % draw the four vertical lines
1920
+ pickup pensquare xscaled vert_bar_thickness;
1921
+ p := (0.5 * vert_bar_thickness, vert_bar_height)
1922
+ -- (0.5 * vert_bar_thickness, -vert_bar_height);
1923
+ draw p;
1924
+ draw p shifted (2 * vert_bar_thickness, 0);
1925
+ draw p shifted (3 * vert_bar_thickness + inner_width, 0);
1926
+ draw p shifted (5 * vert_bar_thickness + inner_width, 0);
1927
+
1928
+ set_char_box (0, 6 * vert_bar_thickness# + inner_width#,
1929
+ vert_bar_height#, vert_bar_height#);
1930
+ fet_endchar;
1931
+
1932
+
1933
+ fet_beginchar ("Kievan whole note", "s0kievan");
1934
+ % the amount by which top and bottom diamond overlap
1935
+ overlap# := stafflinethickness#;
1936
+ height# := staff_space# - stafflinethickness#;
1937
+ width# := height# + overlap#;
1938
+
1939
+ define_pixels (overlap, height, width);
1940
+
1941
+ % parameters for superellipse are right, top, left, bottom
1942
+ fill superellipse ((width, 0.5 * (height + overlap)),
1943
+ (width/2, height + overlap),
1944
+ (0, 0.5 * (height + overlap)),
1945
+ (width/2, -overlap),
1946
+ 0.51);
1947
+ fill superellipse ((width, -0.5 * (height + overlap)),
1948
+ (width/2, overlap),
1949
+ (0, -0.5 * (height + overlap)),
1950
+ (width/2, -height - overlap),
1951
+ 0.51);
1952
+
1953
+ set_char_box (0, width#, height# + overlap#,
1954
+ height# + overlap#);
1955
+ fet_endchar;
1956
+
1957
+
1958
+ fet_beginchar ("Kievan quarter note down", "d2kievan");
1959
+ z1 = (0.09 * staff_space, 0.33 * staff_space);
1960
+ z2 = (0.66 * staff_space, 0.37 * staff_space);
1961
+ z3 = (0.99 * staff_space, 0.36 * staff_space);
1962
+ z4 = (0.90 * staff_space, -1.05 * staff_space);
1963
+ z5 = (1.02 * staff_space, -2.19 * staff_space);
1964
+ z6 = (0.60 * staff_space, -2.49 * staff_space);
1965
+ z7 = (0.58 * staff_space, -1.91 * staff_space);
1966
+ z8 = (0.73 * staff_space, -0.35 * staff_space);
1967
+ z9 = (0.02 * staff_space, -0.39 * staff_space);
1968
+ z10 = (0, -0.24 * staff_space);
1969
+
1970
+ fill z1{dir 8.6}
1971
+ .. z2
1972
+ .. z3
1973
+ & z3
1974
+ .. z4
1975
+ .. z5
1976
+ -- z6
1977
+ .. z7
1978
+ .. z8
1979
+ & z8{left}
1980
+ .. z9
1981
+ & z9
1982
+ .. z10
1983
+ ... {dir 75}cycle;
1984
+
1985
+ set_char_box (0, 1.02 staff_space#,
1986
+ 2.50 staff_space#, 0.40 staff_space#);
1987
+ fet_endchar;
1988
+
1989
+
1990
+ fet_beginchar ("Kievan quarter note up", "u2kievan");
1991
+ z1 = (0.090 staff_space, -0.330 staff_space);
1992
+ z2 = (0.664 staff_space, -0.371 staff_space);
1993
+ z3 = (0.986 staff_space, -0.363 staff_space);
1994
+ z4 = (0.897 staff_space, 1.051 staff_space);
1995
+ z5 = (1.019 staff_space, 2.387 staff_space);
1996
+ z6 = (0.603 staff_space, 2.587 staff_space);
1997
+ z7 = (0.583 staff_space, 1.911 staff_space);
1998
+ z8 = (0.725 staff_space, 0.346 staff_space);
1999
+ z9 = (0.017 staff_space, 0.391 staff_space);
2000
+ z10 = (0, 0.240 staff_space);
2001
+
2002
+ fill z1{dir -6.9}
2003
+ .. z2
2004
+ .. z3
2005
+ & z3
2006
+ .. z4
2007
+ .. z5
2008
+ -- z6
2009
+ .. z7
2010
+ .. z8
2011
+ & z8{left}
2012
+ .. z9
2013
+ & z9
2014
+ .. z10
2015
+ ... {dir -76.9}cycle;
2016
+
2017
+ set_char_box (0, 1.02 staff_space#,
2018
+ 0.40 staff_space#, 2.6 staff_space#);
2019
+ fet_endchar;
2020
+
2021
+
2022
+ fet_beginchar ("Kievan half note (line position)", "s1kievan");
2023
+ % This draws the half note with a short tail up and a long tail down.
2024
+ % This version of the half note is used on any line of the staff.
2025
+
2026
+ z1 = (1.031 staff_space, 0.945 staff_space);
2027
+ z2 = (0.945 staff_space, -0.122 staff_space);
2028
+ z3 = (1.059 staff_space, -1.393 staff_space);
2029
+ z4 = (0.713 staff_space, -1.564 staff_space);
2030
+ z5 = (0.672 staff_space, -0.729 staff_space);
2031
+ z6 = (0.684 staff_space, -0.318 staff_space);
2032
+ z7 = (0.448 staff_space, -0.326 staff_space);
2033
+ z8 = (0, -0.281 staff_space);
2034
+ z9 = (0.086 staff_space, 0.350 staff_space);
2035
+ z10 = (0.746 staff_space, 0.277 staff_space);
2036
+ z11 = (0.909 staff_space, 0.921 staff_space);
2037
+
2038
+ fill z1
2039
+ .. z2{down}
2040
+ .. z3
2041
+ -- z4
2042
+ .. z5{up}
2043
+ .. z6
2044
+ & z6
2045
+ .. z7{left}
2046
+ .. z8
2047
+ -- z9
2048
+ .. {right}z10
2049
+ & z10{up}
2050
+ .. z11
2051
+ -- cycle;
2052
+
2053
+ set_char_box (0, 1.06 staff_space#,
2054
+ 1.6 staff_space#, 1.0 staff_space#);
2055
+ fet_endchar;
2056
+
2057
+
2058
+ fet_beginchar ("Kievan half note (space position)", "sr1kievan");
2059
+ % This draws the half note with a short tail down and a long tail up.
2060
+ % This version of the half note is used in any space of the staff.
2061
+
2062
+ z1 = (1.071 staff_space, 1.426 staff_space);
2063
+ z2 = (0.974 staff_space, 0.191 staff_space);
2064
+ z3 = (1.059 staff_space, -0.994 staff_space);
2065
+ z4 = (0.713 staff_space, -1.169 staff_space);
2066
+ z5 = (0.676 staff_space, -0.436 staff_space);
2067
+ z6 = (0.684 staff_space, -0.310 staff_space);
2068
+ z7 = (0.448 staff_space, -0.322 staff_space);
2069
+ z8 = (0, -0.277 staff_space);
2070
+ z9 = (0.0856 staff_space, 0.359 staff_space);
2071
+ z10 = (0.746 staff_space, 0.281 staff_space);
2072
+ z11 = (0.807 staff_space, 0.847 staff_space);
2073
+ z12 = (0.945 staff_space, 1.401 staff_space);
2074
+
2075
+ fill z1
2076
+ .. z2{down}
2077
+ .. z3
2078
+ -- z4
2079
+ .. z5{up}
2080
+ .. z6
2081
+ & z6
2082
+ .. z7{left}
2083
+ .. z8
2084
+ -- z9
2085
+ .. z10{right}
2086
+ & z10
2087
+ .. z11
2088
+ .. z12
2089
+ -- cycle;
2090
+
2091
+ set_char_box (0, 1.1 staff_space#,
2092
+ 1.0 staff_space#, 1.4 staff_space#);
2093
+ fet_endchar;
2094
+
2095
+
2096
+ fet_beginchar ("Kievan eighth note (down)", "d3kievan");
2097
+ % This draws the eighth note.
2098
+ % This form of the eight note occurs on the third line or higher
2099
+ % and sometimes between the second line and the third line.
2100
+
2101
+ z1 = (0.261 staff_space, 0.416 staff_space);
2102
+ z2 = (1.022 staff_space, 0.269 staff_space);
2103
+ z3 = (0.664 staff_space, -0.603 staff_space);
2104
+ z4 = (1.259 staff_space, -0.726 staff_space);
2105
+ z5 = (1.055 staff_space, -2.012 staff_space);
2106
+ z6 = (1.186 staff_space, -2.794 staff_space);
2107
+ z7 = (0.778 staff_space, -2.999 staff_space);
2108
+ z8 = (0.741 staff_space, -2.567 staff_space);
2109
+ z9 = (0.941 staff_space, -1.467 staff_space);
2110
+ z10 = (0.33 staff_space, -1.340 staff_space);
2111
+ z11 = (0.631 staff_space, -0.448 staff_space);
2112
+ z12 = (0, -0.334 staff_space);
2113
+
2114
+ fill z1{right}
2115
+ .. z2
2116
+ -- z3{right}
2117
+ .. z4
2118
+ & z4
2119
+ .. z5{down}
2120
+ .. z6
2121
+ -- z7
2122
+ .. z8{up}
2123
+ .. z9
2124
+ & z9
2125
+ .. {left}z10
2126
+ & z10{dir 78.7}
2127
+ .. z11
2128
+ & z11
2129
+ .. {left}z12
2130
+ & z12{dir 78.7}
2131
+ .. {dir 62}cycle;
2132
+
2133
+ set_char_box (0, 1.25 staff_space#,
2134
+ 3.0 staff_space#, 0.5 staff_space#);
2135
+ fet_endchar;
2136
+
2137
+
2138
+ fet_beginchar ("Kievan eighth note (up)", "u3kievan");
2139
+ % This draws the flagged eighth note.
2140
+ % This version of the eighth note occurs on the second line or lower.
2141
+
2142
+ % first, draw the upside down quarter note
2143
+ z1 = (0.090 staff_space, -0.33 staff_space);
2144
+ z2 = (0.664 staff_space, -0.371 staff_space);
2145
+ z3 = (0.986 staff_space, -0.363 staff_space);
2146
+ z4 = (0.896 staff_space, 1.051 staff_space);
2147
+ z5 = (1.019 staff_space, 2.387 staff_space);
2148
+ z6 = (0.603 staff_space, 2.587 staff_space);
2149
+ z7 = (0.583 staff_space, 1.911 staff_space);
2150
+ z8 = (0.725 staff_space, 0.346 staff_space);
2151
+ z9 = (0.016 staff_space, 0.391 staff_space);
2152
+ z10 = (0, 0.240 staff_space);
2153
+
2154
+ fill z1{dir -6.9}
2155
+ .. z2
2156
+ .. z3
2157
+ & z3
2158
+ .. z4
2159
+ .. z5
2160
+ -- z6
2161
+ .. z7
2162
+ .. z8
2163
+ & z8{left}
2164
+ .. z9
2165
+ & z9
2166
+ .. z10
2167
+ ... {dir -76.9}cycle;
2168
+
2169
+ % now, draw the stem
2170
+ z11 = (0.033 staff_space, 2.823 staff_space);
2171
+ z12 = (0.391 staff_space, 2.648 staff_space);
2172
+ z13 = (0.354 staff_space, 2.290 staff_space);
2173
+ z14 = (0.676 staff_space, 1.076 staff_space);
2174
+ z15 = (0.693 staff_space, 0.88 staff_space);
2175
+ z16 = (0.208 staff_space, 1.699 staff_space);
2176
+ z17 = (0.024 staff_space, 2.616 staff_space);
2177
+
2178
+ fill z11
2179
+ -- z12
2180
+ .. z13{down}
2181
+ .. z14
2182
+ -- z15
2183
+ .. z16
2184
+ .. z17{up}
2185
+ .. cycle;
2186
+
2187
+ set_char_box (0, 1.0 staff_space#,
2188
+ 0.4 staff_space#, 2.9 staff_space#);
2189
+ fet_endchar;
2190
+
2191
+ fet_endgroup ("noteheads");