Repository navigation
1.7
A footer can print the caller's own text.
One feature. A tool that binds several separately rendered ABC files into one document
often needs some of its own text in the footer, such as the name of the section each page
belongs to. ${name} marks (#137) let a consumer substitute text after rendering, but
only if it can draw that text. Under the default TextRendering.outlines, every glyph is
already a path, so a consumer without fonts cannot. CeolKit now draws it instead.
%%ceolkit:label (#168)
%%footer "${pagenumber}\t${label}\t$D"
%%ceolkit:label "Reels"
X:1
T:The Silver Spear
...
X:2
T:The Kesh
%%ceolkit:label "Jigs"
...
%%ceolkit:label "<text>" supplies the value of a ${label} footer mark. The quotes are
optional and are stripped the same way %%footer's are. It parses to the new
CeolKitDirective.label(String).
It is scoped like %%footer, not like %%ceolkit:pagenumber:
- In the file header it covers the whole document.
- In a tune header it covers that tune alone, and the last one in the header wins.
- A page prints the label of the tune whose music opens that page.
%%ceolkit:label ""in a tune header clears the file header's label for that tune.
The value is drawn exactly as written. $P, $T, $D and ${…} inside it are not
expanded.
Without the directive, ${label} draws "", which is what it drew before, so existing
footers do not change. See EXTENSIONS.md for the full description.
What's Changed
- Fix #168 — %%ceolkit:label for a ${label} footer mark by @sbeitzel in #169
- Release 1.7.0 by @sbeitzel in #170
Full Changelog: v1.6.1...v1.7.0
Upgrading
Source-compatible with 1.6.1, with one exception: CeolKitDirective gains a
label(String) case, so an exhaustive switch over it that has no default needs one
more arm.
Engraved output is byte-identical to 1.6.1 for any document that does not use
%%ceolkit:label.