summaryrefslogtreecommitdiff
path: root/support/gregoriotex/tex/luatex/gregoriotex-signs.tex
diff options
context:
space:
mode:
Diffstat (limited to 'support/gregoriotex/tex/luatex/gregoriotex-signs.tex')
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-signs.tex191
1 files changed, 170 insertions, 21 deletions
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-signs.tex b/support/gregoriotex/tex/luatex/gregoriotex-signs.tex
index b5f68ebbcd..addcba3178 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-signs.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-signs.tex
@@ -1,6 +1,6 @@
%GregorioTeX file.
%
-% Copyright (C) 2007-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2007-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -22,7 +22,7 @@
\def\grebarbracewidth{.58879}%
-\gre@declarefileversion{gregoriotex-signs.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-signs.tex}{6.0.0-beta1}% GREGORIO_VERSION
\def\gre@usestylecommon{%
\gre@trace{gre@usestylecommon}%
@@ -238,8 +238,8 @@
\gre@trace@end%
}
-\def\gre@saveclefextrema#1#2{%
- \gre@trace{gre@saveclefextrema{#1}{#2}}%
+\def\gre@save@clefextrema#1#2{%
+ \gre@trace{gre@save@clefextrema{#1}{#2}}%
% compute the clef extrema
\ifcase#1\or % first@1
\global\let\gre@pitch@cleftop\gre@pitch@e %
@@ -308,7 +308,7 @@
\def\GreInitialClefPosition#1#2{%
\gre@trace{GreInitialClefPosition{#1}{#2}}%
\ifgre@showclef %
- \gre@saveclefextrema{#1}{#2}%
+ \gre@save@clefextrema{#1}{#2}%
\fi %
\gre@trace@end%
}%
@@ -325,7 +325,7 @@
%% #8: if 3, it means that we must not put a flat after the secondary clef, otherwise it's the height of the flat
\def\gre@typeclef#1#2#3#4#5#6#7#8{%
\gre@trace{gre@typeclef{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}}%
- \gre@saveclefextrema{#2}{#7}%
+ \gre@save@clefextrema{#2}{#7}%
\gre@boxclef{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}%
\ifcase#3%
\gre@update@clefwidth@current{\wd\gre@box@temp@width}%
@@ -1210,12 +1210,12 @@
% here we shift a bit left in the case where we have a punctum inclinatum on a line
\ifnum#4=1\relax %
\ifgre@isonaline %
- \gre@dimen@temp@three=\dimexpr(3700sp * \gre@factor)\relax %
+ \gre@dimen@temp@three=\dimexpr(\gre@dimen@inclinatumonlinemorahshiftbase * \gre@factor)\relax %
\kern-\gre@dimen@temp@three %
- \gre@dimen@temp@three=\dimexpr(4500sp * \gre@factor)\relax%
+ \gre@dimen@temp@three=\dimexpr(\gre@dimen@inclinatumonlinemoravshiftbase * \gre@factor)\relax%
\advance\gre@dimen@glyphraisevalue by -\gre@dimen@temp@three %
\else %
- \gre@dimen@temp@three=\dimexpr(2500sp * \gre@factor)\relax %
+ \gre@dimen@temp@three=\dimexpr(\gre@dimen@inclinatumofflinemorahshiftbase * \gre@factor)\relax %
\advance\gre@dimen@glyphraisevalue by -\gre@dimen@temp@three %
\fi %
\fi %
@@ -1538,6 +1538,7 @@
\setbox\gre@box@temp@sign=\hbox{\gre@font@music#2}%
% we set tempwidth to half a punctum malus half the sign width, so that the centers are aligned
\gre@dimen@temp@two=\wd\gre@box@temp@sign %
+ \gre@debugmsg{general}{gre@dimen@temp@two = \the\gre@dimen@temp@two}%
\ifcase#4%
%case of hepisema
\raise \gre@dimen@glyphraisevalue \copy\gre@box@temp@sign %
@@ -1840,6 +1841,34 @@
\gre@trace@end%
}%
+\def\GreInVirgulaParen#1#2#3{%
+ \gre@trace{GreInVirgulaParen{#1}{#2}{#3}}%
+ \gre@writebar{19}{1}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreVirgulaParen#1#2#3{%
+ \gre@trace{GreVirgulaParen{#1}{#2}{#3}}%
+ \gre@writebar{19}{0}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreInVirgulaParenHigh#1#2#3{%
+ \gre@trace{GreInVirgulaParenHigh{#1}{#2}{#3}}%
+ \gre@writebar{21}{1}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreVirgulaParenHigh#1#2#3{%
+ \gre@trace{GreVirgulaParenHigh{#1}{#2}{#3}}%
+ \gre@writebar{21}{0}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
\def\GreInDivisioMinimis#1#2#3{%
\gre@trace{GreInDivisioMinimis{#1}{#2}{#3}}%
\gre@writebar{17}{1}{#1}{#2}{#3}%
@@ -1896,6 +1925,34 @@
\gre@trace@end%
}%
+\def\GreInDivisioMinimaParen#1#2#3{%
+ \gre@trace{GreInDivisioMinimaParen{#1}{#2}{#3}}%
+ \gre@writebar{20}{1}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreDivisioMinimaParen#1#2#3{%
+ \gre@trace{GreDivisioMinimaParen{#1}{#2}{#3}}%
+ \gre@writebar{20}{0}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreInDivisioMinimaParenHigh#1#2#3{%
+ \gre@trace{GreInDivisioMinimaHigh{#1}{#2}{#3}}%
+ \gre@writebar{22}{1}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
+\def\GreDivisioMinimaParenHigh#1#2#3{%
+ \gre@trace{GreDivisioMinimaHigh{#1}{#2}{#3}}%
+ \gre@writebar{22}{0}{#1}{#2}{#3}%
+ \relax%
+ \gre@trace@end%
+}%
+
\def\GreInDivisioMinor#1#2{%
\gre@trace{GreInDivisioMinor{#1}{#2}}%
\gre@writebar{2}{1}{#1}{#2}{0}%
@@ -2100,7 +2157,15 @@
\newskip\gre@skip@bar@lastskip% skip after last bar
%a macro to write a bar
-%% 1: the type of the bar : 0 for virgula, 1 for minima 2 for minor, 3 for major, 4 for finalis and 5 for the last finalis, 6 to 13 for dominican bars, 14 for high virgula, 15 for high minima, 16 for dotted maior, 17 for minimis, 18 for high minimis
+%% 1: the type of the bar : 0 for virgula, 1 for minima, 2 for minor,
+%% 3 for major, 4 for finalis, 5 for the last finalis,
+%% 6 to 13 for dominican bars, 14 for high virgula,
+%% 15 for high minima, 16 for dotted maior,
+%% 17 for minimis, 18 for high minimis,
+%% 19 for parenthesized virgula,
+%% 20 for parenthesized minima,
+%% 21 for high parenthesized virgula,
+%% 22 for high parenthesized minima,
%% 2: is 0 if it is in a syllable containing only this bar, 1 otherwise
%% 3: is 0 if there's no text under the bar or 1 if there is text under the bar
%% 4: macros that may happen before the skip after the bar (typically GreVEpisema)
@@ -2428,6 +2493,66 @@
\gre@skip@temp@four = \csname gre@space@skip@bar@minimis\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
\gre@hskip\gre@skip@temp@four %
\fi %
+ \or % 19 : parenthesized virgula
+ \ifnum\gre@count@temp@one=1\relax %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@virgulaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \GreNoBreak %
+ \fi %
+ \setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@virgulaparen}%
+ \raise\gre@dimen@glyphraisevalue\hbox{\gre@font@music\gre@char@bar@virgulaparen}%
+ #4\relax %
+ \ifnum\gre@count@temp@one=1\relax %
+ \GreNoBreak %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@virgulaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \fi %
+ \or % 20 : parenthesized minima
+ \ifnum\gre@count@temp@one=1\relax %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@minimaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \GreNoBreak %
+ \fi %
+ \setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiominimaparen}%
+ \raise\gre@dimen@glyphraisevalue\hbox{\gre@font@music\gre@char@bar@divisiominimaparen}%
+ #4\relax %
+ \ifnum\gre@count@temp@one=1\relax %
+ \GreNoBreak %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@minimaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \fi %
+ \or % 21 : parenthesized high virgula
+ \ifnum\gre@count@temp@one=1\relax %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@virgulaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \GreNoBreak %
+ \fi %
+ \GreGlyphHeights{\gre@pitch@ledger@above}{\gre@pitch@ledger@above}%
+ \setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@virgulaparenhigh}%
+ \raise\gre@dimen@glyphraisevalue\hbox{\gre@font@music\gre@char@bar@virgulaparenhigh}%
+ \GreAdditionalLine{\GreOCaseBarVirgulaParen}{0}{2}%
+ #4\relax %
+ \ifnum\gre@count@temp@one=1\relax %
+ \GreNoBreak %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@virgulaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \fi %
+ \or % 22 : parenthesized high minima
+ \ifnum\gre@count@temp@one=1\relax %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@minimaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \GreNoBreak %
+ \fi %
+ \GreGlyphHeights{\gre@pitch@ledger@above}{\gre@pitch@ledger@above}%
+ \setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiominimaparenhigh}%
+ \raise\gre@dimen@glyphraisevalue\hbox{\gre@font@music\gre@char@bar@divisiominimaparenhigh}%
+ \GreAdditionalLine{\GreOCaseBarParen}{0}{2}%
+ #4\relax %
+ \ifnum\gre@count@temp@one=1\relax %
+ \GreNoBreak %
+ \gre@skip@temp@four = \csname gre@space@skip@bar@minimaparen\gre@bar@space@suffix{#2}{#3}{#5}\endcsname\relax%
+ \gre@hskip\gre@skip@temp@four %
+ \fi %
\fi %
\global\gre@skip@bar@lastskip=\gre@skip@temp@four %
\gre@debugmsg{spacing}{Width of bar just printed: \the\wd\gre@box@temp@width}%
@@ -2470,7 +2595,7 @@
%macro to end a line with a divisio finalis
\def\GreFinalDivisioFinalis#1{%
\gre@trace{GreFinalDivisioFinalis{#1}}%
- \GreBarSyllable{\GreSetThisSyllable{}{}{}{}{}}{}{}{1}{\GreSetNextSyllable{}{}{}{}{}\GreLastOfLine}{}{16}{}{%
+ \GreBarSyllable{\GreSetThisSyllable{}{}{}{}{}}{}{}{1}{\GreSetNextSyllable{}{}{}{}{}\GreLastOfLine}{}{{16}{0}}{}{%
\ifgre@newbarspacing\else %
\gre@hskip\gre@space@skip@bar@finalfinalis %
\GreNoBreak %
@@ -2486,7 +2611,7 @@
%macro to end a line with a divisio maior
\def\GreFinalDivisioMaior#1{%
\gre@trace{GreFinalDivisioMaior{#1}}%
- \GreBarSyllable{\GreSetThisSyllable{}{}{}{}{}}{}{}{1}{\GreSetNextSyllable{}{}{}{}{}\GreLastOfLine}{}{16}{}{%
+ \GreBarSyllable{\GreSetThisSyllable{}{}{}{}{}}{}{}{1}{\GreSetNextSyllable{}{}{}{}{}\GreLastOfLine}{}{{16}{0}}{}{%
\GreLastOfScore %
\GreDivisioMaior{0}{}%
#1%
@@ -2551,16 +2676,13 @@
\gre@trace{gre@fillhole{#1}{#2}}%
\ifgre@boxing\else %
\global\gre@count@lastglyphiscavum=1\relax %
- \setbox\gre@box@temp@sign=\hbox{#1}%
+ \setbox\gre@box@temp@sign=\hbox to 0pt {%
+ {\color{grebackgroundcolor}#1}%
+ \rule{0pt}{0pt}% this trick prevents the color from leaking out of this box
+ \hss}%
+ \luacolorProcessBox\gre@box@temp@sign%
\ifcase#2\raise \gre@dimen@glyphraisevalue\fi%
- \hbox to 0pt{%
- {%
- \color{grebackgroundcolor}%
- \copy\gre@box@temp@sign %
- }%
- %\pdfliteral{}% this is a ugly hack for old versions of LuaTeX to work
- \hss %
- }%
+ \copy\gre@box@temp@sign%
\GreNoBreak %
\fi %
\relax %
@@ -2631,6 +2753,15 @@
\gre@trace@end%
}%
+% Same as the one before, but for parenthesized flats.
+
+\def\GreFlatParen#1#2#3#4#5{%
+ \gre@trace{GreFlatParen{#1}{#2}{#3}{#4}{#5}}%
+ \gre@alteration{#1}{\gre@fontchar@flatparen}{\gre@fontchar@flatparenhole}{#2}{#3}{#4}{#5}%
+ \relax%
+ \gre@trace@end%
+}%
+
% Same as the one before, but for naturals.
\def\GreNatural#1#2#3#4#5{%
@@ -2640,6 +2771,15 @@
\gre@trace@end%
}%
+% Same as the one before, but for parenthesized naturals.
+
+\def\GreNaturalParen#1#2#3#4#5{%
+ \gre@trace{GreNaturalParen{#1}{#2}{#3}{#4}{#5}}%
+ \gre@alteration{#1}{\gre@fontchar@naturalparen}{\gre@fontchar@naturalparenhole}{#2}{#3}{#4}{#5}%
+ \relax%
+ \gre@trace@end%
+}%
+
% Same as the one before, but for sharps.
\def\GreSharp#1#2#3#4#5{%
@@ -2649,6 +2789,15 @@
\gre@trace@end%
}%
+% Same as the one before, but for sharps.
+
+\def\GreSharpParen#1#2#3#4#5{%
+ \gre@trace{GreSharpParem{#1}{#2}{#3}{#4}{#5}}%
+ \gre@alteration{#1}{\gre@fontchar@sharpparen}{\gre@fontchar@sharpparenhole}{#2}{#3}{#4}{#5}%
+ \relax%
+ \gre@trace@end%
+}%
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for typesetting punctum cavum
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%