summaryrefslogtreecommitdiff
path: root/Build/source/texk/gregorio/gregorio-src
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-03-02 23:32:28 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-03-02 23:32:28 +0000
commit743722000d816101d939361c03e564306b3c09ec (patch)
tree7ad9576270be00dda2d1a1a5f41edee8a994514c /Build/source/texk/gregorio/gregorio-src
parent8d34546ffa1aca0eba87375e6df58193e83c98ae (diff)
gregorio 4.1.0
git-svn-id: svn://tug.org/texlive/trunk@39925 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/gregorio/gregorio-src')
-rw-r--r--Build/source/texk/gregorio/gregorio-src/.gregorio-version2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/CHANGELOG.md123
-rw-r--r--Build/source/texk/gregorio/gregorio-src/UPGRADE.md4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/configure.ac4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex4
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex16
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex8
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex11
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-rc2.pdfbin279407 -> 0 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0.pdfbin0 -> 279355 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-rc2.pdfbin647423 -> 0 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0.pdfbin0 -> 670161 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua48
-rw-r--r--Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex2
-rw-r--r--Build/source/texk/gregorio/gregorio-src/examples/PopulusSion.gabc1
-rw-r--r--Build/source/texk/gregorio/gregorio-src/examples/main-lualatex.tex7
-rw-r--r--Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c61
-rw-r--r--Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc8
18 files changed, 173 insertions, 126 deletions
diff --git a/Build/source/texk/gregorio/gregorio-src/.gregorio-version b/Build/source/texk/gregorio/gregorio-src/.gregorio-version
index ad1b4e2ce1a..b6567853108 100644
--- a/Build/source/texk/gregorio/gregorio-src/.gregorio-version
+++ b/Build/source/texk/gregorio/gregorio-src/.gregorio-version
@@ -1,4 +1,4 @@
-4.1.0-rc2
+4.1.0
*** Do not modify this file. ***
Use VersionManager.py to change the version.
diff --git a/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md b/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md
index 2b535080cab..5737429f4ba 100644
--- a/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md
+++ b/Build/source/texk/gregorio/gregorio-src/CHANGELOG.md
@@ -2,103 +2,42 @@
All notable changes to this project will be documented in this file.
As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). It follows [some conventions](http://keepachangelog.com/).
-## [Unreleased][unreleased]
-
-
-## [4.1.0-rc2] - 2016-02-25
+## [4.1.0] - 2016-03-01
### Fixed
- Hyphens now shouldn't go right of the staff lines (see [#845](https://github.com/gregorio-project/gregorio/issues/845)).
-- Offset limit calculations now function better in both directions for new bar spacing algorithm.
-- Bars ending a line are now at a correct (closer) distance from end of line.
-
-### Changed
-- The treatment of syllables with no notes has been reverted when the old spacing algorithm is used. Such syllables are now treated as notes syllables under the old algorithm (as was the case in 4.1.0-beta3 and earlier) and as bar syllables under the new algorithm.
-- The names of the spaces around bars have changed, see `gsp-default` or GregorioRef for the new names. It is now possible to tune the spacing of the virgula separately from the divisio minima, and the dominican bar separately from the divisio minor.
-- When using the new bar spacing algorithm, it is now possible to assign different spaces to bar in three different cases: inside a syllable, in a separate syllable with text, and in a separate syllable without text (see [#944](https://github.com/gregorio-project/gregorio/issues/944) for request).
-
-### Added
-- It is now possible to turn off rythmic signs (separately or all together) with `\greprintsigns`, see GregorioRef for details (and [#936](https://github.com/gregorio-project/gregorio/issues/936) for request).
-- Added `maxbaroffsettextright@nobar` and `maxbaroffsettextleft@nobar` which function identically to the normal version except that they are used then the "bar" is empty (i.e. something like `*()` in gabc).
-- Space between the two bars of a divisio finalis is now tunable through `divisiofinalissep`.
-- Added `notesonly` argument to `\gresetshiftaftermora` (see [#948](https://github.com/gregorio-project/gregorio/issues/948)).
-- Added `maxbaroffsettextright@eol` and `maxbaroffsettextleft@eol` which function identically to the normal version except that they are used then the bar is immediately followed by a manual line break (i.e. something like `test(::z)` in gabc).
-
-### Known Bugs
-- When there is no manual break, the spacing around bars at the end of a line in the new spacing algorithm is not perfect, this should be visible ony in edge cases. If you encounter such a bad spacing, you are advised to force a line break manually. See [#959](https://github.com/gregorio-project/gregorio/issues/959).
-- Above lines text does not move to account for high notes which occur in the same place. As a result the two may overlap. You can work around this by changing `abovelinestextraise` but this is a global setting, affecting the entire score. See [#960](https://github.com/gregorio-project/gregorio/issues/960).
-- A manual custos in a low note position will not push down the text associated with it, resulting in the two overlapping. See [#961](https://github.com/gregorio-project/gregorio/issues/961).
-
-## [4.1.0-rc1] - 2016-02-18
-### Fixed
-- New bar spacing algorithm now accounts for translations (and other below lyrics stuff).
- Horizontal episema on initio debilis is now sized correctly (see [#880](https://github.com/gregorio-project/gregorio/issues/880)).
-- Elisions immediately after the vowel are now properly left out of the center (see [#907](https://github.com/gregorio-project/gregorio/issues/907))
-- New bar spacing algorithm now respects the setting of `\gresetshiftaftermora`. See [#919](https://github.com/gregorio-project/gregorio/issues/919)
- Space between the text of two syllables of the same word when no hyphen is necessary is now strictly 0 (see [#922](https://github.com/gregorio-project/gregorio/issues/922))
- A horizontal episema on the first note of a torculus deminutus is now placed correctly. See [#926](https://github.com/gregorio-project/gregorio/issues/926).
-- Corrected determination of repercussive figures and other edge cases (introduced in 4.1.0-beta2). See [#928](https://github.com/gregorio-project/gregorio/issues/928) and [#929](https://github.com/gregorio-project/gregorio/issues/929).
+- Compilation of documents produced with Gregorio should be slightly faster.
+- The alignment of the vertical episema under a punctum inclinatum deminutus is now correct (see [#742](https://github.com/gregorio-project/gregorio/issues/742)).
+- `<eu>` and `<nlba>` may now be ended on the final divisio maior/finalis (see [#743](https://github.com/gregorio-project/gregorio/issues/743)).
+- Sign positioning on the first note of quadratum figures is now correct (see [#752](https://github.com/gregorio-project/gregorio/issues/752)).
+- Interlinear spacing of annotations when font size was smaller than normal. You should now see just the spacing specified by `annotationseparation`.
+- Spacing is now correct and ledger lines are now typeset for flats, sharps, and naturals above and below the staff (see [#790](https://github.com/gregorio-project/gregorio/issues/790) and [#882](https://github.com/gregorio-project/gregorio/issues/882)).
+- Forced hyphens at the end of words are no longer suppressed (see [#804](https://github.com/gregorio-project/gregorio/issues/804)).
+- Three descending, otherwise unmodified notes are now correctly grouped as a clivis followed by a punctum. If you prefer three notes butted up against each other, separate them with `!`.
### Changed
-- Adjustments to the heuristic for ledger lines to include adjacent notes (see [#862](https://github.com/gregorio-project/gregorio/issues/862)).
+- `spacebeforeeolcustos` has been increased, aproximately doubling its size. It's also been made fixed by default, but is still capapble of accepting a rubber value should you so desire.
+- The names of the spaces around bars have changed, see `gsp-default` or GregorioRef for the new names. It is now possible to tune the spacing of the virgula separately from the divisio minima, and the Dominican bar separately from the divisio minor.
- The stem length determination will use the ledger line below the note with the stem (see [#863](https://github.com/gregorio-project/gregorio/issues/863)).
- Made the oriscus orientation dependent on the note that follows. Using `1` will force the ascending oriscus and `0` will force the descending oriscus. The old behavior may be restored by setting the `oriscus-orientation` gabc header to `legacy`. See UPGRADE.md for details (for the change request, see [#774](https://github.com/gregorio-project/gregorio/issues/774) and [#898](https://github.com/gregorio-project/gregorio/issues/898)).
- Add new lines as needed to the gabc output. (see [#905](https://github.com/gregorio-project/gregorio/issues/905)).
-- Syllable with no notes are now treated as bar syllables rather than note syllables. This increase their spacing under the old algorithm and, more importantly, allows them to use the new spacing algorithm.
-- `maxbaroffset` has been split into `maxbaroffsettextleft` and `maxbaroffsettextright`
-
-### Added
-- Controls for tuning horizontal episema vertical position. See GregorioRef for details (for the change request, see [#872](https://github.com/gregorio-project/gregorio/issues/872)).
-- More dimensions are tunable: `overhepisemalowshift`, `overhepisemahighshift`, `underhepisemalowshift`, `underhepisemahighshift`, `hepisemamiddleshift`, `vepisemalowshift`, `vepisemahighshift`, `linepunctummorashift`, `spacepunctummorashift`, `spaceamonepespunctummorashift`, `lineporrectuspunctummorashift`, `spaceporrectuspunctummorashift`, `raresignshift`, `interwordspacetext@bars`, `interwordspacetext@bars@euouae`. See GregorioRef for details (for the change request for most of these, see comments in [#872](https://github.com/gregorio-project/gregorio/issues/872)).
-- A new dimension, `intersyllablespacestretchhyphen` is now available to add stretching in the case of syllables separated by an hyphen (see comments in [#922](https://github.com/gregorio-project/gregorio/issues/922))
-
-
-## [4.1.0-beta3] - 2016-02-09
-### Fixed
-- Missing file from manifests and system-setup scripts has been added (new bug in 4.1.0-beta2)
-
-### Changed
- Command line output (help message, version message, error handling) has been improved, see [#891](https://github.com/gregorio-project/gregorio/issues/891)
- Windows installer no longer copies the executable into the TeX bin directory. Instead it has the option to add its own bin directory to PATH.
- `system-setup.sh` has become `system-setup.command` so that it is double click executable on Mac.
- Post install options for Windows installer have been simplified. There are no longer separate options for MiKTeX and TeXLive. Instead the installer will determine which you have itself and act accordingly.
- Windows installer will check more locations for old installations to remove.
-
-
-## [4.1.0-beta2] - 2016-02-08
-### Fixed
-- When a flat on a ledger line (`bx` or `lx`) was preceding a note also on a ledger line, the ledger line was partially visible inside the flat, see [#882](https://github.com/gregorio-project/gregorio/issues/882).
-- Compilation of documents produced with Gregorio should be slightly faster.
-
-### Changed
-- Stem length for virgas, flexus, pes quadratum, etc. are now tunable, and have been reviewed, see [#803](https://github.com/gregorio-project/gregorio/issues/803).
- Height of the porrectus have been altered (first note moved up, second also moved up when second ambitus is more than one) so that they are more coherent with the punctum height. The porrectus stroke drawings have also been slightly altered to be slightly thinner and sharper around the bottom note (see [#858](https://github.com/gregorio-project/gregorio/issues/858)).
- When a syllable is preceeded by a punctum mora, gregorio now ignores the punctum mora in the spacing of the syllables by default, and also adds a custom space (defaulting to 0). You can change this behavior with `\gresetshiftaftermora{}`, see GregorioRef for its arguments. To balance the output, space before a punctum mora has been made slightly thinner, more in line with old Solesmes books. (For the change requests, see [#795](https://github.com/gregorio-project/gregorio/issues/795) and [#871](https://github.com/gregorio-project/gregorio/issues/871)).
- The `--admin` option is removed from the `initexmf` call for MiKTeX installations, allowing the installer to work better on Windows 10.
- MiKTeX installations no longer copy files into TEXMFLOCAL but instead registers the texmf folder which the installer creates with MiKTeX, allowing it to use those files in place. See [#884](https://github.com/gregorio-project/gregorio/issues/884)
- Windows installer now contains an uninstall script which will run as part of the uninstall action and thus should remove the Gregorio executable and TeX files from their copied locations (leaving a clean post-uninstall system).
-
-### Added
-- A new algorithm for placing bar syllables has been added. The goal of the new algorithm is to place the bar line exactly between the notes which surround it and do the same with the text associated with the bar line. It also implements a limit, `maxbaroffset`, which prevents the bar line and its text from getting too far apart. This algorithm can be activated with `\gresetbarspacing{new}`. Testing is not yet complete and it may still contain bugs. See [#767](https://github.com/gregorio-project/gregorio/issues/767).
-- It is now possible to generate a font with a different stem length schema (apart from the default one, Solesmes' is available), see [fonts/README.md](fonts/README.md) for details.
-- Some forms (`ed` for example) will have a different stem length if a ledger line is present. Heuristics to determine the presence of a ledger line or not are quite simple and may not always be correct. Gabc now allows you to force a note to act as if a ledger line was present with `[ll:1]`, or as if there was no ledger line, with `[ll:0]`. See Gabc section of GregorioRef for details.
-- The ability to typeset an inter-glyph space using `/!` in gabc (see [#868](https://github.com/gregorio-project/gregorio/issues/868))
-
-## [4.1.0-beta1] - 2016-01-23
-### Fixed
-- The alignment of the vertical episema under a punctum inclinatum deminutus is now correct (see [#742](https://github.com/gregorio-project/gregorio/issues/742)).
-- `<eu>` and `<nlba>` may now be ended on the final divisio maior/finalis (see [#743](https://github.com/gregorio-project/gregorio/issues/743)).
-- Sign positioning on the first note of quadratum figures is now correct (see [#752](https://github.com/gregorio-project/gregorio/issues/752)).
-- Interlinear spacing of annotations when font size was smaller than normal. You should now see just the spacing specified by `annotationseparation`.
-- Spacing is now correct and ledger lines are now typeset for flats, sharps, and naturals above and below the staff (see [#790](https://github.com/gregorio-project/gregorio/issues/790)).
-- Forced hyphens at the end of words are no longer suppressed (see [#804](https://github.com/gregorio-project/gregorio/issues/804)).
-- Three descending, otherwise unmodified notes are now correctly grouped as a clivis followed by a punctum. If you prefer three notes butted up against each other, separate them with `!`.
-
-### Changed
- Initial handling has been simplified. The initial style should now be specified from TeX by using the `\gresetinitiallines` command, rather than from a gabc header. Big initials and normal initials are now governed by a single `initial` style, meant to be changed between scores as appropriate. See [UPGRADE.md](UPGRADE.md) and GregorioRef for details (for the change request, see [#632](https://github.com/gregorio-project/gregorio/issues/632)). Deprecations for this change are listed in the Deprecation section, below.
- `\gresethyphen` no longer manipulates `maximumspacewithoutdash`, allowing for restoration of consistent behavior after this distance has been modified. See [#705](https://github.com/gregorio-project/gregorio/issues/705).
- The oriscus-based shapes in the greciliae font are more consistent. The shape of a scandicus with a second ambitus of two is more consistent across all score fonts.
- Minimal space between notes of different syllables (or words) has been reduced when the second syllable starts with an alteration.
-- The space between note and horizontal episema has been tightened for notes at the `c` or `k` height when there is no ledger line. Due to the intricacies of measurement, the system tries to make a best guess as to the existence of the ledger line. If the guess is wrong, you may use the `[hl:n]` and `[ll:n]` notations in gabc to override the guess. See [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#716](https://github.com/gregorio-project/gregorio/issues/716)).
+- The space between note and horizontal episema has been tightened for notes at the `c` or `k` height when there is no ledger line. Due to the intricacies of measurement, the system tries to make a best guess as to the existence of the ledger line. If the guess is wrong, you may use the `[hl:n]` and `[ll:n]` notations in gabc to override the guess. See [UPGRADE.md](UPGRADE.md) for details (for aspects of change request, see [#716](https://github.com/gregorio-project/gregorio/issues/716), and [#862](https://github.com/gregorio-project/gregorio/issues/862)).
- The custos that might appear immediately before a `<eu>` block is now suppressed by default. This behavior is controlled by the `\greseteolcustosbeforeeuouae` command. See GregorioRef and [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#761](https://github.com/gregorio-project/gregorio/issues/761)).
- Different glyphs will now be used for the liquescent stropha on a line or between lines, if supported by the font. If you prefer the old behavior, use `\grechangeglyph{StrophaAuctaLongtail}{*}{StrophaAucta}` in your TeX file. See [#773](https://github.com/gregorio-project/gregorio/issues/773).
- Headers not recognized by gregorio, rather than inducing an error, are now simply accepted by gregorio. Most of the old "standard" headers, like `book` and `manuscript-location`, are now handled in this way and thus are no longer limited to one instance. See GregorioRef for details.
@@ -106,6 +45,34 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/).
- `\grecommentary` is now less restrictive about where it occurs and need not occur directly before the score anymore.
### Added
+- It is now possible to turn off rythmic signs (separately or all together) with `\greprintsigns`, see GregorioRef for details (and [#936](https://github.com/gregorio-project/gregorio/issues/936) for request).
+- Space between the two bars of a divisio finalis is now tunable through `divisiofinalissep`.
+- Added `notesonly` argument to `\gresetshiftaftermora` (see [#948](https://github.com/gregorio-project/gregorio/issues/948)).
+- Controls for tuning horizontal episema vertical position. See GregorioRef for details (for the change request, see [#872](https://github.com/gregorio-project/gregorio/issues/872)).
+- More dimensions are tunable: `overhepisemalowshift`, `overhepisemahighshift`, `underhepisemalowshift`, `underhepisemahighshift`, `hepisemamiddleshift`, `vepisemalowshift`, `vepisemahighshift`, `linepunctummorashift`, `spacepunctummorashift`, `spaceamonepespunctummorashift`, `lineporrectuspunctummorashift`, `spaceporrectuspunctummorashift`, `raresignshift`. See GregorioRef for details (for the change request for most of these, see comments in [#872](https://github.com/gregorio-project/gregorio/issues/872)).
+- A new dimension, `intersyllablespacestretchhyphen` is now available to add stretching in the case of syllables separated by an hyphen (see comments in [#922](https://github.com/gregorio-project/gregorio/issues/922))
+- A new algorithm for placing bar syllables has been added and is now the default. It should make both bars and text centered between respectively notes and text of previous and following syllable. It can be configured in many ways through the following:
+ - `maxbaroffsettextright`
+ - `maxbaroffsettextleft`
+ - `maxbaroffsettextright@nobar`
+ - `maxbaroffsettextleft@nobar`
+ - `maxbaroffsettextright@eol`
+ - `maxbaroffsettextleft@eol`
+ - `bar@*@standalone@text` (where `*` is the type of bar)
+ - `bar@*@standalone@notext` (where `*` is the type of bar)
+ - `interwordspacetext@bars`
+ - `interwordspacetext@bars@euouae`
+ - `interwordspacetext@bars@notext`
+ - `interwordspacetext@bars@notext@euouae`
+ - `bar@rubber`
+The old spacing can be activated with `\gresetbarspacing{old}`. See the following for various aspects of the implementation:
+ - [#767](https://github.com/gregorio-project/gregorio/issues/767)
+ - [#919](https://github.com/gregorio-project/gregorio/issues/919)
+ - [#944](https://github.com/gregorio-project/gregorio/issues/944)
+ - [#978](https://github.com/gregorio-project/gregorio/issues/978)
+- It is now possible to generate a font with a different stem length schema (apart from the default one, Solesmes' is available), see [fonts/README.md](fonts/README.md) for details.
+- Some forms (`ed` for example) will have a different stem length if a ledger line is present. Heuristics to determine the presence of a ledger line or not are quite simple and may not always be correct. Gabc now allows you to force a note to act as if a ledger line was present with `[ll:1]`, or as if there was no ledger line, with `[ll:0]`. See Gabc section of GregorioRef for details.
+- The ability to typeset an inter-glyph space using `/!` in gabc (see [#868](https://github.com/gregorio-project/gregorio/issues/868))
- Support for two-, three-, and five-line staves. Set the `staff-lines` header to `2`, `3`, or `5`. For all values of `staff-lines`, the note below the staff remains 'c'. The two new notes above the staff (for a five-line staff) are `n` and `p`. See [#429](https://github.com/gregorio-project/gregorio/issues/429).
- Salicus flexus glyphs (see [#631](https://github.com/gregorio-project/gregorio/issues/631)).
- Neume fusion, activated in gabc by `@`. Use `@` before a clivis or a porrectus to get an unstemmed figure. Use `@` between two notes to fuse them explicitly. Enclose a set of notes within `@[` and `]` to automatically guess their fusion. See GregorioRef for details (for the channge requests, see [#679](https://github.com/gregorio-project/gregorio/issues/679), [#687](https://github.com/gregorio-project/gregorio/issues/687), and [#692](https://github.com/gregorio-project/gregorio/issues/692)).
@@ -116,7 +83,6 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/).
- Support for a secondary clef. Use `@` to join two clefs together, as in `c1@c4`. The first clef is considered the primary one and will be used when computing an automatic custos before a clef change. See [#755](https://github.com/gregorio-project/gregorio/issues/755).
- New headers for typesetting text after `mode` above the initial: `mode` will be typeset first, using the `modeline` style, then `mode-modifier`, using the `modemodifier` style, then `mode-differentia`, using the `modedifferentia` style. See GregorioRef for details (for the change request, see [#756](https://github.com/gregorio-project/gregorio/issues/756)).
- Automatic line breaks before a `<eu>` block may be made ragged by using `\gresetbreakbeforeeuouae{ragged}`. See GregorioRef for details (for the change request, see [#764](https://github.com/gregorio-project/gregorio/issues/764)).
-- Tunable spaces for bars with text underneath: `spacearoundsmallbartext`, `spacearoundminortext`, `spacearoundmaiortext`, `spacearoundfinalistext`, `spacebeforefinalfinalistext`. These are sized slightly larger than their "non-text" counterparts. See GregorioRef and [UPGRADE.md](UPGRADE.md) for details (for the change request, see [#766](https://github.com/gregorio-project/gregorio/issues/766)).
- The ability to typeset simple slurs. See GregorioRef for details (for the change request, see [#776](https://github.com/gregorio-project/gregorio/issues/776)).
- More control over the alignment of the annotation. You can now set either the first line or the last line of the annotation as the controling line with `\gresetannotationby{firstline}` and `\gresetannotationby{lastline}` respectively. Additionaly, within the line you can specify the top, baseline, or bottom of the line as the alignment point with `\gresetannotationvalign{top}`, `\gresetannotation{baseline}`, and `\gresetannotationvalgin{bottom}` respectively. Default behavior is baseline of the top line (as it was before). These alignment controls are applied before `annotationraise` is taken into account. See [#768](https://github.com/gregorio-project/gregorio/issues/768) for details.
- More control over the placement of the commentary. You can now set the amount of space between the lines of a multi-line commentary with `commentaryseparation` and the distance from the top line of the staff to the baseline of the bottom line of the commentary with `commentaryraise`. See [#662](https://github.com/gregorio-project/gregorio/issues/662) for original request.
@@ -187,10 +153,15 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/).
- `\setspaceafterinitial`, supplanted by `\grechangedim{afterinitialshift}...`
- `\setspacebeforeinitial`, supplanted by `\grechangedim{beforeinitialshift}...`
- `\setinitialspacing`, supplanted by `\grechangedim{beforeinitialshift}...`, `\grechangedim{manualinitialwidth}...`, and `\grechangedime{afterinitialshift}...`
-- `centering-scheme` gabc header, supplanted by `\grelyriccentering` in TeX. See GregorioRef for syntax.
+- `centering-scheme` gabc header, supplanted by `\gresetlyriccentering` in TeX. See GregorioRef for syntax.
- `gregoriotex-font` gabc header, supplanted by `\gresetgregoriofont` in TeX. See GregorioRef for syntax.
- The meaningless `gabc-version` header in gabc (see [#664](https://github.com/gregorio-project/gregorio/issues/664)).
+### Known Bugs
+- When there is no manual break, the spacing around bars at the end of a line in the new spacing algorithm is not perfect, this should be visible only in edge cases. If you encounter such a bad spacing, you are advised to force a line break manually. See [#959](https://github.com/gregorio-project/gregorio/issues/959).
+- Above lines text does not move to account for high notes which occur in the same place. As a result the two may overlap. You can work around this by changing `abovelinestextraise` but this is a global setting, affecting the entire score. See [#960](https://github.com/gregorio-project/gregorio/issues/960).
+- A manual custos in a low note position will not push down the text associated with it, resulting in the two overlapping. See [#961](https://github.com/gregorio-project/gregorio/issues/961).
+
## [4.0.1] - 2015-12-28
### Fixed
@@ -351,7 +322,7 @@ See GregorioRef.pdf for full details.
- `\setspaceafterinitial`, supplanted by `\grechangedim{afterinitialshift}...`
- `\setspacebeforeinitial`, supplanted by `\grechangedim{beforeinitialshift}...`
- `\setinitialspacing`, supplanted by `\grechangedim{beforeinitialshift}...`, `\grechangedim{manualinitialwidth}...`, and `\grechangedime{afterinitialshift}...`
-- `centering-scheme` gabc header, supplanted by `\grelyriccentering` in TeX. See GregorioRef for syntax.
+- `centering-scheme` gabc header, supplanted by `\gresetlyriccentering` in TeX. See GregorioRef for syntax.
- `gregoriotex-font` gabc header, supplanted by `\gresetgregoriofont` in TeX. See GregorioRef for syntax.
- The meaningless `gabc-version` header in gabc (see [#664](https://github.com/gregorio-project/gregorio/issues/664)).
diff --git a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
index 725ebff3c8a..8de1f2c054b 100644
--- a/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
+++ b/Build/source/texk/gregorio/gregorio-src/UPGRADE.md
@@ -62,6 +62,8 @@ The spaces around bars are now:
- `bar@minima` (both replacing `spacearoundsmallbars`)
- `bar@minor` (replacing `spacearoundminor`)
- `bar@maior` (replacing `spacearoundmaior`)
+- `bar@finalis` (replacing `spacearoundfinalis`)
+- `bar@finalifinalis` (replaceing `spacebeforefinalfinalis`)
- `bar@dominican` (new)
They have variants for the new bar spacing algorithm only:
@@ -187,7 +189,7 @@ This would have made the text which was wrapped with `<alt></alt>` in your gabc
### Centering scheme
-The gabc `centering-scheme` header is now deprecated and will disappear soon. Use the `\grelyriccentering` command from TeX instead. If you were using `centering-scheme: latine;` in gabc, now use `\grelyriccentering{vowel}` in the TeX file that includes the gabc. If you were using `centering-scheme: english;` in gabc, now use `\grelyriccentering{syllable}` in the TeX file that includes the gabc.
+The gabc `centering-scheme` header is now deprecated and will disappear soon. Use the `\gresetlyriccentering` command from TeX instead. If you were using `centering-scheme: latine;` in gabc, now use `\gresetlyriccentering{vowel}` in the TeX file that includes the gabc. If you were using `centering-scheme: english;` in gabc, now use `\gresetlyriccentering{syllable}` in the TeX file that includes the gabc.
Using the gabc header will, in this release, do that for you, but it will produce a deprecation warning. This header will no longer be available in the next release.
diff --git a/Build/source/texk/gregorio/gregorio-src/configure.ac b/Build/source/texk/gregorio/gregorio-src/configure.ac
index 5706d372930..7dd60b219ee 100644
--- a/Build/source/texk/gregorio/gregorio-src/configure.ac
+++ b/Build/source/texk/gregorio/gregorio-src/configure.ac
@@ -16,8 +16,8 @@ dnl
dnl You should have received a copy of the GNU General Public License
dnl along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([gregorio],[4.1.0-rc2],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
-FILENAME_VERSION="4_1_0-rc2"
+AC_INIT([gregorio],[4.1.0],[https://github.com/gregorio-project/gregorio/issues],[gregorio],[http://gregorio-project.github.io/])
+FILENAME_VERSION="4_1_0"
AC_SUBST(FILENAME_VERSION)
AC_DEFINE_UNQUOTED(FILENAME_VERSION, "$FILENAME_VERSION", [version suitable for file names])
MK=""
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex b/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
index d1912d57868..07988613020 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Appendix_Font_Tables.tex
@@ -25,7 +25,7 @@ this table.
&&&&&\multicolumn{4}{c}{\bfseries Variants}\\
\hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
{\bfseries Glyph Name}&%
- {\scriptsize\bfseries gabc}&%
+ {\scriptsize\bfseries Sample gabc}&%
{\scriptsize\bfseries greciliae}&%
{\scriptsize\bfseries gregorio}&%
{\scriptsize\bfseries parmesan}&%
@@ -38,7 +38,7 @@ this table.
&&&&&\multicolumn{4}{c}{\bfseries Variants}\\
\hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
{\bfseries Glyph Name}&%
- {\scriptsize\bfseries gabc}&%
+ {\scriptsize\bfseries Sample gabc}&%
{\scriptsize\bfseries greciliae}&%
{\scriptsize\bfseries gregorio}&%
{\scriptsize\bfseries parmesan}&%
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex
index c56e63e2584..4d35d6c07e7 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_User.tex
@@ -671,6 +671,10 @@ text directly.
\textbf{Nota Bene:} The same rules apply for \#1 as in \verb=\gresetspecial=.
+\macroname{\textbackslash gretilde}{}{gregoriotex-main.tex}
+Macro to print $\sim$. This macro is set using the above for \texttt{<sp>~</sp>}.
+
+
\subsubsection{Styling}
Different elements of an include score have different styles applied. These elements and their defaults are listed below:
@@ -724,8 +728,8 @@ Examples:\par\medskip
% This one is LaTeX only, and would make the above lines
% text small and italic
- \grechangestyle{abovelinetext}{\begin{small}\begin{italic}}%
- [\end{italic}\end{small}]
+ \grechangestyle{abovelinestext}{\begin{small}\begin{itshape}}%
+ [\end{itshape}\end{small}]
% This would make the initial print in 36pt font.
\grechangestyle{initial}{\fontsize{36}{36}\selectfont}
@@ -1600,6 +1604,14 @@ Minimum space between texts of different words when one of the syllable contains
Same as \texttt{interwordspacetext@bars} for \texttt{euouae} blocks (so quite rare).
\end{gdimension}
+\begin{gdimension}{interwordspacetext@bars@notext}
+Minimum space between texts of adjacent words when they are separated by a bar syllable which has no text associated with it (new bar spacing algorithm only).
+\end{gdimension}
+
+\begin{gdimension}{interwordspacetext@bars@notext@euouae}
+Same as \texttt{interwordspacetext@bars@notext} for \texttt{euouae} blocks (so quite rare).
+\end{gdimension}
+
\begin{gdimension}{textbartextspace}
Space between the text of previous syllable and the text associated with the bar (old bar spacing algorithm only).
\end{gdimension}
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex
index f1f3e0c0254..fc9ac7e7938 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_gregorio.tex
@@ -951,9 +951,6 @@ Macro to typeset the syllable.
\#9 & Gregorio\TeX\ glyphs & all the notes
\end{argtable}
-\macroname{\textbackslash GreTilde}{}{gregoriotex-main.tex}
-Macro to print $\sim$.
-
\macroname{\textbackslash GreTranslationCenterEnd}{}{gregoriotex-main.tex}
Macro to end the centering of the translation text.
@@ -1050,11 +1047,6 @@ the beginning of a line?).
\#1 & string & Text to typeset in the translation (at the beginning of a line).\\
\end{argtable}
-\macroname{\textbackslash GreZeroHyph}{}{gregoriotex-main.tex}
-Macro to typeset a zero-width hyphen (the hyphen is visible, it is only
-treated as if it had 0 width when calculating spaces). Used for fine tuning spacing
-(especially at line endings).
-
\macroname{\textbackslash GreForceBreak}{}{gregoriotex-spaces.tex}
Macro used to force a line break to occur at a given position.
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex
index 20f03c62861..d965ab77b08 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/Command_Index_internal.tex
@@ -517,12 +517,14 @@ Count to track where on the line we are. Values are \texttt{0} (we are not near
\macroname{\textbackslash gre@savedlastoflinecount}{}{gregoriotex-main.tex}
A spot to save the \verb=\gre@lastoflinecount= so we can change it temporarily and revert to the saved value later.
-\macroname{\textbackslash gre@newlinecommon}{\#1}{gregoriotex-main.tex}
+\macroname{\textbackslash gre@newlinecommon}{\#1\#2}{gregoriotex-main.tex}
The macro which needs to be called each time a new lines is started.
\begin{argtable}
\#1 & \texttt{0} & Justifying the line being ended\\
& \texttt{1} & Do not justify the line being ended\\
+ \#2 & \texttt{0} & Take care of eolshift\\
+ & \texttt{1} & Do not adjust end of line (when already done by the new spacing algorithm)\\
\end{argtable}
\macroname{\textbackslash gre@endafterbar}{\#1}{gregoriotex-main.tex}
@@ -1347,6 +1349,11 @@ The divisio maior.
\macroname{\textbackslash gre@char@normalhyphen}{}{gregoriotex-main.tex}
A normal hyphen in the text font.
+\macroname{\textbackslash gre@char@zerohyph}{}{gregoriotex-main.tex}
+Macro to typeset a zero-width hyphen (the hyphen is visible, it is only
+treated as if it had 0 width when calculating spaces). Used for fine tuning spacing
+(especially at line endings).
+
\macroname{\textbackslash gre@char@fuse@debilis}{}{gregoriotex-chars.tex}
A fused character consisting of a leading punctum initio debilis (of ambitus one) and a regular punctum.
@@ -1591,7 +1598,7 @@ Boolean to disable the printing of horizontal episemata.
\macroname{\textbackslash ifgre@disablemora}{}{gregoriotex-signs.tex}
Boolean to disable the printing of punctum morae.
-\macroname{\textbackslash ifgre@disablevepsiema}{}{gregoriotex-signs.tex}
+\macroname{\textbackslash ifgre@disablevepisema}{}{gregoriotex-signs.tex}
Boolean to disable the printing of vertical episemata.
\macroname{\textbackslash ifgre@lastendswithmorasave}{}{gregoriotex-syllable.tex}
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-rc2.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-rc2.pdf
deleted file mode 100644
index a11010469e0..00000000000
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-rc2.pdf
+++ /dev/null
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0.pdf
new file mode 100644
index 00000000000..e1bfea94b8c
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-rc2.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-rc2.pdf
deleted file mode 100644
index eca215b5377..00000000000
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-rc2.pdf
+++ /dev/null
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0.pdf b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0.pdf
new file mode 100644
index 00000000000..112a44ea395
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
index 50bd52134fc..a846f99a79d 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.lua
@@ -32,7 +32,6 @@ local EXCLUDE = {
PunctumLineBR = true,
PunctumLineTR = true,
PunctumSmall = true,
- FlexusNobar = true,
FlexusLineBL = true,
FlexusAmOneLineBL = true,
OriscusLineTR = true,
@@ -51,6 +50,7 @@ local EXCLUDE = {
['DivisioMaior.2'] = true,
['DivisioMaior.3'] = true,
['DivisioMaior.5'] = true,
+ VirgaBaseLineBL = true,
}
local GABC = {
@@ -94,18 +94,22 @@ local GABC = {
LineaPunctumCavumHole = [[\excluded{gr0}]],
Natural = [[gy]],
NaturalHole = [[\excluded{gy}]],
- Oriscus = [[go]],
- OriscusCavum = [[gor]],
+ Oriscus = [[go1]],
+ OriscusCavum = [[go1r]],
OriscusCavumDeminutus = [[gor\~{}]],
OriscusCavumDeminutusHole = [[\excluded{gor\~{}}]],
OriscusCavumHole = [[\excluded{gor}]],
- OriscusCavumReversus = [[gor>]],
- OriscusCavumReversusHole = [[\excluded{gor>}]],
+ OriscusCavumReversus = [[go0r]],
+ OriscusCavumReversusHole = [[\excluded{go0r}]],
OriscusLineBL = [[\excluded{e}@go]],
- OriscusReversus = [[go^^^^003c]],
+ OriscusReversus = [[go0]],
OriscusReversusLineTL = [[\excluded{i}@go]],
- OriscusScapus = [[gO]],
- OriscusScapusLongqueue = [[hO]],
+ OriscusScapus = [[gO1]],
+ OriscusScapusLongqueue = [[hO1]],
+ OriscusScapusOpenqueue = [[aO1]],
+ OriscusScapusReversus = [[gO0]],
+ OriscusScapusReversusLongqueue = [[hO0]],
+ OriscusScapusReversusOpenqueue = [[aO0]],
Pes = [[gi]],
PesQuadratum = [[gqi]],
PesQuadratumLongqueue = [[hqj]],
@@ -117,6 +121,7 @@ local GABC = {
Porrectus = [[geg]],
PorrectusFlexus = [[gege]],
PorrectusFlexusNobar = [[\excluded{e}gege]],
+ PorrectusLongqueue = [[hfh]],
PorrectusNobar = [[@geg]],
Punctum = [[g]],
PunctumCavum = [[gr]],
@@ -152,12 +157,25 @@ local GABC = {
VEpisema = [[\excluded{g}^^^^0027]],
Virga = [[gv]],
VirgaLongqueue = [[hv]],
+ VirgaOpenqueue = [[av]],
VirgaReversa = [[gV]],
VirgaReversaLongqueue = [[hV]],
+ VirgaReversaOpenqueue = [[aV]],
VirgaStrata = [[giO]],
Virgula = [[^^^^0060]],
}
+local GABC_AMBITUS_ONE = {
+ PorrectusLongqueue = [[hgh]],
+ PorrectusFlexusLongqueue = [[hghg]],
+ FlexusOpenqueue = [[ba]],
+ FlexusOriscusScapusOpenqueue = [[bOa]],
+ PesQuadratumOpenqueue = [[aqb]],
+ PesQuassusOpenqueue = [[aob]],
+ PesQuilismaQuadratumOpenqueue = [[aWb]],
+}
+
+-- if the item is a table, the values will replace fuse_head and gabc
local GABC_FUSE = {
Upper = {
Punctum = [[\excluded{e}@]],
@@ -165,8 +183,10 @@ local GABC_FUSE = {
Pes = [[\excluded{e}@]],
PesQuadratum = [[\excluded{e}@]],
PesQuadratumLongqueue = [[\excluded{f}@]],
+ PesQuadratumOpenqueue = { [[\excluded{a}@]], [[bq[ll:0]c]] },
PesQuassus = [[\excluded{e}@]],
PesQuassusLongqueue = [[\excluded{f}@]],
+ PesQuassusOpenqueue = { [[\excluded{a}@]], [[bo[ll:0]c]] },
Flexus = [[\excluded{e}@]],
},
Lower = {
@@ -175,6 +195,7 @@ local GABC_FUSE = {
Pes = [[\excluded{i}@]],
PesQuadratum = [[\excluded{i}@]],
PesQuadratumLongqueue = [[\excluded{j}@]],
+ PesQuadratumOpenqueue = [[\excluded{b}@]],
PesQuassus = [[\excluded{i}@]],
Flexus = [[\excluded{i}@]],
FlexusOriscus = [[\excluded{i}@]],
@@ -261,7 +282,7 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_parmesan)
local function emit_score_glyph(fusion, shape, ambitus, debilis, liquescence)
local name = fusion..shape..ambitus..debilis..liquescence
local char = common_glyphs[name]
- local gabc = GABC[shape]
+ local gabc = GABC[shape] or GABC_AMBITUS_ONE[shape]
if gabc then
local fuse_head = ''
local fuse_tail = ''
@@ -270,6 +291,9 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_parmesan)
if fuse_head == nil then
tex.error('No head fusion for '..name)
end
+ if type(fuse_head) == 'table' then
+ fuse_head, gabc = fuse_head[1], fuse_head[2]
+ end
end
local liq = liquescence
if liq == 'Up' or liq == 'Down' then
@@ -318,6 +342,7 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_parmesan)
local pattern = C(fusion^-1) * C(word^1) * C(ambitus^0) * C(debilis^-1) *
C(liquescentia^-1) * -1
local only_twos = P'Two'^1 * -1
+ local ambitus_one = P'One' * P'Two'^0 * -1
for name in pairs(common_glyphs) do
local a, b, c, d, e = pattern:match(name)
if b then
@@ -349,8 +374,9 @@ function GregorioRef.emit_score_glyphs(cs_greciliae, cs_gregorio, cs_parmesan)
local first = true
local i, name
for i, name in ipairs(glyph_names) do
- if not EXCLUDE[name[1]] then
- if (name[3] == '' and name[5] == '') or name[3] == '' or only_twos:match(name[3]) then
+ if not EXCLUDE[name[2]] then
+ if (name[3] == '' and name[5] == '') or name[3] == '' or only_twos:match(name[3])
+ or (GABC_AMBITUS_ONE[name[2]] and ambitus_one:match(name[3])) then
if first then
first = false
else
diff --git a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
index 80731814ea5..9ea0d67445a 100644
--- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
+++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef.tex
@@ -152,7 +152,7 @@
\vspace{1cm}
- \large Version \textbf{4.1.0-rc2}, 25 February 2016 %% PARSE_VERSION_DATE
+ \large Version \textbf{4.1.0}, 1 March 2016 %% PARSE_VERSION_DATE
\vspace{1.5cm}
\end{center}
diff --git a/Build/source/texk/gregorio/gregorio-src/examples/PopulusSion.gabc b/Build/source/texk/gregorio/gregorio-src/examples/PopulusSion.gabc
index 124b949546a..856dde3d091 100644
--- a/Build/source/texk/gregorio/gregorio-src/examples/PopulusSion.gabc
+++ b/Build/source/texk/gregorio/gregorio-src/examples/PopulusSion.gabc
@@ -7,6 +7,7 @@ name: PĆ³pulus Sion;
office-part: Introitus;
occasion: Dominica II Adventus;
date: 2006;
+commentary: Cf. Is. 30, 19 . 30 ; Ps. 79;
transcriber: Elie Roux;
transcription-date: 2006;
style: modern;
diff --git a/Build/source/texk/gregorio/gregorio-src/examples/main-lualatex.tex b/Build/source/texk/gregorio/gregorio-src/examples/main-lualatex.tex
index 24b33797e65..018a0a06b37 100644
--- a/Build/source/texk/gregorio/gregorio-src/examples/main-lualatex.tex
+++ b/Build/source/texk/gregorio/gregorio-src/examples/main-lualatex.tex
@@ -29,12 +29,13 @@
% We set red lines here, comment it if you want black ones.
\gresetlinecolor{gregoriocolor}
-% We set VII above the initial.
+% We set VII above the initial manually
\grechangestyle{annotation}{\small\bfseries}
\greannotation{Intr.}
\greannotation{\textsc{vii}}
-% We type a text in the top right corner of the score:
-\grecommentary{Cf. Is. 30, 19 . 30 ; Ps. 79}
+
+% We use the "commentary" field of the score in the top right corner:
+\gresetheadercapture{commentary}{grecommentary}{string}
% and finally we include the scores. The file must be in the same directory as this one.
\gregorioscore[a]{PopulusSion}
diff --git a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
index 041c8806682..ad358da55d9 100644
--- a/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
+++ b/Build/source/texk/gregorio/gregorio-src/src/gregoriotex/gregoriotex-write.c
@@ -537,13 +537,27 @@ static const char *fusible_queued_shape(const gregorio_note *const note,
name = ambitus_one? base_shape : longqueue_shape;
break;
}
- } else {
+ } else if (glyph->u.notes.fuse_to_next_glyph) {
+ /* TODO (5.0?) handle queue size on upwards fusion */
switch (queuetype_of(note)) {
case Q_ON_SPACE_BELOW_BOTTOM_LINE:
case Q_ON_SPACE_ABOVE_BOTTOM_LINE:
+ case Q_ON_BOTTOM_LINE:
+ name = base_shape;
+ break;
+ case Q_ON_LINE_ABOVE_BOTTOM_LINE:
+ name = longqueue_shape;
+ break;
+ }
+ } else {
+ switch (queuetype_of(note)) {
+ case Q_ON_SPACE_ABOVE_BOTTOM_LINE:
name = base_shape;
break;
+ case Q_ON_SPACE_BELOW_BOTTOM_LINE:
case Q_ON_BOTTOM_LINE:
+ name = openqueue_shape;
+ break;
case Q_ON_LINE_ABOVE_BOTTOM_LINE:
name = longqueue_shape;
break;
@@ -1132,21 +1146,43 @@ static bool is_last_of_line(gregorio_syllable *syllable)
return false;
}
+static __inline bool has_notes(const gregorio_element *const element)
+{
+ if (element->type == GRE_CUSTOS) {
+ return true;
+ }
+ if (element->type == GRE_ELEMENT) {
+ const gregorio_glyph *glyph;
+ for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) {
+ if (glyph->type == GRE_GLYPH) {
+ return true;
+ }
+ }
+ }
+ return false;
+}
+
/* determines if there are more GRE_GLYPHs */
-static bool has_more_notes(const gregorio_element *element) {
+static __inline bool has_more_notes(const gregorio_element *element)
+{
for (element = element->next; element; element = element->next) {
- if (element->type == GRE_ELEMENT) {
- const gregorio_glyph *glyph;
- for (glyph = element->u.first_glyph; glyph; glyph = glyph->next) {
- if (glyph->type == GRE_GLYPH) {
- return true;
- }
- }
+ if (has_notes(element)) {
+ return true;
}
}
return false;
}
+static __inline void handle_last_of_score(FILE *const f,
+ const gregorio_syllable *const syllable,
+ const gregorio_element *const element)
+{
+ if (!syllable->next_syllable && !has_more_notes(element)
+ && has_notes(element)) {
+ fprintf(f, "\\GreLastOfScore");
+ }
+}
+
/*
* ! @brief Prints the beginning of each text style
*/
@@ -3526,9 +3562,6 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
}
}
}
- if (!syllable->next_syllable && !has_more_notes(element)) {
- fprintf(f, "\\GreLastOfScore");
- }
switch (element->type) {
case GRE_SPACE:
switch (element->u.misc.unpitched.info.space) {
@@ -3618,6 +3651,7 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
* We don't print custos before a bar at the end of a line
*/
/* we also print an unbreakable larger space before the custo */
+ handle_last_of_score(f, syllable, element);
fprintf(f, "\\GreEndOfElement{1}{1}%%\n\\GreCustos{%d}"
"\\GreNextCustos{%d}%%\n",
pitch_value(element->u.misc.pitched.pitch),
@@ -3649,8 +3683,9 @@ static void write_syllable(FILE *f, gregorio_syllable *syllable,
break;
default:
- /* there current_element->type is GRE_ELEMENT */
+ /* here current_element->type is GRE_ELEMENT */
assert(element->type == GRE_ELEMENT);
+ handle_last_of_score(f, syllable, element);
write_element(f, syllable, element, status, score);
if (element->next && (element->next->type == GRE_ELEMENT
|| (element->next->next
diff --git a/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc b/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
index 00fd5c0e909..beb9e29452b 100644
--- a/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
+++ b/Build/source/texk/gregorio/gregorio-src/windows/gregorio-resources.rc
@@ -1,7 +1,7 @@
IDI_ICON1 ICON DISCARDABLE "gregorio.ico"
1 VERSIONINFO
-FILEVERSION 4,1,0,22
-PRODUCTVERSION 4,1,0,22
+FILEVERSION 4,1,0,30
+PRODUCTVERSION 4,1,0,30
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -9,12 +9,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Gregorio project"
VALUE "FileDescription", "Gregorio"
- VALUE "FileVersion", "4.1.0-rc2"
+ VALUE "FileVersion", "4.1.0"
VALUE "InternalName", "gregorio"
VALUE "LegalCopyright", "See COPYING in the installation directory."
VALUE "OriginalFilename", "gregorio.exe"
VALUE "ProductName", "Gregorio"
- VALUE "ProductVersion", "4.1.0-rc2"
+ VALUE "ProductVersion", "4.1.0"
END
END