diff options
Diffstat (limited to 'Master')
33 files changed, 121 insertions, 152 deletions
diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md b/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md index dcfd9b3161e..165558fdf62 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md +++ b/Master/texmf-dist/doc/luatex/gregoriotex/CHANGELOG.md @@ -8,7 +8,7 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). ## [Unreleased][CTAN] -## [6.1.0-beta1] - 2025-02-10 +## [6.1.0-beta2] - 2025-02-17 ### Fixed - Multiple Scribus render frames were all using the same file name, which would result in the same score appearing in all render frames. This change makes the score files use an available Scribus variable to force multiple file names. - When kpsewhich cannot write to a particular location, it generates an error which is directed to stderr but not to our glog file. This created an undocumented error when trying to write to a gtex file to a bad location. We now capture stderr output produced when compiling scores and redirect it to our glog file so that the error is properly recorded. Fixes [#1541](https://github.com/gregorio-project/gregorio/issues/1541). @@ -18,6 +18,10 @@ As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). - Fixed a bug that caused a custos to sometimes change into a clef. See [#1373](https://github.com/gregorio-project/gregorio/issues/1373). - Fixed the alignment of 2-line initials so that an initial's baseline more exactly aligns with the baseline of the lowest line it appears next to. - When fancyhdr and GregorioTeX are used together, GregorioTeX's disabling of hyphenation and its `post_linebreak` modification of the `post_linebreak_filter` interfere with multiline headers. Using the `fancyhdr/before` and `fancyhdr/after` hooks we temporarily reenable hyphenation and disable our `post_linebreak` modification while headers and footers are being processed in the middle of a score. See [#1603](https://github.com/gregorio-project/gregorio/issues/1603). +- Fixed a bug that could cause a hyphen to appear on the wrong line. See [#1319](https://github.com/gregorio-project/gregorio/issues/1319). +- Fixed the placement of above-lines text (`<alt>`) relative to a note above the staff or when the number of staff lines is not 4. See [#1613](https://github.com/gregorio-project/gregorio/issues/1613) and [#1614](https://github.com/gregorio-project/gregorio/issues/1614). +- Fixed a bug where the above-lines text (`<alt>`) could collid with a note above the staff. See [#1613](https://github.com/gregorio-project/gregorio/issues/1613). +- Fixed a bug that could cause the clef and staff to be printed too high. See [#1503](https://github.com/gregorio-project/gregorio/issues/1503). ### Changed - Modified gregorio to append to the log file specified as an argument and to send early messages to it. See [#1541](https://github.com/gregorio-project/gregorio/issues/1541). diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex index 22424c50791..81ef03dba21 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/Command_Index_internal.tex @@ -1294,9 +1294,6 @@ Sets the number of staff lines. \#1 & integer & The number of staff lines\\ \end{argtable} -\macroname{\textbackslash gre@stafflines}{}{gregoriotex-main.tex} -Contains the number of staff lines. - \macroname{\textbackslash gre@romannumeral@majuscule}{\#1}{gregoriotex-main.tex} Typesets its numeric argument as an upper-case Roman numeral. @@ -1912,15 +1909,6 @@ Boolean set by \verb=\GreSyllable= indicating if the Lua pass may add an hyphen \macroname{\textbackslash ifgre@scale@stafflinefactor}{}{gregoriotex-spaces.tex} Boolean indicating whether the stafflinefactor should scale with changes of \texttt{grefactor}, or not. -\macroname{\textbackslash ifgre@haslinethree}{}{gregoriotex-spaces.tex} -Boolean indicating whether the staff has a third line. - -\macroname{\textbackslash ifgre@haslinefour}{}{gregoriotex-spaces.tex} -Boolean indicating whether the staff has a fourth line. - -\macroname{\textbackslash ifgre@haslinefive}{}{gregoriotex-spaces.tex} -Boolean indicating whether the staff has a fifth line. - \macroname{\textbackslash gre@count@shiftaftermora}{}{gregoriotex-signs.tex} Count indicating when the presence of a punctum mora at the end of a syllable should affect the spacing with the next syllable. @@ -2024,6 +2012,9 @@ Boolean indicating that some aspect of the next syllable is being evaluated in a \macroname{\textbackslash ifgre@noteadditionalspacelinestext}{}{gregoriotex-main.tex} Boolean indicating that the additional space needed between the notes and the lyrics due to really low notes should follow the user setting of noteadditionalspacelinestext (as opposed to being calculated automatically, the default). +\macroname{\textbackslash gre@count@stafflines}{}{gregoriotex-main.tex} +Count containing the number of staff lines. + \macroname{\textbackslash ifgre@alteration@effect@note}{}{gregoriotex-signs.tex} Boolean indicating that soft alterations should last until they apply to a single note (i.e. all soft alterations will be printed). diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf Binary files differindex 8b266bd8acf..c006a8efd98 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioNabcRef.pdf diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf Binary files differindex ee9b652d052..a9c9acbf680 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.pdf diff --git a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex index 18c0766c54a..3034de96c8b 100644 --- a/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex +++ b/Master/texmf-dist/doc/luatex/gregoriotex/GregorioRef.tex @@ -183,7 +183,7 @@ \vspace{1cm} - \large Version \textbf{6.1.0-beta1}, 10 February 2025 %% PARSE_VERSION_DATE + \large Version \textbf{6.1.0-beta2}, 17 February 2025 %% PARSE_VERSION_DATE \vspace{1.5cm} \gresetlinecolor{gregoriocolor} diff --git a/Master/texmf-dist/fonts/source/gregoriotex/squarize.py b/Master/texmf-dist/fonts/source/gregoriotex/squarize.py index 336460fdc03..68a63d2081a 100644 --- a/Master/texmf-dist/fonts/source/gregoriotex/squarize.py +++ b/Master/texmf-dist/fonts/source/gregoriotex/squarize.py @@ -89,7 +89,7 @@ AMBITUS = { 14 : 'Fourteen', } -GREGORIO_VERSION = '6.1.0-beta1' +GREGORIO_VERSION = '6.1.0-beta2' # The unicode character at which we start our numbering: # U+E000 is the start of the BMP Private Use Area diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hole.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hole.ttf Binary files differindex 22237bae31a..5aa271a0937 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hole.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hole.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hollow.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hollow.ttf Binary files differindex e5abdee78b6..a21dae2444e 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hollow.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-hollow.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hole.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hole.ttf Binary files differindex 97087b10442..35b8ffb0e17 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hole.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hole.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hollow.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hollow.ttf Binary files differindex 2c4f0a593ab..5cff5ba52c3 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hollow.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op-hollow.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op.ttf Binary files differindex 773d31acd8d..fb622f04aa6 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae-op.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae.ttf Binary files differindex 66c4b82bfe8..c4ba7e63796 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/greciliae.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/gregall.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/gregall.ttf Binary files differindex f9eae17f5c1..fd70dfbdff7 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/gregall.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/gregall.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/grelaon.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/grelaon.ttf Binary files differindex 55e674cfae9..fad91cf0a27 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/grelaon.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/grelaon.ttf diff --git a/Master/texmf-dist/fonts/truetype/public/gregoriotex/gresgmodern.ttf b/Master/texmf-dist/fonts/truetype/public/gregoriotex/gresgmodern.ttf Binary files differindex 3fc8d86b9bd..14681d8ad4c 100644 --- a/Master/texmf-dist/fonts/truetype/public/gregoriotex/gresgmodern.ttf +++ b/Master/texmf-dist/fonts/truetype/public/gregoriotex/gresgmodern.ttf diff --git a/Master/texmf-dist/scripts/gregoriotex/uninstall-gtex.sh b/Master/texmf-dist/scripts/gregoriotex/uninstall-gtex.sh index e2763e41609..40bfcc95a62 100644 --- a/Master/texmf-dist/scripts/gregoriotex/uninstall-gtex.sh +++ b/Master/texmf-dist/scripts/gregoriotex/uninstall-gtex.sh @@ -92,6 +92,6 @@ $RM doc/luatex/gregoriotex//README.md $RM doc/luatex/gregoriotex//UPGRADE.md rmdir -p doc/luatex/gregoriotex/ 2> /dev/null || true -$RM source/luatex/gregoriotex//gregorio-6.1.0-beta1.zip +$RM source/luatex/gregoriotex//gregorio-6.1.0-beta2.zip rmdir -p source/luatex/gregoriotex/ 2> /dev/null || true diff --git a/Master/texmf-dist/source/luatex/gregoriotex/gregorio-6.1.0-beta1.zip b/Master/texmf-dist/source/luatex/gregoriotex/gregorio-6.1.0-beta2.zip Binary files differindex a9f775defd1..cb58c4ad930 100644 --- a/Master/texmf-dist/source/luatex/gregoriotex/gregorio-6.1.0-beta1.zip +++ b/Master/texmf-dist/source/luatex/gregoriotex/gregorio-6.1.0-beta2.zip diff --git a/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriosyms.sty b/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriosyms.sty index 5179b5b49de..81587c6be61 100644 --- a/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriosyms.sty +++ b/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriosyms.sty @@ -19,7 +19,7 @@ \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{gregoriosyms} - [2025/02/10 v6.1.0-beta1 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX + [2025/02/17 v6.1.0-beta2 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX \RequirePackage{iftex}% \RequireLuaTeX @@ -41,7 +41,7 @@ % The version of gregorio. All gregoriotex*.tex files must have the same. % All gtex files must also have the same version. -\xdef\gre@gregoriotexversion{6.1.0-beta1}% GREGORIO_VERSION - VersionManager.py +\xdef\gre@gregoriotexversion{6.1.0-beta2}% GREGORIO_VERSION - VersionManager.py \providecommand{\gre@declarefileversion}[2]{\relax} diff --git a/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty b/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty index d75e19c4419..1cb93d4cbb9 100644 --- a/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty +++ b/Master/texmf-dist/tex/lualatex/gregoriotex/gregoriotex.sty @@ -19,7 +19,7 @@ \NeedsTeXFormat{LaTeX2e}% \ProvidesPackage{gregoriotex}% - [2025/02/10 v6.1.0-beta1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX + [2025/02/17 v6.1.0-beta2 GregorioTeX system.]% PARSE_VERSION_DATE_LTX \RequirePackage{iftex}% \RequireLuaTeX diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-chars.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-chars.tex index 4eaca5101e1..eb3d45d1262 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-chars.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-chars.tex @@ -17,7 +17,7 @@ % You should have received a copy of the GNU General Public License % along with Gregorio. If not, see <http://www.gnu.org/licenses/>. -\gre@declarefileversion{gregoriotex-chars.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-chars.tex}{6.1.0-beta2}% GREGORIO_VERSION \def\gre@char@fuse@punctum@one{\GreFuseTwo{\GreCPLeadingPunctumOne}{\GreCPPunctum}}% \def\gre@char@fuse@quilisma@one{\GreFuseTwo{\GreCPLeadingQuilismaOne}{\GreCPPunctum}}% diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-common.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-common.tex index ac65b3cbb30..2aebcce418a 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-common.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-common.tex @@ -17,7 +17,7 @@ % You should have received a copy of the GNU General Public License % along with Gregorio. If not, see <http://www.gnu.org/licenses/>. -\gre@declarefileversion{gregoriotex-common.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-common.tex}{6.1.0-beta2}% GREGORIO_VERSION \ifnum\luatexversion<76% \gre@error{Error: this document must be compiled with LuaTeX (lualatex) 0.76 or later}% diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-gsp-default.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-gsp-default.tex index 49a87e3d08b..f26ed7c36ea 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-gsp-default.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-gsp-default.tex @@ -20,7 +20,7 @@ % this file contains definitions of spaces and penalties % version check -\gre@declarefileversion{gregoriotex-gsp-default.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-gsp-default.tex}{6.1.0-beta2}% GREGORIO_VERSION %% First, the penalties diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-main.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-main.tex index 6e306294fa2..ee6441dceb4 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-main.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-main.tex @@ -21,7 +21,7 @@ % The version of gregorio. All gregoriotex*.tex files must have the same. % All gtex files must also have the same version. -\xdef\gre@gregoriotexversion{6.1.0-beta1}% GREGORIO_VERSION - VersionManager.py +\xdef\gre@gregoriotexversion{6.1.0-beta2}% GREGORIO_VERSION - VersionManager.py % first some macros to allow checks for version: % Tests that all gregoriotex files are of the same version. @@ -214,8 +214,7 @@ \let\gre@pitch@underbrace\gre@pitch@b % \let\gre@pitch@overbraceglyph\gre@pitch@g % \let\gre@pitch@bar\gre@pitch@g % -\let\gre@pitch@dummy\gre@pitch@g % -\let\gre@pitch@nominal\gre@pitch@e % +\let\gre@pitch@dummy\gre@pitch@e % not above or below staff, even if 2 lines % factor is the factor with which you open you font (the number after the at). It will decide almost everything (spaces, etc.), so it is particularly important. % it is set to the default value : 17 (the value that makes it look like a standard graduale) @@ -735,8 +734,8 @@ \else% \gre@dimen@temp@five=\gre@dimen@additionaltopspacenabc\relax% \fi% - \gre@dimen@temp@five=\dimexpr(4\gre@dimen@stafflineheight % - + 4\gre@dimen@interstafflinespace % + \gre@dimen@temp@five=\dimexpr(\gre@dimen@staffheight % + + \gre@dimen@interstafflinespace % + \gre@space@dimen@spacebeneathtext % + \gre@dimen@currenttranslationheight % + \gre@space@dimen@spacelinestext % @@ -789,45 +788,17 @@ \vbox attr \gre@attrid@part=2 {% \gre@style@normalstafflines% \vskip\glueexpr(\gre@dimen@additionaltopspace+\gre@space@skip@spaceabovelines+\gre@dimen@currentabovelinestextheight)\relax% - \ifgre@showlines % - \hrule height \gre@dimen@stafflineheight width \gre@dimen@stafflinewidth\relax% - \else % - \vskip\gre@dimen@stafflineheight\relax% - \fi % - \gre@skip@temp@four = \gre@dimen@interstafflinespace\relax% - \kern\gre@skip@temp@four % - \ifgre@showlines % - \hrule height \gre@dimen@stafflineheight width \gre@dimen@stafflinewidth\relax% - \else % - \vskip\gre@dimen@stafflineheight\relax% - \fi % - \ifgre@haslinethree % - \gre@skip@temp@four = \gre@dimen@interstafflinespace\relax% - \kern\gre@skip@temp@four % + \gre@count@temp@one=0\relax + \loop \ifgre@showlines % \hrule height \gre@dimen@stafflineheight width \gre@dimen@stafflinewidth\relax% \else % \vskip\gre@dimen@stafflineheight\relax% \fi % - \fi % - \ifgre@haslinefour % - \gre@skip@temp@four = \gre@dimen@interstafflinespace\relax% - \kern\gre@skip@temp@four % - \ifgre@showlines % - \hrule height \gre@dimen@stafflineheight width \gre@dimen@stafflinewidth\relax% - \else % - \vskip\gre@dimen@stafflineheight\relax% - \fi % - \fi % - \ifgre@haslinefive % - \gre@skip@temp@four = \gre@dimen@interstafflinespace\relax% - \kern\gre@skip@temp@four % - \ifgre@showlines % - \hrule height \gre@dimen@stafflineheight width \gre@dimen@stafflinewidth\relax% - \else % - \vskip\gre@dimen@stafflineheight\relax% - \fi % - \fi % + \advance\gre@count@temp@one by 1\relax + \ifnum\gre@count@temp@one<\gre@count@stafflines + \kern\gre@dimen@interstafflinespace\relax + \repeat \kern\dimexpr(\gre@space@dimen@spacelinestext+\gre@dimen@additionalbottomspace+\gre@space@dimen@spacebeneathtext+\gre@dimen@currenttranslationheight)\relax% \endgre@style@normalstafflines % }% @@ -1049,13 +1020,11 @@ % gre@attr@dash (see its definition in gregorio-syllable) is 0 when we are in a score, and unset when we are not \newif\ifgre@beginningofscore% -\newif\ifgre@haslinethree% -\newif\ifgre@haslinefour% -\newif\ifgre@haslinefive% +\newcount\gre@count@stafflines \def\gre@setstafflines#1{% \gre@trace{gre@setstafflines{#1}}% - \def\gre@stafflines{#1}% + \gre@count@stafflines=#1\relax \ifcase#1% 0 \gre@error{Invalid number of staff lines}% \or % 1 @@ -1080,9 +1049,6 @@ \let\gre@char@bar@divisiomaior\GreCPDivisioMaiorTwo % \let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedTwo % \let\gre@char@bar@divisiomaiordottedbacking\GreCPDivisioMaiorDottedBackingTwo % - \gre@haslinethreefalse % - \gre@haslinefourfalse % - \gre@haslinefivefalse % \or % 3 \let\gre@pitch@adjust@top\gre@pitch@h % \let\gre@pitch@abovestaff\gre@pitch@i % @@ -1103,9 +1069,6 @@ \let\gre@char@bar@divisiomaior\GreCPDivisioMaiorThree % \let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedThree % \let\gre@char@bar@divisiomaiordottedbacking\GreCPDivisioMaiorDottedBackingThree % - \gre@haslinethreetrue % - \gre@haslinefourfalse % - \gre@haslinefivefalse % \or % 4 \let\gre@pitch@adjust@top\gre@pitch@j % \let\gre@pitch@abovestaff\gre@pitch@k % @@ -1126,9 +1089,6 @@ \let\gre@char@bar@divisiomaior\GreCPDivisioMaiorFour % \let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedFour % \let\gre@char@bar@divisiomaiordottedbacking\GreCPDivisioMaiorDottedBackingFour % - \gre@haslinethreetrue % - \gre@haslinefourtrue % - \gre@haslinefivefalse % \or % 5 \let\gre@pitch@adjust@top\gre@pitch@l % \let\gre@pitch@abovestaff\gre@pitch@m % @@ -1149,9 +1109,6 @@ \let\gre@char@bar@divisiomaior\GreCPDivisioMaiorFive % \let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedFive % \let\gre@char@bar@divisiomaiordottedbacking\GreCPDivisioMaiorDottedBackingFive % - \gre@haslinethreetrue % - \gre@haslinefourtrue % - \gre@haslinefivetrue % \else % \gre@error{Invalid number of staff lines}% \fi % diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.lua b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.lua index 4f062c392a2..74c46dfb87b 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.lua +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.lua @@ -20,7 +20,7 @@ -- this file contains lua functions used by GregorioTeX St. Gall ancient -- neume support when called with LuaTeX. --- GREGORIO_VERSION 6.1.0-beta1 +-- GREGORIO_VERSION 6.1.0-beta2 local catcode_at_letter = luatexbase.catcodetables['gre@atletter'] diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.tex index f8becbd1c29..62d98f2f0d7 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-nabc.tex @@ -19,7 +19,7 @@ % this file contains macros for St. Gall ancient neume support -\gre@declarefileversion{gregoriotex-nabc.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-nabc.tex}{6.1.0-beta2}% GREGORIO_VERSION \xdef\gre@nabcfontname{gregall}% diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.lua b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.lua index f720b5be94c..9168aa9cda9 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.lua +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.lua @@ -19,7 +19,7 @@ -- this file contains lua functions to support signs used by GregorioTeX. --- GREGORIO_VERSION 6.1.0-beta1 +-- GREGORIO_VERSION 6.1.0-beta2 local err = gregoriotex.module.err local warn = gregoriotex.module.warn diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.tex index 68af5e083eb..53f3be8d1c1 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-signs.tex @@ -22,7 +22,7 @@ \def\grebarbracewidth{.58879}% -\gre@declarefileversion{gregoriotex-signs.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-signs.tex}{6.1.0-beta2}% GREGORIO_VERSION \def\gre@usestylecommon{% \gre@trace{gre@usestylecommon}% @@ -705,44 +705,44 @@ \or\gre@fontchar@custostoplong % \or\gre@fontchar@custostopshort % \or % - \ifgre@haslinethree % + \ifnum\gre@count@stafflines>2\relax \gre@fontchar@custostoplong % \else % \gre@fontchar@custosbottomlong % \fi % \or % - \ifgre@haslinethree % + \ifnum\gre@count@stafflines>2\relax \gre@fontchar@custostopshort % \else % \gre@fontchar@custosbottomshort % \fi % \or % - \ifgre@haslinefour % + \ifnum\gre@count@stafflines>3\relax \gre@fontchar@custostoplong % \else % \gre@fontchar@custosbottomlong % \fi % \or % - \ifgre@haslinefour % + \ifnum\gre@count@stafflines>3\relax \gre@fontchar@custostopshort % \else % - \ifgre@haslinethree % + \ifnum\gre@count@stafflines>2\relax \gre@fontchar@custosbottomshort % \else % \gre@fontchar@custosbottommiddle % \fi % \fi % \or % - \ifgre@haslinefive % + \ifnum\gre@count@stafflines>4\relax \gre@fontchar@custostoplong % \else % \gre@fontchar@custosbottomlong % \fi % \or % - \ifgre@haslinefive % + \ifnum\gre@count@stafflines>4\relax \gre@fontchar@custostopshort % \else % - \ifgre@haslinefour % + \ifnum\gre@count@stafflines>3\relax \gre@fontchar@custosbottomshort % \else % \gre@fontchar@custosbottommiddle % @@ -750,7 +750,7 @@ \fi % \or\gre@fontchar@custosbottomlong % \or % - \ifgre@haslinefive % + \ifnum\gre@count@stafflines>4\relax \gre@fontchar@custosbottomshort % \else % \gre@fontchar@custosbottommiddle % @@ -1637,8 +1637,8 @@ + \gre@space@dimen@spacebeneathtext % + \gre@space@dimen@spacelinestext % + \gre@dimen@currenttranslationheight % - + \gre@stafflines\gre@dimen@interstafflinespace % - + \gre@stafflines\gre@dimen@stafflineheight)\relax% + + \gre@count@stafflines\gre@dimen@interstafflinespace % + + \gre@count@stafflines\gre@dimen@stafflineheight)\relax% \or % 1 \gre@dimen@glyphraisevalue=% \dimexpr(\gre@dimen@additionalbottomspace % diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-spaces.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-spaces.tex index c16ca2b2483..a10db25bb76 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-spaces.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-spaces.tex @@ -19,7 +19,7 @@ % this file contains definitions of spaces -\gre@declarefileversion{gregoriotex-spaces.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-spaces.tex}{6.1.0-beta2}% GREGORIO_VERSION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% macros for tuning penalties @@ -231,8 +231,8 @@ \def\gre@calculate@staffheight{% \gre@trace{gre@calculate@staffheight}% \global\gre@dimen@staffheight = \dimexpr % - \gre@stafflines\gre@dimen@stafflineheight % - + \gre@stafflines\gre@dimen@interstafflinespace % + \gre@count@stafflines\gre@dimen@stafflineheight % + + \gre@count@stafflines\gre@dimen@interstafflinespace % - \gre@dimen@interstafflinespace\relax% \relax % \gre@trace@end% @@ -733,7 +733,7 @@ \global\gre@isonalinetrue% \or\gre@count@temp@three=\number 8% \or\gre@count@temp@three=\number 9% - \ifgre@haslinethree % + \ifnum\gre@count@stafflines>2\relax \global\gre@isonalinetrue% \else % \ifgre@ledgerline@above % @@ -742,10 +742,10 @@ \fi % \or\gre@count@temp@three=\number 10% \or\gre@count@temp@three=\number 11% - \ifgre@haslinefour % + \ifnum\gre@count@stafflines>3\relax \global\gre@isonalinetrue% \else % - \ifgre@haslinethree % + \ifnum\gre@count@stafflines>2\relax \ifgre@ledgerline@above % \global\gre@isonalinetrue% \fi % @@ -753,10 +753,10 @@ \fi % \or\gre@count@temp@three=\number 12% \or\gre@count@temp@three=\number 13% - \ifgre@haslinefive % + \ifnum\gre@count@stafflines>4\relax \global\gre@isonalinetrue% \else % - \ifgre@haslinefour % + \ifnum\gre@count@stafflines>3\relax \ifgre@ledgerline@above % \global\gre@isonalinetrue% \fi % @@ -764,7 +764,7 @@ \fi % \or\gre@count@temp@three=\number 14% \or\gre@count@temp@three=\number 15% - \ifgre@haslinefive % + \ifnum\gre@count@stafflines>4\relax \ifgre@ledgerline@above % \global\gre@isonalinetrue% \fi % diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-syllable.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-syllable.tex index 106cf34c8b7..729b69bfc58 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-syllable.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-syllable.tex @@ -19,7 +19,7 @@ % this file contains definitions of the glyphs and the syllables -\gre@declarefileversion{gregoriotex-syllable.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-syllable.tex}{6.1.0-beta2}% GREGORIO_VERSION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% macros for the typesetting of the different glyphs @@ -154,16 +154,21 @@ % #7 is the line:char:column for a textedit link \def\GreGlyph#1#2#3#4#5#6#7{% \gre@newglyphcommon % + % Create box containing the new glyph. \setbox\gre@box@temp@width=\hbox{\gre@pointandclick{\gre@font@music #1}{#7}}% \global\gre@dimen@lastglyphwidth=\wd\gre@box@temp@width % % the three next lines are a trick to get the additional lines below the glyphs \gre@skip@temp@one = \gre@dimen@lastglyphwidth\relax% \kern\gre@skip@temp@one % + % #5 contains things like ledger lines, but also calls to \GreGlyphHeights #5\relax % \kern-\gre@skip@temp@one % \gre@calculate@glyphraisevalue{#2}{0}{}% \raise\gre@dimen@glyphraisevalue% - \copy\gre@box@temp@width% + % Since \gre@box@temp@width was created before the calls + % to \GreGlyphHeights, we need to rebox it to + % set \gre@attr@glyph@top and \gre@attr@glyph@bottom correctly. + \hbox{\unhcopy\gre@box@temp@width}% \ifgre@endofscore\else\ifgre@boxing\else % #3% \fi\fi % diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.lua b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.lua index 9db5e3cb462..dc3228714af 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.lua +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.lua @@ -19,7 +19,7 @@ -- this file contains lua functions to support signs used by GregorioTeX. --- GREGORIO_VERSION 6.1.0-beta1 +-- GREGORIO_VERSION 6.1.0-beta2 local err = gregoriotex.module.err local warn = gregoriotex.module.warn diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex index f4ba3febff4..2d818989dbd 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex @@ -22,7 +22,7 @@ \ifcsname gregoriotex@symbols@loaded\endcsname\endinput\fi% \def\gregoriotex@symbols@loaded{}% -\gre@declarefileversion{gregoriotex-symbols.tex}{6.1.0-beta1}% GREGORIO_VERSION +\gre@declarefileversion{gregoriotex-symbols.tex}{6.1.0-beta2}% GREGORIO_VERSION \RequireLuaModule{gregoriotex}% diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.lua b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.lua index 99e6e8a4d73..c2da7f6780a 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.lua +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.lua @@ -24,13 +24,13 @@ local hpack, traverse, traverse_id, has_attribute, count, remove, insert_after, gregoriotex = gregoriotex or {} local gregoriotex = gregoriotex -local internalversion = '6.1.0-beta1' -- GREGORIO_VERSION (comment used by VersionManager.py) +local internalversion = '6.1.0-beta2' -- GREGORIO_VERSION (comment used by VersionManager.py) local err, warn, info, log = luatexbase.provides_module({ name = "gregoriotex", - version = '6.1.0-beta1', -- GREGORIO_VERSION + version = '6.1.0-beta2', -- GREGORIO_VERSION greinternalversion = internalversion, - date = "2025/02/10", -- GREGORIO_DATE_LTX + date = "2025/02/17", -- GREGORIO_DATE_LTX description = "GregorioTeX module.", author = "The Gregorio Project (see CONTRIBUTORS.md)", copyright = "2008-2025 - The Gregorio Project", @@ -163,7 +163,7 @@ local function gregorio_exe() local exe_version -- first look for one with the exact version - real_gregorio_exe = 'gregorio-6_1_0-beta1' -- FILENAME_VERSION + real_gregorio_exe = 'gregorio-6_1_0-beta2' -- FILENAME_VERSION local cmd = string.format([[%s -o "%%s" "%s"]], real_gregorio_exe, test_snippet_filename) exe_version = get_prog_output(cmd, '*line') @@ -476,11 +476,10 @@ end local function dump_nodes_helper(head, indent) local dots = string.rep('..', indent) for n in traverse(head) do - local ids = format("%s", has_attribute(n, part_attr)) + local ids = format("%s", has_attribute(n, glyph_id)) if node.type(n.id) == 'penalty' then - log(dots .. "%s=%s {%s}", node.type(n.id), n.penalty, ids) + log(dots .. "%s %s {%s}", node.type(n.id), n.penalty, ids) elseif n.id == whatsit and n.subtype == user_defined_subtype and n.user_id == marker_whatsit_id then - log("marker-whatsit %s", n.value) log(dots .. "marker-whatsit %s", n.value) elseif n.id == glyph then local f = font.fonts[n.font] @@ -490,9 +489,11 @@ local function dump_nodes_helper(head, indent) end log(dots .. "glyph %s {%s}", charname, ids) elseif n.id == rule then - log(dots .. "rule subtype=%s width=%spt height=%spt depth=%spt", n.subtype, n.width/65536, n.height/65536, n.depth/65536) + log(dots .. "rule [%s] width=%.2fpt height=%.2fpt depth=%.2fpt", n.subtype, n.width/2^16, n.height/2^16, n.depth/2^16) + elseif n.id == hlist or n.id ==vlist then + log(dots .. "%s [%s] width=%.2fpt height=%.2fpt depth=%.2fpt shift=%.2fpt {%s}", node.type(n.id), n.subtype, n.width/2^16, n.height/2^16, n.depth/2^16, n.shift/2^16, ids) elseif n.id == glue then - log(dots .. "glue subtype=%s width=%spt", n.subtype, n.width/65536) + log(dots .. "glue [%s] width=%.2fpt", n.subtype, n.width/2^16) else log(dots .. "node %s [%s] {%s}", node.type(n.id), n.subtype, ids) end @@ -720,9 +721,6 @@ end local function post_linebreak(h, groupcode, glyphes) -- TODO: to be changed according to the font local lastseennode = nil - local adddash = false - local currentfont = 0 - local currentshift = 0 local centerstartnode = nil local line_id = nil local line_top = nil @@ -754,6 +752,7 @@ local function post_linebreak(h, groupcode, glyphes) line_bottom = nil line_has_translation = false line_has_abovelinestext = false + for n in traverse_id(hlist, line.head) do syl_id = has_attribute(n, syllable_id_attr) or syl_id if has_attribute(n, center_attr, startcenter) then @@ -764,32 +763,12 @@ local function post_linebreak(h, groupcode, glyphes) else center_translation(centerstartnode, n, line.glue_set, line.glue_sign, line.glue_order) end - elseif has_attribute(n, dash_attr, potentialdashvalue) then - adddash=true - lastseennode=n - currentfont = 0 - -- we traverse the list, to detect the font to use, - -- and also not to add an hyphen if there is already one - for g in node.traverse_id(glyph, n.head) do - if currentfont == 0 then - currentfont = g.font - end - if g.char == hyphen or g.char == 45 then - adddash = false - end - end - if currentshift == 0 then - currentshift = n.shift - end - -- if we encounter a text that doesn't need a dash, we acknowledge it - elseif has_attribute(n, dash_attr, nopotentialdashvalue) then - adddash=false end - + if new_score_heights then local glyph_id = has_attribute(n, glyph_id_attr) - local glyph_top = has_attribute(n, glyph_top_attr) or 9 -- 'g' - local glyph_bottom = has_attribute(n, glyph_bottom_attr) or 9 -- 'g' + local glyph_top = has_attribute(n, glyph_top_attr) or 7 -- 'e' = \gre@pitch@dummy + local glyph_bottom = has_attribute(n, glyph_bottom_attr) or 7 -- 'e' = \gre@pitch@dummy if glyph_id and glyph_id > prev_line_id then if not line_id or glyph_id > line_id then line_id = glyph_id @@ -812,13 +791,7 @@ local function post_linebreak(h, groupcode, glyphes) is_mark(n, abovelinestext_mark) end end - if adddash==true then - local dashnode, hyphnode = getdashnnode() - dashnode.shift = currentshift - hyphnode.font = currentfont - insert_after(line.head, lastseennode, dashnode) - addash=false - end + if line_id then new_score_heights[prev_line_id] = { linenum, line_top, line_bottom, line_has_translation and 1 or 0, @@ -830,8 +803,6 @@ local function post_linebreak(h, groupcode, glyphes) new_score_last_syllables[syl_id] = syl_id end end - -- we reinitialize the shift value, because it may change according to the line - currentshift=0 end end @@ -871,7 +842,43 @@ local function post_linebreak(h, groupcode, glyphes) end end end - + + -- Look for words that are broken across lines and insert a hyphen + for line in traverse_id(hlist, h) do + if has_attribute(line, dash_attr) then + -- Look for the last node that has dash_attr > 0 + local adddash=false + for n in traverse_id(hlist, line.head) do + -- If a syllable is not word-final, it may need a dash if it + -- ends up being line-final. + -- Note: This also loops over translations, but translations + -- come before lyrics, so they should never become lastseennode + if has_attribute(n, dash_attr, potentialdashvalue) then + adddash=true + lastseennode=n + -- if we encounter a text that doesn't need a dash, we acknowledge it + elseif has_attribute(n, dash_attr, nopotentialdashvalue) then + adddash=false + end + end + + -- If the last syllable needed a dash, add it + if adddash then + local lastglyph + -- we traverse the list, to detect the font to use, + -- and also not to add an hyphen if there is already one + for g in node.traverse_id(glyph, lastseennode.head) do + lastglyph = g + end + if not (lastglyph.char == hyphen or lastglyph.char == 45) then + local dashnode, hyphnode = getdashnnode() + hyphnode.font = lastglyph.font + insert_after(lastseennode.head, lastglyph, dashnode) + end + end + end + end + --dump_nodes(h) -- due to special cases, we don't return h here (see comments in bug #20974) return true @@ -1290,6 +1297,7 @@ local function include_score(input_file, force_gabccompile, allow_deprecated) glog_file = string.format("%s%s-%s.glog", output_dir, cleaned_filename, internalversion:gsub("%.", "_")) compile_gabc(gabc_file, gtex_filename, glog_file, allow_deprecated) + gtex_filename = lfs.normalize(gtex_filename) tex.print(string.format([[\input %s\relax]], gtex_filename)) return else @@ -1298,6 +1306,7 @@ local function include_score(input_file, force_gabccompile, allow_deprecated) end end if not gabc_file then + gtex_file = lfs.normalize(gtex_file) tex.print(string.format([[\input %s\relax]], gtex_file)) return end @@ -1320,6 +1329,7 @@ local function include_score(input_file, force_gabccompile, allow_deprecated) elseif force_gabccompile then compile_gabc(gabc_file, gtex_file, glog_file, allow_deprecated) end + gtex_file = lfs.normalize(gtex_file) tex.print(string.format([[\input %s\relax]], gtex_file)) return end @@ -1641,7 +1651,9 @@ local function adjust_line_height(inside_discretionary, for_next_line) if for_next_line then local last = score_heights['last'] if last then - local target_id = tex.getattribute(glyph_id_attr) + 1 + -- Let target_id be the glyph_id of the last glyph on this line. + -- Then heights[target_id] is the information for the next line. + local target_id = tex.getattribute(glyph_id_attr) while target_id <= last do heights = score_heights[target_id] if heights then break end diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex index dda44127cd2..ba0b176541a 100644 --- a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex +++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex.tex @@ -21,7 +21,7 @@ % This file needs to be marked with the version number. For now I've done this with the following comment, but we should check to see if PlainTeX has something similar to the version declaration of LaTeX and use that if it does. -% [2025/02/10 v6.1.0-beta1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX +% [2025/02/17 v6.1.0-beta2 GregorioTeX system.]% PARSE_VERSION_DATE_LTX \input iftex.sty \RequireLuaTeX% |