Fix #208 — draw |: and :: as abcm2ps does - #213
Merged
Merged
Conversation
abcm2ps rewrites `|:` to `[|:` before drawing it (draw.c, bar_cnv), so a start repeat is thick, thin, dots: the mirror image of `:|`. CeolKit drew it thin, thick, dots. `|:` now draws exactly as `[|:`. abcm2ps draws `::` as its `%%dblrepbar`, which defaults to `:][:` (format.c): dots, two thick bars, dots. CeolKit drew dots, thin, thick, dots. The two thick bars stand `barlineSeparation` apart edge to edge (SMuFL has no thick–thick separation), and the closing padding is sized from that offset. The repeat dots were set `repeatBarlineDotSeparation` from the *centre* of the bar they abut. Against a thin bar that hardly shows; against the thick bars of `::` the dots ran into them. They are now measured from the bar's edge, and `leftMargin` measures the same way — for `::` from the thick bar on its anchor, rather than from a thin–thick span it no longer has. The Canzonetta snapshot (§14.4 has both signs) is re-recorded. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix #208
Repeat signs now draw as abcm2ps 8.14 draws them, checked against both its source and its
-goutput:|:draws thick, thin, dots, the same as[|:and the mirror image of:|. abcm2ps rewrites|:to[|:before drawing it (draw.c,bar_cnv).::draws dots, thick, thick, dots. That is abcm2ps's default%%dblrepbar :][:(format.c). The two thick bars standbarlineSeparationapart, edge to edge, because SMuFL has no thick–thick separation.ColumnMetrics.rightPaddingis sized from that offset.repeatBarlineDotSeparationfrom the centre of the bar they abut, so the dots of::ran into its thick bars. That was already true of its start-side dots before this change. They are now measured from the bar's edge, andColumnMetrics.leftMarginmeasures the same way. For::, that means from the thick bar on its anchor rather than from a thin–thick span it no longer has, so the space after a::is a little tighter.No API changes. Pages using
|:or::render differently.Tests
|:and[|:mid-line both draw thick, thin, dots, and draw identically.::mid-line draws two thick barsbarlineSeparationapart, with dots on both sides clear of the bars' edges.::has a single thick bar.::.Follow-up: #212, a
::written at the start of a source line still loses its end-repeat dots.🤖 Generated with Claude Code