diff options
25 files changed, 199 insertions, 143 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README index a4e9a99bb9f..bfc4031d353 100644 --- a/Build/source/texk/README +++ b/Build/source/texk/README @@ -62,7 +62,7 @@ dvipsk - maintained here, by us dvisvgm 1.15 - checked 27feb16 http://dvisvgm.bplaced.net/Downloads -gregorio 4.1.0-rc2 - checked 25feb16 +gregorio 4.1.0 - checked 02mar16 https://github.com/gregorio-project/gregorio/releases/ gsftopk - from Paul Vojta's xdvi? diff --git a/Build/source/texk/gregorio/ChangeLog b/Build/source/texk/gregorio/ChangeLog index 03834364094..c439691ee24 100644 --- a/Build/source/texk/gregorio/ChangeLog +++ b/Build/source/texk/gregorio/ChangeLog @@ -1,3 +1,8 @@ +2016-03-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Import gregorio-4.1.0. + * version.ac: Adapted. + 2016-02-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Import gregorio-4.1.0-rc2. diff --git a/Build/source/texk/gregorio/configure b/Build/source/texk/gregorio/configure index ef3614afa86..87c2900e7b5 100755 --- a/Build/source/texk/gregorio/configure +++ b/Build/source/texk/gregorio/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for Gregorio (TeX Live) 4.1.0-rc2. +# Generated by GNU Autoconf 2.69 for Gregorio (TeX Live) 4.1.0. # # Report bugs to <tex-k@tug.org>. # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Gregorio (TeX Live)' PACKAGE_TARNAME='gregorio--tex-live-' -PACKAGE_VERSION='4.1.0-rc2' -PACKAGE_STRING='Gregorio (TeX Live) 4.1.0-rc2' +PACKAGE_VERSION='4.1.0' +PACKAGE_STRING='Gregorio (TeX Live) 4.1.0' PACKAGE_BUGREPORT='tex-k@tug.org' PACKAGE_URL='' @@ -1331,7 +1331,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Gregorio (TeX Live) 4.1.0-rc2 to adapt to many kinds of systems. +\`configure' configures Gregorio (TeX Live) 4.1.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1402,7 +1402,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Gregorio (TeX Live) 4.1.0-rc2:";; + short | recursive ) echo "Configuration of Gregorio (TeX Live) 4.1.0:";; esac cat <<\_ACEOF @@ -1521,7 +1521,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Gregorio (TeX Live) configure 4.1.0-rc2 +Gregorio (TeX Live) configure 4.1.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2177,7 +2177,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Gregorio (TeX Live) $as_me 4.1.0-rc2, which was +It was created by Gregorio (TeX Live) $as_me 4.1.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2526,7 +2526,7 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu -FILENAME_VERSION="4_1_0-rc2" +FILENAME_VERSION="4_1_0" cat >>confdefs.h <<_ACEOF @@ -7870,7 +7870,7 @@ fi # Define the identity of the package. PACKAGE='gregorio--tex-live-' - VERSION='4.1.0-rc2' + VERSION='4.1.0' cat >>confdefs.h <<_ACEOF @@ -14254,7 +14254,7 @@ Usage: $0 [OPTIONS] Report bugs to <bug-libtool@gnu.org>." lt_cl_version="\ -Gregorio (TeX Live) config.lt 4.1.0-rc2 +Gregorio (TeX Live) config.lt 4.1.0 configured by $0, generated by GNU Autoconf 2.69. Copyright (C) 2011 Free Software Foundation, Inc. @@ -15841,7 +15841,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Gregorio (TeX Live) $as_me 4.1.0-rc2, which was +This file was extended by Gregorio (TeX Live) $as_me 4.1.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15907,7 +15907,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Gregorio (TeX Live) config.status 4.1.0-rc2 +Gregorio (TeX Live) config.status 4.1.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff --git a/Build/source/texk/gregorio/configure.ac b/Build/source/texk/gregorio/configure.ac index f89a4d1c6f6..2a6bf37f393 100644 --- a/Build/source/texk/gregorio/configure.ac +++ b/Build/source/texk/gregorio/configure.ac @@ -9,7 +9,7 @@ dnl with or without modifications, as long as this notice is preserved. dnl m4_include([version.ac])[] dnl define gregorio_version AC_INIT([Gregorio (TeX Live)], gregorio_version, [tex-k@tug.org]) -FILENAME_VERSION="4_1_0-rc2" +FILENAME_VERSION="4_1_0" AC_SUBST(FILENAME_VERSION) AC_DEFINE_UNQUOTED(FILENAME_VERSION, "$FILENAME_VERSION", [version suitable for file names]) AC_PREREQ([2.65]) diff --git a/Build/source/texk/gregorio/gregorio-PATCHES/ChangeLog b/Build/source/texk/gregorio/gregorio-PATCHES/ChangeLog index e41dfb3f475..3f644b996de 100644 --- a/Build/source/texk/gregorio/gregorio-PATCHES/ChangeLog +++ b/Build/source/texk/gregorio/gregorio-PATCHES/ChangeLog @@ -1,3 +1,7 @@ +2016-03-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + Import gregorio-4.1.0. + 2016-02-25 Akira Kakuto <kakuto@fuk.kindai.ac.jp> Import gregorio-4.1.0-rc2. diff --git a/Build/source/texk/gregorio/gregorio-PATCHES/TL-Changes b/Build/source/texk/gregorio/gregorio-PATCHES/TL-Changes index cba71f81b85..51bccd99a74 100644 --- a/Build/source/texk/gregorio/gregorio-PATCHES/TL-Changes +++ b/Build/source/texk/gregorio/gregorio-PATCHES/TL-Changes @@ -1,5 +1,5 @@ -Changes applied to the gregorio-4.1.0-rc2 tree as obtained from: - https://github.com/gregorio-project/gregorio/releases/tag/v4.1.0-rc2/ +Changes applied to the gregorio-4.1.0 tree as obtained from: + https://github.com/gregorio-project/gregorio/releases/tag/v4.1.0/ Remove: Makefile.in 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 Binary files differdeleted file mode 100644 index a11010469e0..00000000000 --- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0-rc2.pdf +++ /dev/null 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 Binary files differnew file mode 100644 index 00000000000..e1bfea94b8c --- /dev/null +++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioNabcRef-4_1_0.pdf 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 Binary files differdeleted file mode 100644 index eca215b5377..00000000000 --- a/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0-rc2.pdf +++ /dev/null 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 Binary files differnew file mode 100644 index 00000000000..112a44ea395 --- /dev/null +++ b/Build/source/texk/gregorio/gregorio-src/doc/GregorioRef-4_1_0.pdf 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 diff --git a/Build/source/texk/gregorio/version.ac b/Build/source/texk/gregorio/version.ac index d92b729f8ec..0b6b99a99a2 100644 --- a/Build/source/texk/gregorio/version.ac +++ b/Build/source/texk/gregorio/version.ac @@ -8,4 +8,4 @@ dnl dnl -------------------------------------------------------- dnl dnl m4-include this file to define the current gregorio version -m4_define([gregorio_version], [4.1.0-rc2]) +m4_define([gregorio_version], [4.1.0]) |