summaryrefslogtreecommitdiff
path: root/support
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-03-02 03:04:42 +0000
committerNorbert Preining <norbert@preining.info>2021-03-02 03:04:42 +0000
commit4763ec8ceefaf2b038d591b8c15d88d081aec6c9 (patch)
tree113e7c21358dd01318b8e7a1e3f3228ec33bc563 /support
parent3a1a102e980610859d9f1b197733d6ce6a541c62 (diff)
CTAN sync 202103020304
Diffstat (limited to 'support')
-rw-r--r--support/gregoriotex/CHANGELOG.md32
-rw-r--r--support/gregoriotex/COPYING.md2
-rw-r--r--support/gregoriotex/README.md2
-rw-r--r--support/gregoriotex/UPGRADE.md12
-rw-r--r--support/gregoriotex/doc/Appendix_Font_Tables.tex2
-rw-r--r--support/gregoriotex/doc/Command_Index_User.tex147
-rw-r--r--support/gregoriotex/doc/Command_Index_gregorio.tex112
-rw-r--r--support/gregoriotex/doc/Command_Index_internal.tex218
-rw-r--r--support/gregoriotex/doc/Gabc.tex12
-rw-r--r--support/gregoriotex/doc/GregorioNabcRef.pdfbin484381 -> 484824 bytes
-rw-r--r--support/gregoriotex/doc/GregorioNabcRef.tex2
-rw-r--r--support/gregoriotex/doc/GregorioRef.lua18
-rw-r--r--support/gregoriotex/doc/GregorioRef.pdfbin807105 -> 826346 bytes
-rw-r--r--support/gregoriotex/doc/GregorioRef.tex8
-rw-r--r--support/gregoriotex/doc/examples/debugging.tex10
-rw-r--r--support/gregoriotex/doc/examples/main-lualatex.tex50
-rw-r--r--support/gregoriotex/doc/gsp-sample.tex462
-rw-r--r--support/gregoriotex/fonts/sources/convertsfdtottf.py2
-rw-r--r--support/gregoriotex/fonts/sources/greciliae-base.sfd1285
-rw-r--r--support/gregoriotex/fonts/sources/gregall.sfd2
-rw-r--r--support/gregoriotex/fonts/sources/grelaon.sfd2
-rw-r--r--support/gregoriotex/fonts/sources/gresgmodern.sfd2
-rw-r--r--support/gregoriotex/fonts/sources/simplify.py2
-rw-r--r--support/gregoriotex/fonts/sources/squarize.py37
-rw-r--r--support/gregoriotex/fonts/sources/stemsschemas.py2
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae-hole.ttfbin1105828 -> 1105848 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae-hollow.ttfbin1809560 -> 1832636 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae-op-hole.ttfbin1105824 -> 1105844 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae-op-hollow.ttfbin1847248 -> 1870292 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae-op.ttfbin1130264 -> 1134608 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greciliae.ttfbin1092516 -> 1096860 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/greextra.ttfbin24760 -> 24760 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/gregall.ttfbin159472 -> 159476 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/grelaon.ttfbin187528 -> 187532 bytes
-rw-r--r--support/gregoriotex/fonts/truetype/gresgmodern.ttfbin203284 -> 203280 bytes
-rw-r--r--support/gregoriotex/tex/lualatex/gregoriosyms.sty10
-rw-r--r--support/gregoriotex/tex/lualatex/gregoriotex.sty17
-rw-r--r--support/gregoriotex/tex/luatex/gregorio-vowels.dat2
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-chars.tex15
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-common.tex25
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-gsp-default.tex (renamed from support/gregoriotex/tex/luatex/gsp-default.tex)319
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-main.tex259
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-nabc.lua4
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-nabc.tex4
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-signs.lua36
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-signs.tex191
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-spaces.tex289
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-syllable.tex227
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-symbols.lua4
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex-symbols.tex4
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex.lua76
-rw-r--r--support/gregoriotex/tex/luatex/gregoriotex.tex7
52 files changed, 2846 insertions, 1066 deletions
diff --git a/support/gregoriotex/CHANGELOG.md b/support/gregoriotex/CHANGELOG.md
index 89d74a76d6..ca3bf27c8c 100644
--- a/support/gregoriotex/CHANGELOG.md
+++ b/support/gregoriotex/CHANGELOG.md
@@ -2,6 +2,38 @@
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][develop]
+
+
+## [Unreleased][CTAN]
+
+
+## [6.0.0-beta1] - 2021-02-23
+### Fixed
+- Fixed some problem in 900_gregorio.xml (Scribus render frame tool). First, the use of `filecontents` rather than `filecontents*` was leading to a comment header that made it impossible for Gregorio to find the gabc headers in the temporary score file. Further, some of the indenting (which makes the file more human readable) was leading to errors in the formatting of the created files because they are processed in a way which handles whitespace differently from XML. See [#1457](https://github.com/gregorio-project/gregorio/issues/1457).
+- `spacelinestext` is now based on the lyric font size instead of being a fixed distance. As a result, large lyrics should no longer overlap with low notes. See [#1261](https://github.com/gregorio-project/gregorio/issues/1261).
+- Added parenthesized figures for virgula (gabc: `` `?``), divisio minima (gabc: ` ,?`), flat (gabc: `x?`), natural (gabc: `y?`), and sharp (gabc: `#?`). See [#1475](https://github.com/gregorio-project/gregorio/issues/1475).
+- Staff line thickness is now set in gsp-default.tex. This corrects a problem with the staff lines changing thickness when the default spacing configuration is loaded while the staff size is something other than the default (17). See [#1461](https://github.com/gregorio-project/gregorio/issues/1461).
+- Corrected interaction issues between text styles and ligatures. The LaTeX commands like `\textit` insert italics correction, preventing ligatures being formed between their arguments if two occur sequentially. On the other hand the switches like `\itshape` do not. Since gregorio breaks up syllables around the vowel and then applies the formating commands to each part, this behavior showed up. We switch to using the switches to avoid this (except for underlining, for which a switch does not exist). We also fix this for color tags by loading `luacolor` which changes how the `\color` tag is implemented to allow ligatures to span groups. See [#1444](https://github.com/gregorio-project/gregorio/issues/1444).
+- A reuse of a save register led to the `\hyphenpenalty` not being restored correctly at the end of the score. All save registers are now clearly identified by when they are used so as to make it harder to accidentally use the wrong one. See [posts on mailing list](https://groups.google.com/g/gregorio-users/c/u3LmnGYnhwU).
+- Fixed an overly specific find/replace in snippets that that led to `\par` being able to slip into the snippet file under certain circumstances (and there by causing compilation to fail). See [#1497](https://github.com/gregorio-project/gregorio/issues/1497).
+- Updated to use iftex package (the sucessor to ifluatex). See [#1481](https://github.com/gregorio-project/gregorio/issues/1481).
+
+### Added
+- Default spacings are now designated internal and thus always loaded. `gsp-sample.tex` is added to the `doc` folder to show users how to create their own custom spacing configuration. As part of this change, spacing configuration files no longer need to be complete. Since the default configuration is always loaded at package startup, all needed penalties and spacings will be defined and the user's configuration file need only specify those whose value they wish to customize. Addresses issues raised in [#1460](https://github.com/gregorio-project/gregorio/issues/1460). **This is a change to the user interface and warrants a major release.**
+- Added additional message to verbose output of command-line tool to prevent confusion when a custom Latin vowel convention is found that the internal Latin rules will be used. See [#1470](https://github.com/gregorio-project/gregorio/issues/1470).
+- Added `$` in gabc text to prevent special interpretation of the character that follows. See [#1515](https://github.com/gregorio-project/gregorio/issues/1515)
+- GregorioTeX will now look in additional places for scores using. Users can specify paths to look in using `\gresetgregpath`. If scores are not found in the current working directory or the list of provided paths, we fall back on kpse to try and find them. See [#1395](https://github.com/gregorio-project/gregorio/issues/1395).
+- Added the ability to toggle the visibility of the translation and above lines text. See [user request on mailing list](https://groups.google.com/g/gregorio-users/c/J-V0dkBMevY).
+
+### Changed
+- The space between a non-punctum inclinatum and the upright punctum inclinatum is renamed to uprightpunctuminclinatumshift. This helps to better distinguish it from punctuminclinatumunisonshift (the space between two consecutive ascending or descending puncta inclinata on the same line). See [#1507](https://github.com/gregorio-project/gregorio/issues/1507).
+- `noteadditionalspacelinestext` now calculates the actual amount of additional space needed by low notes. To enable the old behavior (when `noteadditionalspacelinestext` is set by the user), use `\gresetnoteadditionalspacelinestext{manual}`. See [#1521](https://github.com/gregorio-project/gregorio/issues/1521) and [#1526](https://github.com/gregorio-project/gregorio/pull/1526).
+
+### Removed
+- `\gresethyphenprotrusion{percentage}`, supplanted by `\gresetprotrusionfactor{eolhyphen}{factor}`. Note that the value the new command takes is a factor rather than a percentage.
+
+
## [5.2.1] - 2019-04-06
### Fixed
- Project names with quotes in them no longer cause GregorioTeX to not be able to find the executable. See [#1416](https://github.com/gregorio-project/gregorio/issues/1416).
diff --git a/support/gregoriotex/COPYING.md b/support/gregoriotex/COPYING.md
index 91abac0e1f..9b83602d1a 100644
--- a/support/gregoriotex/COPYING.md
+++ b/support/gregoriotex/COPYING.md
@@ -1,6 +1,6 @@
#License of Gregorio
-The program Gregorio is Copyright (C) 2007-2019 The Gregorio Project,
+The program Gregorio is Copyright (C) 2007-2021 The Gregorio Project,
see [CONTRIBUTORS.md](CONTRIBUTORS.md) for authors. It is distributed
under the GPLv3 license, printed below.
diff --git a/support/gregoriotex/README.md b/support/gregoriotex/README.md
index 215993bdee..3b5d5543b7 100644
--- a/support/gregoriotex/README.md
+++ b/support/gregoriotex/README.md
@@ -10,7 +10,7 @@ Create a [LaTeX](http://en.wikipedia.org/wiki/LaTeX) file that will produce the
Compile the LaTeX file with LuaLaTeX, you get your score in PDF! You can change the LaTeX file to include other scores, create booklets, books, etc.
-You can also try it online [here](http://dev.illuminarepublications.com/gregorio/).
+You can also try it online [here](http://dev.illuminarepublications.com/).
## Installation
diff --git a/support/gregoriotex/UPGRADE.md b/support/gregoriotex/UPGRADE.md
index 88ec978324..cd67743238 100644
--- a/support/gregoriotex/UPGRADE.md
+++ b/support/gregoriotex/UPGRADE.md
@@ -4,8 +4,16 @@ This file contains instructions to upgrade to a new release of Gregorio. These
## Unreleased
+### Upright punctum inclinatum
+
Gregorio will now use an "upright" punctum inclinatum shape for a series of unison punctum inclinatum notes over a given syllable. When there is a single punctum inclinatum, Gregorio will use a heuristic to choose a shape. In any of these cases, if the result is not satisfactory, especially in context with nearby syllables, you may select a different shape by using `0` (for the descending shape) or `1` (for the ascending shape) after the capitalized letter indicating the punctum inclinatum. Forced selection of the upright shape is also possible by using `2` after the capitalized letter indicating the punctum inclinatum.
+### GABC escape character
+
+In GABC text, the dollar sign (`$`) is now an "escape character" which prevents any special interpretation of the single character which follows the `$`. This allows you to put things like parentheses in text (use `$(`), but it also prevents other special interpretation of the character that follows (e.g., `$:` prevents auto-protrusion for the colon and `$-` prevents hyphenation handling of the dash). In order to send a `$` to TeX, use `$$` to escape the dollar sign.
+
+If you had used the `$` for some reason in your GABC text, this change will break your score. You will need to change all `$` in your text to `$$` to retain the old behavior.
+
## 5.1
No additional steps are needed to upgrade from 5.0 to 5.1.
@@ -285,7 +293,7 @@ The `gregorio` executable now uses the `.gtex` extension by default (instead of
### Custom spacings
-If you are using custom spacings, please update the values of `interwordspacetext`, `intersyllablespacenotes` and `interwordspacenotes` to match their new definitions (in the comments in `gsp-default.tex`). Also note that `alterationspace` is now fixed and cannot take `plus` or `minus` values.
+If you are using custom spacings, please update the values of `interwordspacetext`, `intersyllablespacenotes` and `interwordspacenotes` to match their new definitions (in the comments in `gsp-sample.tex`). Also note that `alterationspace` is now fixed and cannot take `plus` or `minus` values.
### Euouae blocks
@@ -447,7 +455,7 @@ In version 2.4.2, an early version of the feature to auto-compile gabc score was
### Custom dimension changes
-If you use custom space definitions (`gsp-foo.tex`), the format have changed, and you must rewrite it completely. See the new `gsp-default.tex` for an example, and GregorioRef.pdf for documentation.
+If you use custom space definitions (`gsp-foo.tex`), the format have changed, and you must rewrite it completely. See the new `gsp-sample.tex` for an example, and GregorioRef.pdf for documentation.
### Color definition
diff --git a/support/gregoriotex/doc/Appendix_Font_Tables.tex b/support/gregoriotex/doc/Appendix_Font_Tables.tex
index daf52714c7..7ab9ef4661 100644
--- a/support/gregoriotex/doc/Appendix_Font_Tables.tex
+++ b/support/gregoriotex/doc/Appendix_Font_Tables.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
diff --git a/support/gregoriotex/doc/Command_Index_User.tex b/support/gregoriotex/doc/Command_Index_User.tex
index 99c985f9ec..ccd0130ab4 100644
--- a/support/gregoriotex/doc/Command_Index_User.tex
+++ b/support/gregoriotex/doc/Command_Index_User.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -94,7 +94,7 @@ Once you've included the package in your document (as explained above) the follo
\subsubsection{Including scores}
\macroname{\textbackslash gregorioscore}{[\optional{\#1}]\{\#2\}}{gregoriotex-main.tex}
-Macro for including scores. Works on both gabc and tex files.
+Macro for including scores. Works on both gabc and gtex files.
\begin{argtable}
\#1 & \texttt{n} & Optional. \#2 will be included as is. \\
@@ -150,6 +150,16 @@ When called with the optional argument \texttt{[f]} Gregorio\TeX\ will
compile the gabc file into a gtex file. This is similar to
\texttt{[a]} except the gabc is compiled every time.
+\macroname{\textbackslash gresetgregpath}{\{\#1\}}{gregoriotex-main.tex}
+Set a list of additional directories which should be searched for scores. Directories may be absolute or relative, but must end with a slash (\verb=/=) and enclosed in braces (\verb={}=), even if there is only one additional directory. For example, to look in a directory called “Scores” which is alongside the main project directory, one could use the following:
+
+\begin{latexcode}
+ \gresetgregpath{{../Scores/}}
+\end{latexcode}
+
+Note that these directories are not searched recursively. If you want to include subdirectories, then each subdirectory must be included individually.
+
+
\macroname{\textbackslash gresetcompilegabc}{\{\#1\}}{gregoriotex-main.tex}
A macro to change the behavior of the way Gregorio\TeX\ includes scores. This is similar to using the package options \verb=[forcecompile]=, \verb=[autocompile]=, and \verb=[nevercompile]=, but does not necessarly apply to the entire document.
@@ -166,17 +176,17 @@ without doing anything else.
\medskip This macro can be combined in the same document with different arguments to
switch between different behaviors: \par\medskip
\begin{latexcode}
- \usepackage{gregoriotex} % [nevercompile] is the default.
+ \usepackage{gregoriotex} % [autocompile] is the default.
----
- \gregorioscore{TecumPrincipium} % gabc never compiled.
- \gregorioscore[f]{TecumPrincipium} % gabc always compiled.
- \gregorioscore[a]{TecumPrincipium} % gabc auto compiled.
-
- \gresetcompilegabc{auto}
\gregorioscore{TecumPrincipium} % gabc auto compiled.
\gregorioscore[n]{TecumPrincipium} % gabc never compiled.
\gregorioscore[f]{TecumPrincipium} % gabc always compiled.
+ \gresetcompilegabc{never}
+ \gregorioscore{TecumPrincipium} % gabc never compiled.
+ \gregorioscore[f]{TecumPrincipium} % gabc always compiled.
+ \gregorioscore[a]{TecumPrincipium} % gabc auto compiled.
+
\gresetcompilegabc{force}
\gregorioscore{TecumPrincipium} % gabc always compiled.
\gregorioscore[n]{TecumPrincipium} % gabc never compiled.
@@ -251,17 +261,6 @@ Macro to adjust the thickness of the staff lines.
\subsubsection{Fine Tuning Dimensions}
In addition to providing control over the overall size of your scores, Gregorio\TeX\ allows you to fine tune the spacings around and between the various elements using the following functions.
-\macroname{\textbackslash grecreatedim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex}
-Macro to create one of Gregorio\TeX’s distances. Used to initialize distances in a space configuration file. For an example of such a file, please see \textit{gsp-default.tex}, which contains the default spacing configuration for Gregorio\TeX.
-
-\begin{argtable}
- \#1 & string & The name of the distance to be changed. See \nameref{distances} below.\\
- \#2 & string & The distance in string format. \textbf{Note:} You cannot use a length register for this argument. You \emph{must} use a string because of the way that Gregorio\TeX\ handles spaces.\\
- \#3 & \texttt{fixed} & Distance will not scale when staff size is changed.\\
- & \texttt{scalable} & Distance will scale when staff size is changed.\\
- & \texttt{inherited} & Distance will inherit its value from another distance. When this argument is used, then \#2 should be the name of another Gregorio\TeX\ distance.
-\end{argtable}
-
\macroname{\textbackslash grechangedim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex}
Macro to change one of Gregorio\TeX’s distances. This function will check to make sure the distance you are trying to change exists first.
@@ -322,7 +321,7 @@ Changes one of Gregorio\TeX’s counts or penalties for a given line in the next
\end{argtable}
\macroname{\textbackslash greloadspaceconf}{\{\#1\}}{gregoriotex-spaces.tex}
-Macro to load a space configuration file. Space configuration file names have the format \verb=gsp-identifier.tex= and must be in the same directory as your project or in your texmf directory.
+Macro to load a space configuration file. Space configuration file names have the format \verb=gsp-identifier.tex= and must be in the same directory as your project or in your texmf directory. See \verb=gsp-sample.tex= for an example file.
\begin{argtable}
\#1 & string & The identifier of the space configuration file.
@@ -330,13 +329,13 @@ Macro to load a space configuration file. Space configuration file names have t
Example:\par\medskip
\begin{latexcode}
- % loads gsp-default.tex, the default configuration file
+ % loads gregoriotex-gsp-default.tex, the default configuration file
\greloadspaceconf{default}
% loads a custom configuration called gsp-myspaces.tex
\greloadspaceconf{myspaces}
\end{latexcode}
-\macroname{\textbackslash greconffactor}{}{gsp-default.tex}
+\macroname{\textbackslash greconffactor}{}{gregoriotex-gsp-default.tex}
A count which indicates the staff size that a space configuration file is designed for. Each space configuration file must have this value set as Gregorio\TeX\ will compare it to the current staff size to determine if the configuration file being loaded needs to be rescaled.
\macroname{\textbackslash gresetlineheightexpansion}{\{\#1\}}{gregoriotex-main.tex}
@@ -400,6 +399,13 @@ staff). The \texttt{\textit{n}} should be set to indicate whether the
system should act as if the ledger line exists (\texttt{1}) or not
(\texttt{0}).
+\macroname{\textbackslash gresetnoteadditionalspacelinestext}{\{\#1\}}{gregoriotex-main.tex}
+Macro which determines how much additional space between the notes and the lyrics for really low notes.
+
+\begin{argtable}
+ \#1 & \texttt{automatic} & additional space between the notes and the lyrics is computed automatically (default)\\
+ & \texttt{manual} & additional space between the notes and the lyrics is based on the user setting of \texttt{noteadditionalspacelinestext} (a spacing adjustable using \verb=\grechangedim=)
+\end{argtable}
\subsubsection{Staff Lines}
@@ -461,6 +467,8 @@ Note that the font will be looked up by name through luaotfload, see the documen
& \texttt{granapadano} & Use the Grana Padano font.\\
\end{argtable}
+\textbf{Nota Bene:} The Gregorio and Grana Padano fonts are not included by default in a basic installation. To get them you need to download and install them from the \verb=supp-fonts-##.zip= file (where \#\# is the version number of your release). See \url{https://github.com/gregorio-project/gregorio/releases} for the list of releases.
+
\macroname{\textbackslash gresetgregoriofontscaled}{[\optional{\#1}]\{\#2\}\{\#3\}}{gregoriotex-main.tex}
This function is the same as above, with a third argument to scale the font. The fonts shipped with Gregorio do not need to use this function, but some custom fonts do. Note that you cannot use this to scale glyphs up or down, as they would not be placed correctly on the staff.
@@ -919,6 +927,22 @@ Sets the visibility of the lyrics.
& \texttt{invisible} & Lyrics are not visible.\\
\end{argtable}
+\macroname{\textbackslash gresettranslation}{\{\#1\}}{gregoriotex-main.tex}
+Sets the visibility of the translations.
+
+\begin{argtable}
+ \#1 & \texttt{visible} & Translations are visible (default).\\
+ & \texttt{invisible} & Translations are not visible.\\
+\end{argtable}
+
+\macroname{\textbackslash gresetabovelinestext}{\{\#1\}}{gregoriotex-main.tex}
+Sets the visibility of the above lines text.
+
+\begin{argtable}
+ \#1 & \texttt{visible} & Above lines text are visible (default).\\
+ & \texttt{invisible} & Above lines text are not visible.\\
+\end{argtable}
+
\subsubsection{Text Alignment}
Gregorio\TeX\ allows you to manipulate the global alignment behavior of some text elements using the following commands.
@@ -964,8 +988,8 @@ Macro to specify how the translation text should be aligned with it respective s
Macro to specify which line of the annotation should be used to determine its starting placement (i.e. before \texttt{annotationraise} is applied).
\begin{argtable}
- \#1 & \texttt{firstline} & Annotation placement is determined by the first line (default)\\
- & \texttt{lastline} & annotation placement is determined by the last line\\
+ \#1 & \texttt{topline} & Annotation placement is determined by the first line (default)\\
+ & \texttt{bottomline} & annotation placement is determined by the last line\\
\end{argtable}
\macroname{\textbackslash gresetannotationvalign}{\{\#1\}}{gregoriotex-main.tex}
@@ -1000,7 +1024,7 @@ protrusion factors will be used for various characters as well as for
\verb=<pr>= tags with no specified protrusion factor. A protrusion factor of 0
means no protrusion and 1 means full protrusion. Any floating-point value from
0 to 1 is allowed. All of these global protrusion factors may be set in
-gsp-default.tex or in your own \TeX\ files.
+a spacing configuration file (gsp-*.tex) or in the project \TeX\ file.
\begin{argtable}
\#1 & \texttt{,} & Sets the automatic protrusion factor for a comma at
@@ -1394,10 +1418,8 @@ baseline.
\end{gcount}
\begin{gcount}{noteadditionalspacelinestextthreshold}
-The number of low notes which will add on the
-\texttt{noteadditionalspacelinestext} space. For instance, with a threshold of
-\texttt{2}, every note below \texttt{c} will add {noteadditionalspacelinestext}
-space for each pitch needed below \texttt{c}, accounting for the various signs.
+The number of low notes which will add space between the lines and the lyrics. For instance, with a threshold of
+\texttt{2}, every note below \texttt{c} will add space for each pitch needed below \texttt{c}, accounting for the various signs.
\end{gcount}
\subsection{Distances}\label{distances}
@@ -1612,6 +1634,10 @@ Space between a punctum inclinatum and a no-bar (stemless) glyph three or four
pitches above.
\end{gdimension}
+\begin{gdimension}{uprightpunctuminclinatumshift}
+Space after after a non-punctum inclinatum and before the upright punctum inclinatum.
+\end{gdimension}
+
\begin{gdimension}{maximumspacewithoutdash}
Maximal space between two syllables for which we consider a dash is not needed.
\end{gdimension}
@@ -1699,11 +1725,6 @@ The space above the lines.
The space between the lines and the bottom of the text.
\end{gdimension}
-\begin{gdimension}{noteadditionalspacelinestext}
-The space added between the lines and the bottom of the text for every pitch
-below the \texttt{noteadditionalspacelinestextthreshold}.
-\end{gdimension}
-
\begin{gdimension}{spacebeneathtext}
The space beneath the text.
\end{gdimension}
@@ -1846,7 +1867,7 @@ This space is added before the final divisio final of a score (old bar spacing a
Spaces around bars when they are typeset inside a syllable. The \verb=@short=
suffix for virgula and divisio minima indicates the space used when the notes
-surrounding the bar are strictly lower than \texttt{g} (in a four-line score).
+surrounding the bar are strictly lower than \texttt{g} (in a four-line score).
For divisio minimis, the \verb=@short= suffix is for notes lower than
\texttt{h}. When applied to ``high'' positions (on the ledger line above
the staff), the \verb=@short= distances will be used for up to two pitches
@@ -1858,6 +1879,12 @@ higher.
\begin{gdimension}{bar@virgula@short}
\end{gdimension}
+\begin{gdimension}{bar@virgulaparen}
+\end{gdimension}
+
+\begin{gdimension}{bar@virgulaparen@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minimis}
\end{gdimension}
@@ -1870,6 +1897,12 @@ higher.
\begin{gdimension}{bar@minima@short}
\end{gdimension}
+\begin{gdimension}{bar@minimaparen}
+\end{gdimension}
+
+\begin{gdimension}{bar@minimaparen@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minor}
\end{gdimension}
@@ -1890,6 +1923,12 @@ Spaces around bars in standalone syllables, when these have text (new bar spacin
\begin{gdimension}{bar@virgula@standalone@text@short}
\end{gdimension}
+\begin{gdimension}{bar@virgulaparen@standalone@text}
+\end{gdimension}
+
+\begin{gdimension}{bar@virgulaparen@standalone@text@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minimis@standalone@text}
\end{gdimension}
@@ -1902,6 +1941,12 @@ Spaces around bars in standalone syllables, when these have text (new bar spacin
\begin{gdimension}{bar@minima@standalone@text@short}
\end{gdimension}
+\begin{gdimension}{bar@minimaparen@standalone@text}
+\end{gdimension}
+
+\begin{gdimension}{bar@minimaparen@standalone@text@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minor@standalone@text}
\end{gdimension}
@@ -1925,6 +1970,12 @@ Spaces around bars in standalone syllables, when these have no text (new bar spa
\begin{gdimension}{bar@virgula@standalone@notext@short}
\end{gdimension}
+\begin{gdimension}{bar@virgulaparen@standalone@notext}
+\end{gdimension}
+
+\begin{gdimension}{bar@virgulaparen@standalone@notext@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minimis@standalone@notext}
\end{gdimension}
@@ -1937,6 +1988,12 @@ Spaces around bars in standalone syllables, when these have no text (new bar spa
\begin{gdimension}{bar@minima@standalone@notext@short}
\end{gdimension}
+\begin{gdimension}{bar@minimaparen@standalone@notext}
+\end{gdimension}
+
+\begin{gdimension}{bar@minimaparen@standalone@notext@short}
+\end{gdimension}
+
\begin{gdimension}{bar@minor@standalone@notext}
\end{gdimension}
@@ -2029,7 +2086,7 @@ The club penalty (determines how important it is to prevent orphans from occurri
The widow penalty (determines how important it is to prevent widows from occurring).
\end{gcount}
-\macroname{emergencystretch}{}{gsp-default.tex}
+\macroname{emergencystretch}{}{gregoriotex-gsp-default.tex}
The value of the last ditch stretch for overfull boxes. This should be set using \verb=\grechangedim=.
Default: \verb=\emergencystretch=
@@ -2038,27 +2095,27 @@ Default: \verb=\emergencystretch=
The end after bar penalty.
\end{gcount}
-\begin{gcount}{endafterbaraltpenalty}{}{gsp-default.tex}
+\begin{gcount}{endafterbaraltpenalty}{}{gregoriotex-gsp-default.tex}
The alternate end after bar penalty (used when there is no text under the bar).
\end{gcount}
-\begin{gcount}{endofelementpenalty}{}{gsp-default.tex}
+\begin{gcount}{endofelementpenalty}{}{gregoriotex-gsp-default.tex}
The end of element penalty.
\end{gcount}
-\begin{gcount}{endofsyllablepenalty}{}{gsp-default.tex}
+\begin{gcount}{endofsyllablepenalty}{}{gregoriotex-gsp-default.tex}
The end of element penalty.
\end{gcount}
-\begin{gcount}{endofwordpenalty}{}{gsp-default.tex}
+\begin{gcount}{endofwordpenalty}{}{gregoriotex-gsp-default.tex}
The end of element penalty.
\end{gcount}
-\begin{gcount}{hyphenpenalty}{}{gsp-default.tex}
+\begin{gcount}{hyphenpenalty}{}{gregoriotex-gsp-default.tex}
The hyphen penalty.
\end{gcount}
-\begin{gcount}{nobreakpenalty}{}{gsp-default.tex}
+\begin{gcount}{nobreakpenalty}{}{gregoriotex-gsp-default.tex}
Penalty to prevent a line break.
\end{gcount}
@@ -2070,7 +2127,7 @@ Penalty to force a line break.
The penalty applied after the final element of a score.
\end{gcount}
-\macroname{looseness}{}{gsp-default.tex}
+\macroname{looseness}{}{gregoriotex-gsp-default.tex}
The \TeX\ looseness within a score.
Default: \verb=\looseness=
@@ -2079,12 +2136,12 @@ Default: \verb=\looseness=
The \TeX\ tolerance within a score. See \url{https://en.wikibooks.org/wiki/TeX/tolerance} for an explanation of what tolerance is.
\end{gcount}
-\macroname{pretolerance}{}{gsp-default.tex}
+\macroname{pretolerance}{}{gregoriotex-gsp-default.tex}
The \TeX\ pretolerance within a score. See \url{https://en.wikibooks.org/wiki/TeX/pretolerance} for an explanation of what pretolerance is.
Default: $-1$ (Lua\TeX\ versions prior to 0.80) or \verb=\pretolerance= (versions after, and including, 0.80)]
-\textit{Nota bene:} For more details on why this is necessary see the comments in gsp-default.tex.
+\textit{Nota bene:} For more details on why this is necessary see the comments in gregoriotex-gsp-default.tex.
diff --git a/support/gregoriotex/doc/Command_Index_gregorio.tex b/support/gregoriotex/doc/Command_Index_gregorio.tex
index eaf0121293..d6eac996fc 100644
--- a/support/gregoriotex/doc/Command_Index_gregorio.tex
+++ b/support/gregoriotex/doc/Command_Index_gregorio.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -118,7 +118,7 @@ Macro for typesetting a bar syllable.
& \texttt{1} & this syllable is the end of a word\\
\#5 & \TeX\ code & macros setting syllable letters for the next syllable\\
\#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
- \#7 & & alignment type of the first next glyph\\
+ \#7 & pair of integers & a pair containing alignment type and alteration type of the next glyph\\
\#8 &\TeX\ code & other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments\\
\#9 & \TeX\ code & The bar line (usually a \textit{writebar} call).
\end{argtable}
@@ -291,6 +291,28 @@ Macro to typeset a divisio minima on the ledger line above the staff.
& \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
\end{argtable}
+\macroname{\textbackslash GreDivisioMinimaParen}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized divisio minima.
+
+\begin{argtable}
+ \#1 & \texttt{0} & There is no text under the bar.\\
+ & \texttt{1} & There is text under the bar.\\
+ \#2 & \TeX\ code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisema=).\\
+ \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\
+ & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
+\end{argtable}
+
+\macroname{\textbackslash GreDivisioMinimaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized divisio minima on the ledger line above the staff.
+
+\begin{argtable}
+ \#1 & \texttt{0} & There is no text under the bar.\\
+ & \texttt{1} & There is text under the bar.\\
+ \#2 & \TeX\ code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisema=).\\
+ \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\
+ & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
+\end{argtable}
+
\macroname{\textbackslash GreDivisioMinimis}{\#1\#2\#3}{gregoriotex-signs.tex}
Macro to typeset a divisio ``minimis'' (eighth bar).
@@ -302,7 +324,7 @@ Macro to typeset a divisio ``minimis'' (eighth bar).
& \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
\end{argtable}
-\macroname{\textbackslash GreDivisioMinimaHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+\macroname{\textbackslash GreDivisioMinimisHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
Macro to typeset a divisio ``minimis'' (eighth bar) on the ledger line above the staff.
\begin{argtable}
@@ -464,10 +486,8 @@ after the centered letters.
\macroname{\textbackslash GreFirstSyllableInitial}{\#1}{gregoriotex-syllable.tex}
A macro which is called with the first letter of the first syllable which is
-not the initial of the score. If the \texttt{initial-style} is \texttt{0}, the
-first letter of the syllable will be passed. If the \texttt{initial-style} is
-\texttt{1} or \texttt{2}, the \emph{second} letter will be passed. This macro
-may be redefined to style the first letter appropriately.
+not the initial of the score. If there is no initial (\verb=\gresetinitiallines{0}= has been called), the
+first letter of the syllable will be passed. Otherwise, the \emph{second} letter will be passed.
\begin{argtable}
\#1 & string & The first letter of the first syllable which is not the
@@ -496,6 +516,18 @@ Macro to typeset a flat.
\#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
\end{argtable}
+\macroname{\textbackslash GreFlatParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized flat.
+
+\begin{argtable}
+ \#1 & integer & Height number of the flat.\\
+ \#2 & \texttt{0} & The flat is not part of the clef.\\
+ & \texttt{1} & The flat is part of the clef.\\
+ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\
+ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\
+ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
+\end{argtable}
+
\macroname{\textbackslash GreForceHyphen}{}{gregoriotex-syllable.tex}
Macro that indicates that a hyphen should be forced (if enabled) after the given syllable.
@@ -642,6 +674,18 @@ Same as \verb=\GreDivisioMinima= except inside a syllable.
\macroname{\textbackslash GreInDivisioMinimaHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
Same as \verb=\GreDivisioMinimaHigh= except inside a syllable.
+\macroname{\textbackslash GreInDivisioMinimaParen}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinimaParen= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMinimaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinimaParenHigh= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMinimis}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinimis= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMinimisHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinimisHigh= except inside a syllable.
+
\macroname{\textbackslash GreInDivisioMinor}{\#1\#2}{gregoriotex-signs.tex}
Same as \verb=\GreDivisioMinor= except inside a syllable.
@@ -663,6 +707,12 @@ Same as \verb=\GreVirgula= except inside a syllable.
\macroname{\textbackslash GreInVirgulaHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
Same as \verb=\GreVirgulaHigh= except inside a syllable.
+\macroname{\textbackslash GreInVirgulaParen}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreVirgulaParen= except inside a syllable.
+
+\macroname{\textbackslash GreInVirgulaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+Same as \verb=\GreVirgulaParenHigh= except inside a syllable.
+
\macroname{\textbackslash GreItalic}{\#1}{gregoriotex.sty or gregoriotex.tex}
Makes argument (a string) italic. Accesses \LaTeX\ \verb=\textit= or
Plain \TeX\ \verb=\it= as appropriate. Corresponds to ``<i></i>'' tags
@@ -746,6 +796,18 @@ Macro to typeset a natural.
\#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
\end{argtable}
+\macroname{\textbackslash GreNaturalParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized natural.
+
+\begin{argtable}
+ \#1 & integer & Height number of the natural.\\
+ \#2 & \texttt{0} & The natural is not part of the clef.\\
+ & \texttt{1} & The natural is part of the clef (doesn't happen).\\
+ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\
+ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\
+ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
+\end{argtable}
+
\macroname{\textbackslash GreNewLine}{}{gregoriotex-main.tex}
Macro to call if you want to go to the next line.
@@ -1004,6 +1066,18 @@ Macro to typeset a sharp.
\#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
\end{argtable}
+\macroname{\textbackslash GreSharpParen}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized sharp.
+
+\begin{argtable}
+ \#1 & integer & Height number of the sharp.\\
+ \#2 & \texttt{0} & The sharp is not part of the clef.\\
+ & \texttt{1} & The sharp is part of the clef (doesn't happen).\\
+ \#3 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\
+ \#4 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\
+ \#5 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
+\end{argtable}
+
\macroname{\textbackslash GreSmallCaps}{\#1}{gregoriotex.sty and gregoriotex.tex}
Makes argument small capitals. Accesses \LaTeX\ \verb=\textsc= or
Plain \TeX\ \verb=\sc= as appropriate Corresponds to ``<sc></sc>'' tags
@@ -1056,7 +1130,7 @@ Macro to typeset the syllable.
& \texttt{1} & this syllable is the end of a word\\
\#5 & \TeX\ code & macros setting syllable letters for the next syllable\\
\#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled\\
- \#7 & & alignment type of the first next glyph\\
+ \#7 & pair of integers & a pair containing alignment type and alteration type of the next glyph\\
\#8 &\TeX\ code & other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments\\
\#9 & Gregorio\TeX\ glyphs & all the notes
\end{argtable}
@@ -1162,6 +1236,28 @@ Macro to typeset a virgula on the ledger line above the staff.
& \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
\end{argtable}
+\macroname{\textbackslash GreVirgulaParen}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized virgula.
+
+\begin{argtable}
+ \#1 & \texttt{0} & There is no text under the bar.\\
+ & \texttt{1} & There is text under the bar.\\
+ \#2 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisema=).\\
+ \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\
+ & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
+\end{argtable}
+
+\macroname{\textbackslash GreVirgulaParenHigh}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset a parenthesized virgula on the ledger line above the staff.
+
+\begin{argtable}
+ \#1 & \texttt{0} & There is no text under the bar.\\
+ & \texttt{1} & There is text under the bar.\\
+ \#2 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisema=).\\
+ \#3 & \texttt{0} & The notes around the bar are vertically close to the bar.\\
+ & \texttt{1} & The notes around the bar are far, \verb=@short= versions of spaces will be used.\\
+\end{argtable}
+
\macroname{\textbackslash GreWriteTranslation}{\#1}{gregoriotex-main.tex}
Macro to typeset argument in the translation position.
diff --git a/support/gregoriotex/doc/Command_Index_internal.tex b/support/gregoriotex/doc/Command_Index_internal.tex
index ae844f2fc4..bf45e5d414 100644
--- a/support/gregoriotex/doc/Command_Index_internal.tex
+++ b/support/gregoriotex/doc/Command_Index_internal.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -25,6 +25,8 @@ process the commands listed above. They should not appear in any user
document and are listed here for programmer documentation purposes
only.
+Sometimes it is necessary to temporarily change some register or macro for the purpose of some particular operation and then restore it to its previous value. In those case we define a \verb=\gre@saved@<moment>...= register or macro associated with it (\eg \verb=\gre@dimen@constantglyphraise= is saved just before a discretionary to \verb=\gre@saved@prediscretionary@dimen@constantglyphraise= and restored from it afterwards). These registers/macros are not listed in this documentation.
+
\macroname{\textbackslash gre@error}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Prints an error to the \TeX\ output log.
@@ -74,6 +76,12 @@ deprecated usage is allowed. This is used to pass the value of
\macroname{\textbackslash gre@loadgregoriofont}{}{gregoriotex-main.tex}
Loads the chosen font for the neumes at the correct size.
+\macroname{\textbackslash gre@maketable}{\#1}{gregoriotex-main.tex}
+Helper to convert a \TeX\ list into a Lua table. Used to pass \verb=\gre@input@path= to Lua.
+
+\macroname{\textbackslash gre@input@path}{}{gregoriotex-main.tex}
+Macro holding the list of directories to be searched for scores. \verb=\input@path= gets aliased to this list when inside \verb=\gregorioscore=.
+
\macroname{\textbackslash gre@calculate@constantglyphraise}{}{gregoriotex-spaces.tex}
Macro to calculate \verb=\gre@constantglyphraise=
@@ -214,7 +222,7 @@ Rescales all the distances (and \texttt{stafflinefactor}) which are supposed to
\#2 & integer & the factor the distances are to be put into\\
\end{argtable}
-\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4\#5}{gregoriotex-spaces.tex}
+\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4\#5\#6}{gregoriotex-spaces.tex}
Macro to calculate \texttt{nextbegindifference}.
\begin{argtable}
@@ -222,9 +230,8 @@ Macro to calculate \texttt{nextbegindifference}.
\#2 & string & the first letters of the next syllable\\
\#3 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\
\#4 & string & the end letters of the next syllable\\
- \#5 & $0 \le$ integer $\le 19$ & the type of notes alignment. See \Nameref{notesalign}.\\
- & $20 \le$ integer $\le 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\
- & $40 \le$ integer $\le 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.
+ \#5 & integer & the type of notes alignment. See \Nameref{notesalign}.\\
+ \#6 & integer & the type of alteration. See \Nameref{alterationtype}.\\
\end{argtable}
\macroname{\textbackslash gre@strip@pt}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
@@ -559,9 +566,6 @@ A count which keeps track of which line of the score we’re on.
\macroname{\textbackslash gre@lastoflinecount}{}{gregoriotex-main.tex}
Count to track where on the line we are. Values are \texttt{0} (we are not near the end of a line), \texttt{1} (we’re at the last syllable of the line), and \texttt{2} (we just set the last syllable of the line and so are at the first syllable of a new line).
-\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\#2}{gregoriotex-main.tex}
The macro which needs to be called each time a new lines is started.
@@ -610,9 +614,6 @@ Internal macro to set the first syllable text after all parts are known.
\macroname{\textbackslash gre@opening@syllabletext}{}{gregoriotex-syllable.tex}
Macro that stores the computed \TeX\ code for rendering the text of the first syllable.
-\macroname{\textbackslash gre@exhyphencharsave}{}{gregoriotex-main.tex}
-Macro for saving the ex hyphen character so that it can be restored at the end of the score.
-
\macroname{\textbackslash gre@factor}{}{gregoriotex-main.tex}
Count which stores the current staff size.
@@ -634,11 +635,12 @@ Macro to find the alignment center for a group of notes. The value is the dista
\#1 & Note alignment type & See \ref{notesalign}\\
\end{argtable}
-\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1}{gregoriotex-syllable.tex}
+\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex}
Same as previous, but for the next syllable.
\begin{argtable}
\#1 & Note alignment type & See \ref{notesalign}\\
+ \#1 & Alteration type & See \ref{alterationtype}\\
\end{argtable}
\macroname{\textbackslash gre@calculate@simplenotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex}
@@ -845,6 +847,10 @@ Macro to write a bar.
& \texttt{16} & dotted major\\
& \texttt{17} & minimis (eighth bar)\\
& \texttt{18} & minimis (eighth bar) on ledger line above the staff\\
+ & \texttt{19} & parenthesized virgula\\
+ & \texttt{20} & parenthesized minima\\
+ & \texttt{21} & parenthesized virgula on ledger line above the staff\\
+ & \texttt{22} & parenthesized minima on ledger line above the staff\\
\#2 & \texttt{0} & in a syllable containing only this bar\\
& \texttt{1} & in a syllable containing other notes\\
\#3 & \texttt{0} & if there is no text underneath the bar\\
@@ -1044,6 +1050,10 @@ desired case.
& \texttt{20} & Space between a punctum inclinatum and a ``no-bar'' glyph two pitches above. \\
& \texttt{21} & Space between a punctum inclinatum and a ``no-bar'' glyph three or four pitches above \\
& \texttt{22} & Half-space. \\
+ & \texttt{23} & Space between two puncta inclinata on a unison. \\
+ & \texttt{24} & Space before a right-leaning puncta inclinatum when the pitch is ascending (up to 4 pitches away). \\
+ & \texttt{25} & Space before a left-leaning puncta inclinatum when the pitch is descending (up to 4 pitches away). \\
+ & \texttt{26} & Space after after a non-punctum inclinatum and before the upright punctum inclinatum. \\
\end{argtable}
\macroname{\textbackslash gre@nabcfontname}{}{gregoriotex-main.tex}
@@ -1095,19 +1105,6 @@ Performs \#1 if the syllable should be rewritten, else \#2.
\#2 & \TeX\ code & Code to perform when \emph{not} rewriting the syllable\\
\end{argtable}
-\macroname{\textbackslash gre@save@endsyllablepart}{}{gregoriotex-syllable.tex}
-Control sequence aliased to the carry-over syllable part to be moved to the next syllable.
-
-\macroname{\textbackslash gre@save@fixedtextformat}{\#1}{gregoriotex-syllable.tex}
-Control sequence aliased to the fixed text format for the carry-over syllable part to be moved to the next syllable.
-
-\begin{argtable}
- \#1 & string & The carry-over syllable part, as with \verb=\gre@fixednexttextformat=\\
-\end{argtable}
-
-\macroname{\textbackslash gre@save@pointandclick}{}{gregoriotex-syllable.tex}
-Control sequence aliased to the line:char:column of the point-and-click link for the carry-over syllable part to be moved to the next syllable\\
-
\macroname{\textbackslash gre@push@endsyllable}{\#1}{gregoriotex-syllable.tex}
Sets the save aliases to push the end-syllable part of the current syllable to the next syllable if necessary.
@@ -1212,7 +1209,7 @@ The pitch of the highest point of the current clef.
\macroname{\textbackslash gre@pitch@clefbottom}{}{gregoriotex-spaces.tex}
The pitch of the lowest point of the current clef.
-\macroname{\textbackslash gre@saveclefextrema}{\#1\#2}{gregoriotex-signs.tex}
+\macroname{\textbackslash gre@save@clefextrema}{\#1\#2}{gregoriotex-signs.tex}
Computes the pitches of the lowest and highest points of a clef and saves them
into \verb=\gre@pitch@cleftop= and \verb=\gre@pitch@clefbottom=.
@@ -1254,13 +1251,14 @@ Workhorse function behind \verb=\gresetgregoriofont=.
& \texttt{granapadano} & Use the Grana Padano font.\\
\end{argtable}
-\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3}{gregoriotex-syllable.tex}
+\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3\#4}{gregoriotex-syllable.tex}
Macro to make a few checks and call the right macros between \verb=\endbeforebar=, \verb=\endofword=, \verb=\endofsyllable=.
\begin{argtable}
- \#1 & & next syllable type (\#7 of \verb=\GreSyllable=)\\
- \#2 & string & next syllable text\\
- \#3 & \texttt{0} & this syllable is not the end of a word\\
+ \#1 & integer & the type of notes alignment of next syllable, from \#7 of \verb=\GreSyllable=. See \Nameref{notesalign}.\\
+ \#2 & integer & the type of alteration of next syllable, from \#7 of \verb=\GreSyllable=. See \Nameref{alterationtype}.\\
+ \#3 & string & next syllable text\\
+ \#4 & \texttt{0} & this syllable is not the end of a word\\
& \texttt{1} & this syllable is the end of a word\\
\end{argtable}
@@ -1378,7 +1376,7 @@ Macro for calculating the position of the elements of a bar syllable using the n
\begin{argtable}
\#1 & 0 & bar is not the end of a word\\
& 1 & bar is the end of a word\\
- \#2 & integer & alignment type of the first glyph in the next syllable. See \Nameref{notesalign}\\
+ \#2 & integer & alteration type of the first glyph in the next syllable. See \Nameref{alterationtype}\\
\end{argtable}
\macroname{\textbackslash gre@newlinearg}{}{gregoriotex-syllable.tex}
@@ -1387,9 +1385,6 @@ Macro for storing the argument for \verb=\gre@newlinecommon= when the line break
\macroname{\textbackslash gre@newlinecommondelayed}{}{gregoriotex-syllable.tex}
Macro used in place of \verb=\gre@newlinecommon= when the line break must be delayed.
-\macroname{\textbackslash gre@newlinecommonsaved}{}{gregoriotex-syllable.tex}
-Macro for storing original behavior of \verb=\gre@newlinecommon= so that it can be restored after the delayed line break takes effect.
-
\macroname{\textbackslash gre@punctum@mora}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Macro to typeset a punctum mora.
@@ -1451,6 +1446,22 @@ Prevents the current syllable from overlapping with the previous syllable.
File handle used to mark auto-compiled gabc files as dependencies for tools
like latexmk.
+\macroname{\textbackslash gre@arg@oftwo@first}{\#1\#2}{gregoriotex-syllable.tex}
+Evaluates to the first of its arguments.
+
+\begin{argtable}
+ \#1 & any & the first argument\\
+ \#2 & any & the second argument\\
+\end{argtable}
+
+\macroname{\textbackslash gre@arg@oftwo@second}{\#1\#2}{gregoriotex-syllable.tex}
+Evaluates to the second of its arguments.
+
+\begin{argtable}
+ \#1 & any & the first argument\\
+ \#2 & any & the second argument\\
+\end{argtable}
+
\subsection{Auxiliary File}
Gregorio\TeX\ creates its own auxiliary file (extension \texttt{gaux}) which it uses to store information between successive typesetting runs. This allows for such features as the dynamic interline spacing. The following functions are used to interact with that auxiliary file.
@@ -1508,18 +1519,36 @@ The flat character.
\macroname{\textbackslash gre@fontchar@flathole}{}{gregoriotex-chars.tex}
The flat hole character (\ie, the character needed to prevent lines from showing through the center of the flat).
+\macroname{\textbackslash gre@fontchar@flatparen}{}{gregoriotex-chars.tex}
+The parenthesized flat character.
+
+\macroname{\textbackslash gre@fontchar@flatparenhole}{}{gregoriotex-chars.tex}
+The parenthesized flat hole character (\ie, the character needed to prevent lines from showing through the center of the flat).
+
\macroname{\textbackslash gre@fontchar@natural}{}{gregoriotex-chars.tex}
The natural character.
\macroname{\textbackslash gre@fontchar@naturalhole}{}{gregoriotex-chars.tex}
The natural hole character (\ie, the character needed to prevent lines from showing through the center of the natural).
+\macroname{\textbackslash gre@fontchar@naturalparen}{}{gregoriotex-chars.tex}
+The parenthesized natural character.
+
+\macroname{\textbackslash gre@fontchar@naturalparenhole}{}{gregoriotex-chars.tex}
+The parenthesized natural hole character (\ie, the character needed to prevent lines from showing through the center of the natural).
+
\macroname{\textbackslash gre@fontchar@sharp}{}{gregoriotex-chars.tex}
The sharp character.
\macroname{\textbackslash gre@fontchar@sharphole}{}{gregoriotex-chars.tex}
The sharp hole character (\ie, the character needed to prevent lines from showing through the center of the sharp).
+\macroname{\textbackslash gre@fontchar@sharpparen}{}{gregoriotex-chars.tex}
+The parenthesized sharp character.
+
+\macroname{\textbackslash gre@fontchar@sharpparenhole}{}{gregoriotex-chars.tex}
+The parenthesized sharp hole character (\ie, the character needed to prevent lines from showing through the center of the sharp).
+
\macroname{\textbackslash gre@fontchar@incclef}{}{gregoriotex-chars.tex}
The \texttt{c}-clef which appears in the middle of a line.
@@ -1614,6 +1643,14 @@ lines for the staff.
Alias that will hold the character for the high virgula for the current number
of lines for the staff.
+\macroname{\textbackslash gre@char@bar@virgulaparen}{}{gregoriotex-main.tex}
+Alias that will hold the character for the parenthesized virgula for the current
+number of lines for the staff.
+
+\macroname{\textbackslash gre@char@bar@virgulaparenhigh}{}{gregoriotex-main.tex}
+Alias that will hold the character for the parenthesized high virgula for the
+current number of lines for the staff.
+
\macroname{\textbackslash gre@char@bar@divisiominimis}{}{gregoriotex-main.tex}
Alias that will hold the character for the divisio ``minimis'' (eighth bar) for
the current number of lines for the staff.
@@ -1630,6 +1667,14 @@ number of lines for the staff.
Alias that will hold the character for the high divisio minima for the current
number of lines for the staff.
+\macroname{\textbackslash gre@char@bar@divisiominimaparen}{}{gregoriotex-main.tex}
+Alias that will hold the character for the parenthesized divisio minima for the
+current number of lines for the staff.
+
+\macroname{\textbackslash gre@char@bar@divisiominimaparenhigh}{}{gregoriotex-main.tex}
+Alias that will hold the character for the parenthesized high divisio minima for
+the current number of lines for the staff.
+
\macroname{\textbackslash gre@char@bar@divisiominor}{}{gregoriotex-main.tex}
Alias that will hold the character for the divisio minor for the current
number of lines for the staff.
@@ -1898,9 +1943,6 @@ Boolean to disable the printing of punctum morae.
\macroname{\textbackslash ifgre@disablevepisema}{}{gregoriotex-signs.tex}
Boolean to disable the printing of vertical episemata.
-\macroname{\textbackslash ifgre@lastendswithmorasave}{}{gregoriotex-syllable.tex}
-Boolean for saving \verb=\ifgre@lastendswithmora= for later restoration.
-
\macroname{\textbackslash gre@lasteuouaeindex}{}{gregoriotex-main.tex}
Count which keeps track of the most recent euouae area.
@@ -1943,6 +1985,12 @@ Boolean indicating whether the first nabc voice should be shown.
\macroname{\textbackslash ifgre@showlyrics}{}{gregoriotex-syllable.tex}
Boolean indicating whether the lyrics should be shown.
+\macroname{\textbackslash ifgre@showtranslation}{}{gregoriotex-main.tex}
+Boolean indicating whether the translation should be shown.
+
+\macroname{\textbackslash ifgre@showabovelinestext}{}{gregoriotex-main.tex}
+Boolean indicating whether the above lines text should be shown.
+
\macroname{\textbackslash gre@initiallines}{}{gregoriotex-syllable.tex}
Number of lines the initial takes up. Currently limited to 0, 1, or 2. Not currently a count, but will be changed to one in 5.0.
@@ -1955,6 +2003,10 @@ Boolean indicating that the text of this syllable should not overlap any previou
\macroname{\textbackslash ifgre@evaluatingnextsyllable}{}{gregoriotex-syllable.tex}
Boolean indicating that some aspect of the next syllable is being evaluated in advance.
+\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).
+
+
\subsection{Boxes}
Boxes are used to store elements of the score before they are printed for the purposes of reusing them and/or measuring them in order to determine their appropriate placement.
@@ -2011,6 +2063,20 @@ Macros that store the protrusion factors created by
\subsection{Distances}
+
+\macroname{\textbackslash gre@createdim}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-spaces.tex}
+Macro to create one of Gregorio\TeX’s distances. Used to initialize distances in \textit{gregoriotex-gsp-default.tex}.
+
+\begin{argtable}
+ \#1 & string & The name of the distance to be changed. See \nameref{distances} below.\\
+ \#2 & string & The distance in string format. \textbf{Note:} You cannot use a length register for this argument. You \emph{must} use a string because of the way that Gregorio\TeX\ handles spaces.\\
+ \#3 & \texttt{fixed} & Distance will not scale when staff size is changed.\\
+ & \texttt{scalable} & Distance will scale when staff size is changed.\\
+ & \texttt{inherited} & Distance will inherit its value from another distance. When this argument is used, then \#2 should be the name of another Gregorio\TeX\ distance.
+\end{argtable}
+
+
+
All of the distances listed in \nameref{distances} have an internal associated
with them, of the form of \verb=\gre@space@*@*=, which stores the value of the
distance (in string representation). The first wildcard is either
@@ -2019,10 +2085,6 @@ second is the name of the distance.
These additional distances are calculated by Gregorio based on the values for the user customizable distances and what may be going on in the score at the time of their use.
-In some cases it is necessary to temporarily manipulate some of these distances for the purpose of some particular operation and then restore them to their previous values. In that case the distance will have a \verb=\gre@saved@...= register associated with it (\eg \verb=\gre@dimen@constantglyphraise= is saved to and restored from \verb=\gre@saved@dimen@constantglyphraise=).
-
-We also have save registries for \verb=\baselineskip=, \verb=\lineskip=, \verb=\lineskiplimit=, \verb=\parskip=, and \verb=\parfillskip= so that we can modify the way line breaking decisions are handled inside a score without affecting the rest of the document.
-
\macroname{\textbackslash gre@dimen@morawidth}{}{gregoriotex-spaces.tex}
Width of a punctum mora (reinitialized at each score, lazily recomputed).
@@ -2231,58 +2293,6 @@ Macro called at the beginning of the score to swap text penalties for score pena
\macroname{\textbackslash gre@restorepenalties}{}{gregoriotex-spaces.tex}
Macro called at the end of the score to restore the text penalties.
-\macroname{\textbackslash gre@brokenpenaltysave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the broken penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@clubpenaltysave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the club penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@widowpenaltysave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the widow penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@emergencystretchsave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the emergency stretch so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@endafterbarpenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the end after bar penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@endafterbaraltpenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the alternate end after bar penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@endofelementpenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the end of element penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@endofsyllablepenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the end of syllable penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@endofwordpenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the end of word penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@exhyphenpenaltysave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the ex hyphen penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@hyphenpenaltysave}{}{gregoriotex-main.tex \textup{and} gregoriotex-spaces.tex}
-A place to save the current value of the hyphen penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@nobreakpenaltysave}{}{gregoriotex-main.tex}
-A place to save the current value of the no break penalty so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@doublehyphendemeritssave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the double hyphen demerits so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@finalhyphendemeritssave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the final hyphen demerits so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@loosenesssave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the looseness so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@tolerancesave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the tolerance so that we can change it temporarily and then restore it later.
-
-\macroname{\textbackslash gre@pretolerancesave}{}{gregoriotex-spaces.tex}
-A place to save the current value of the pretolerance so that we can change it temporarily and then restore it later.
-
-
\subsection{Backwards compatibility}
Depending on version of Lua\TeX / \LaTeX, some primitives have different names
We define the following local aliases to account for this eventuality.
@@ -2355,8 +2365,24 @@ rather than have multiple definitions.
\texttt{12} & divisio minor\\
\texttt{13} & divisio maior\\
\texttt{14} & dominican bar\\
- \texttt{15} & divisio finalis\\
- \texttt{16} & no note
+ \texttt{15} & parenthesized virgula\\
+ \texttt{16} & parenthesized divisio minima\\
+ \texttt{17} & divisio finalis\\
+ \texttt{18} & no note
+ \end{tabulary}
+
+\subsection{Alteration Type}\label{alterationtype}
+\rowcolors{1}{lightgray}{lightgray}
+\begin{tabulary}{\textwidth}{cL}
+ \multicolumn{2}{c}{Integer with the following possibilities:} \\
+ \hline
+ \texttt{0} & no alteration\\
+ \texttt{1} & flat\\
+ \texttt{2} & natural\\
+ \texttt{3} & sharp\\
+ \texttt{4} & parenthesized flat\\
+ \texttt{5} & parenthesized natural\\
+ \texttt{6} & parenthesized sharp
\end{tabulary}
\subsection{Note Offset Specifier}\label{NoteOffset}
@@ -2393,7 +2419,9 @@ rather than have multiple definitions.
\item[TorcResDebilisNonAuctusSecondAnyWide] second note of a non-auctus torculus resupinus initio debilis with any first ambitus and a second ambitus of at least two
\item[FinalLineaPunctum] linea punctum (cavum) as last note
\item[BarStandard] standard bar
+ \item[BarParen] parenthesized bar
\item[BarVirgula] virgula
+ \item[BarVirgulaParen] parenthesized virgula
\item[BarDivisioFinalis] divisio finalis
\item[TorcResQuilismaNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with a quilisma, with a first and second ambitus of at least two
\item[TorcResOriscusNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with an oriscus, with a first and second ambitus of at least two
diff --git a/support/gregoriotex/doc/Gabc.tex b/support/gregoriotex/doc/Gabc.tex
index 3de2b36782..c76d7e4a78 100644
--- a/support/gregoriotex/doc/Gabc.tex
+++ b/support/gregoriotex/doc/Gabc.tex
@@ -1,7 +1,7 @@
% !TEX root = GregorioRef.tex
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -91,7 +91,6 @@ Some headers have special meaning to Gregorio:
\end{lstlisting}
\item[author] The author of the piece, if known; of course, the author of most traditional chant is not known.
\item[language] The language of the lyrics.
-\item[oriscus-orientation] If \texttt{legacy}, the orientation of an unconnected oriscus must be set manually.
\item[mode] The mode of the piece. This should normally be an Arabic
number between 1 and 8, but may be any text required for unusual
cases. The mode number will be converted to roman numerals and
@@ -245,6 +244,11 @@ syllables. Spaces (end end-of-lines) in syllable text mark the end of words
and should be placed after the parenthesized notes section for the last
syllable of a given word.
+The special character \texttt{\$} is an ``escape'' character which causes the
+character which follows it to lose any special meaning. This can be used to
+insert parentheses in text (\ie, use \texttt{\$(}). In order to put a
+\texttt{\$} itself in text, escape it (\ie, use \texttt{\$\$}).
+
There are several markup-like codes that may be inserted into syllable text. We divide these into three categories: style tags, syllable controls, and other.
\paragraph{Style Tags}
@@ -491,7 +495,7 @@ Some examples:
g(g) g<sp>~~</sp>(g~) g<(g<) g>(g>) go(go) go<sp>~~</sp>(go~) gw(gw)
gv(gv) gV(gV) gs(gs) gs<(gs<) g=(g=)
( ) (z) ( )
- gr(gr) gR(gR) gr0(gr0) G(G) G0(G0) G1(G1) G~(G~) G>(G>) Gr(Gr) gx(gx)
+ gr(gr) gR(gR) gr0(gr0) G(G) G0(G0) G1(G1) G<sp>~~</sp>(G~) G>(G>) Gr(Gr) gx(gx)
g#(g#) gy(gy)
( )
}
@@ -1043,7 +1047,7 @@ code at the glyph level, or \texttt{[ev:}\textit{tex code}\texttt{]} to insert
Here, note, glyph, and element refer to how Gregorio understands the score.
-\subsubsection{Macros}
+\subsubsection{Macros}\label{usemacros}
Macros may be defined using the \texttt{def-m}\textit{n} headers, where
\textit{n} is 0--9, as described in the \nameref{headers} section above. Then
diff --git a/support/gregoriotex/doc/GregorioNabcRef.pdf b/support/gregoriotex/doc/GregorioNabcRef.pdf
index 08d750889e..60e80bf4cd 100644
--- a/support/gregoriotex/doc/GregorioNabcRef.pdf
+++ b/support/gregoriotex/doc/GregorioNabcRef.pdf
Binary files differ
diff --git a/support/gregoriotex/doc/GregorioNabcRef.tex b/support/gregoriotex/doc/GregorioNabcRef.tex
index 724fefac0b..e5ab81131e 100644
--- a/support/gregoriotex/doc/GregorioNabcRef.tex
+++ b/support/gregoriotex/doc/GregorioNabcRef.tex
@@ -1,6 +1,6 @@
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
diff --git a/support/gregoriotex/doc/GregorioRef.lua b/support/gregoriotex/doc/GregorioRef.lua
index d1d10c6ca2..17266a76cc 100644
--- a/support/gregoriotex/doc/GregorioRef.lua
+++ b/support/gregoriotex/doc/GregorioRef.lua
@@ -1,4 +1,4 @@
--- Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+-- Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
--
-- This file is part of Gregorio.
--
@@ -124,6 +124,10 @@ local EXCLUDE = {
['VirgulaThree'] = true,
['VirgulaFive'] = true,
['VirgulaSix'] = true,
+ ['VirgulaParenTwo'] = true,
+ ['VirgulaParenThree'] = true,
+ ['VirgulaParenFive'] = true,
+ ['VirgulaParenSix'] = true,
['DivisioMinimisTwo'] = true,
['DivisioMinimisThree'] = true,
['DivisioMinimisFive'] = true,
@@ -132,6 +136,10 @@ local EXCLUDE = {
['DivisioMinimaThree'] = true,
['DivisioMinimaFive'] = true,
['DivisioMinimaSix'] = true,
+ ['DivisioMinimaParenTwo'] = true,
+ ['DivisioMinimaParenThree'] = true,
+ ['DivisioMinimaParenFive'] = true,
+ ['DivisioMinimaParenSix'] = true,
['DivisioMinorTwo'] = true,
['DivisioMinorThree'] = true,
['DivisioMinorFive'] = true,
@@ -191,12 +199,15 @@ local GABC = {
DivisioMaiorDottedFour = [[:?]],
DivisioMaiorDottedBackingFour = [[\excluded{:?}]],
DivisioMinimaFour = [[,]],
+ DivisioMinimaParenFour = [[,?]],
DivisioMinimisFour = [[\textasciicircum{}]],
DivisioMinorFour = [[;]],
FClefChange = [[f3]],
FClef = [[f3]],
Flat = [[gx]],
FlatHole = [[\excluded{gx}]],
+ FlatParen = [[gx?]],
+ FlatParenHole = [[\excluded{gx?}]],
Flexus = [[g&&&e]],
FlexusLongqueue = [[h&&&f]],
FlexusNobar = [[@h&&&f]],
@@ -213,6 +224,8 @@ local GABC = {
LineaPunctum = [[g&&&R]],
Natural = [[gy]],
NaturalHole = [[\excluded{gy}]],
+ NaturalParen = [[gy?]],
+ NaturalParenHole = [[\excluded{gy?}]],
OblatusAscendensOriscus = [[g&&&o1]],
OblatusDescendensOriscus = [[g&&&o0]],
OblatusFlexusOriscus = [[g&&&oe]],
@@ -255,6 +268,8 @@ local GABC = {
SemicirculusReversus = [[\excluded{g}r5]],
Sharp = [[g\#{}]],
SharpHole = [[\excluded{g\#{}}]],
+ SharpParen = [[g\#{}?]],
+ SharpParenHole = [[\excluded{g\#{}?}]],
StansPunctumInclinatum = [[G2&&&]],
StrophaAucta = [[g&&&s>]],
StrophaAuctaLongtail = [[h&&&s>]],
@@ -273,6 +288,7 @@ local GABC = {
VirgaReversaLongqueue = [[h&&&V]],
VirgaReversaOpenqueue = [[a&&&V]],
VirgulaFour = [[^^^^0060]],
+ VirgulaParenFour = [[^^^^0060?]],
}
local GABC_AMBITUS_ONE = {
diff --git a/support/gregoriotex/doc/GregorioRef.pdf b/support/gregoriotex/doc/GregorioRef.pdf
index 3628fc1052..3d5d6daa66 100644
--- a/support/gregoriotex/doc/GregorioRef.pdf
+++ b/support/gregoriotex/doc/GregorioRef.pdf
Binary files differ
diff --git a/support/gregoriotex/doc/GregorioRef.tex b/support/gregoriotex/doc/GregorioRef.tex
index dc897c7703..99e45ef111 100644
--- a/support/gregoriotex/doc/GregorioRef.tex
+++ b/support/gregoriotex/doc/GregorioRef.tex
@@ -1,6 +1,6 @@
% !TEX program = LuaLaTeX+se
%
-% Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -139,7 +139,7 @@
{\endtabularx\bigskip}
\makeatletter%
-\NewDocumentEnvironment{gdimension}{m}{\macroname{#1}{}{gsp-default.tex}}{%
+\NewDocumentEnvironment{gdimension}{m}{\macroname{#1}{}{gregoriotex-gsp-default.tex}}{%
\gre@rubberpermit{#1}%
\ifgre@rubber%
@@ -149,7 +149,7 @@
\fi%
}
-\NewDocumentEnvironment{gcount}{m}{\macroname{#1}{}{gsp-default.tex}}{%
+\NewDocumentEnvironment{gcount}{m}{\macroname{#1}{}{gregoriotex-gsp-default.tex}}{%
Default: \expandafter$\expandafter\the\csname gre@space@count@#1\endcsname$
}
@@ -183,7 +183,7 @@
\vspace{1cm}
- \large Version \textbf{5.2.1}, 6 April 2019 %% PARSE_VERSION_DATE
+ \large Version \textbf{6.0.0-beta1}, 23 February 2021 %% PARSE_VERSION_DATE
\vspace{1.5cm}
\end{center}
diff --git a/support/gregoriotex/doc/examples/debugging.tex b/support/gregoriotex/doc/examples/debugging.tex
new file mode 100644
index 0000000000..9aeee8d055
--- /dev/null
+++ b/support/gregoriotex/doc/examples/debugging.tex
@@ -0,0 +1,10 @@
+% !TEX program = LuaLaTeX+se
+\documentclass{article}
+
+\usepackage[debug]{gregoriotex}
+
+\listfiles
+
+\begin{document}
+Debugging document
+\end{document}
diff --git a/support/gregoriotex/doc/examples/main-lualatex.tex b/support/gregoriotex/doc/examples/main-lualatex.tex
index 018a0a06b3..9bbcb8552a 100644
--- a/support/gregoriotex/doc/examples/main-lualatex.tex
+++ b/support/gregoriotex/doc/examples/main-lualatex.tex
@@ -1,47 +1,47 @@
% !TEX program = LuaLaTeX+se
-% This is a simple template for a LuaLaTeX document using gregorio scores.
+% Simple template for using Gregorio scores in a LuaLaTeX document.
-\documentclass[11pt]{article} % use larger type; default would be 10pt
+\documentclass{scrartcl} % set document class: manual at https://ctan.org/pkg/koma-script
-% usual packages loading:
-\usepackage{fontspec}
-\usepackage{graphicx} % support the \includegraphics command and options
-\usepackage{geometry} % See geometry.pdf to learn the layout options. There are lots.
-\geometry{a4paper} % or letterpaper (US) or a5paper or....
-\usepackage{gregoriotex} % for gregorio score inclusion
-\usepackage{fullpage} % to reduce the margins
-\usepackage{libertine} % Decent (free) font for Gregorian, but should be changed if you have high standards
+% Load packages:
+\usepackage[osf,p]{libertine} % set font
+\usepackage{gregoriotex} % enable Gregorio score inclusion
+\usepackage[latin]{babel} % set language
-\begin{document}
+\setkomafont{section}{\normalfont\centering\huge\scshape} % section heading style
+\setcounter{secnumdepth}{-\maxdimen} % remove section numbering
-% The title:
-\begin{center}\begin{huge}\textsc{Populus Sion}\end{huge}\end{center}
-% Here we set the space around the initial.
-% Please report to http://gregorio-project.github.io/gregoriotex/details.html for more details and options
+% Set the space around the initial:
+% See http://gregorio-project.github.io/gregoriotex/details.html for more details and options
\grechangedim{beforeinitialshift}{2.2mm}{scalable}
\grechangedim{afterinitialshift}{2.2mm}{scalable}
-% Here we set the initial font. Change 43 if you want a bigger initial.
+% Set the initial font (change 43 for a larger size):
\grechangestyle{initial}{\fontsize{43}{43}\selectfont}%
-% We set red lines here, comment it if you want black ones.
+% Make staff lines red; remove for black:
\gresetlinecolor{gregoriocolor}
-% We set VII above the initial manually
+% Use the "commentary" field of the score in the top right corner:
+\gresetheadercapture{commentary}{grecommentary}{string}
+
+% Format annotation above initial
\grechangestyle{annotation}{\small\bfseries}
-\greannotation{Intr.}
-\greannotation{\textsc{vii}}
-% We use the "commentary" field of the score in the top right corner:
-\gresetheadercapture{commentary}{grecommentary}{string}
+\begin{document}
+
+\section{Populus Sion}
+
+% Add VII above the initial manually:
+\greannotation{Intr.} % first line
+\greannotation{\textsc{vii}} % second line
-% and finally we include the scores. The file must be in the same directory as this one.
+% Include the score; the file must be in the same directory:
\gregorioscore[a]{PopulusSion}
-\bigskip
-\begin{center}\begin{huge}\textsc{Factus Est}\end{huge}\end{center}
+\section{Factus est}
\gregorioscore[a]{FactusEst}
diff --git a/support/gregoriotex/doc/gsp-sample.tex b/support/gregoriotex/doc/gsp-sample.tex
new file mode 100644
index 0000000000..79dc736f57
--- /dev/null
+++ b/support/gregoriotex/doc/gsp-sample.tex
@@ -0,0 +1,462 @@
+%GregorioTeX file.
+%
+% Copyright (C) 2010-2021 The Gregorio Project (see CONTRIBUTORS.md)
+%
+% This file is part of Gregorio.
+%
+% Gregorio is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Gregorio is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% This file is an example of how the various penalties and spacings can be changed to tweak the
+%% overall look of a Gregorio score.
+%%
+%% When customizing this file to your own use, you do not need to include all the penalties and
+%% distances listed below. Those not included will fall back onto their default values.
+%%
+%% The name of all space configuration files should start with `gsp-` and end with `.tex`; what goes
+%% in between is up to you (so long as it doesn’t contain spaces). To load a space configuration
+%% file called `gsp-sample.tex`, use `\greloadspaceconf{sample}`. The defaults can be reloaded
+%% with `\greloadspaceconf{default}`.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%% At the risk of oversimplifying, penalties affect line breaks: larger penalties indicate that line
+%% breaks should be less likely at the corresponding location, smaller penalties (including negative
+%% values) indicate that line breaks are more likely.
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% penalty to force a break on a new line
+\grechangecount{newlinepenalty}{-10001}%
+% penalty to prevent a line break
+\grechangecount{nobreakpenalty}{10001}%
+% penalty at the end of a syllable which is the end of a word
+\grechangecount{endofwordpenalty}{-100}%
+% penalty at the end of a syllable which is not the end of a word
+\grechangecount{endofsyllablepenalty}{-50}%
+% penalty at the end of a syllable which is just a bar, with something printed
+% under it
+\grechangecount{endafterbarpenalty}{-200}%
+% penalty right after a bar with nothing printed
+\grechangecount{endafterbaraltpenalty}{-200}%
+% penalty at the end of the score
+\grechangecount{finalpenalty}{0}%
+% penalty at the end of a breakable neumatic element (typically at a space
+% between elements)
+\grechangecount{endofelementpenalty}{-50}%
+% hyphenpenalty will be used in discretionaries, in Gregorio this is used for
+% a bar with clef change for example. It also set \exhyphenpenalty. It should
+% be close to endafterbarpenalty
+\grechangecount{hyphenpenalty}{-200}%
+% broken penalty is the vertical penalty inserted after a break on a clef change
+% I'm not sure it should be set, but it might be useful...
+\grechangecount{brokenpenalty}{0}%
+
+%% These macro enable the tuning of linepenalty, tolerance, pretolerance
+%% and emergencystretch
+\grechangecount{looseness}{-1}%
+\grechangecount{tolerance}{9000}%
+% Workaround for bug 842 (http://tracker.luatex.org/view.php?id=842)
+% see http://tug.org/pipermail/luatex/2013-July/004516.html
+% The idea is that we use discretionaries (explicit hyphens, though more than hyphens in our case) for clef changes, and we need to give them a special penalty, which is not taken into account if pretolerance is > -1 on LuaTeX < 0.80. For a more detailed explanation see http://tug.org/pipermail/luatex/2013-July/004516.html.
+\ifnum\the\luatexversion < 78\relax %
+ \grechangecount{pretolerance}{-1}%
+\else %
+ \grechangecount{pretolerance}{\the\pretolerance}%
+\fi %
+\grechangedim{emergencystretch}{\the\emergencystretch}{scalable}%
+% By default, we don't care if a line of score is alone on the page,
+% if you think it is bad, you can modify the two following values. Assigning
+% 10000 to them will prevent all orphaned lines (this will certainly improve
+% some spacings a lot).
+\grechangecount{widowpenalty}{0}%
+\grechangecount{clubpenalty}{0}%
+
+
+%%%%%%%%%%%%%%%%%%%
+%%
+%% Protrusion factors indicate that certain characters are allowed to extend into the right hand
+%% margin when they occur at the end of the line. This allows you to create a more optically
+%% straight margin as the eye tends to discount some characters (mostly punctuation) when
+%% determining whether the end of several lines of text line up.
+%%
+%%%%%%%%%%%%%%%%%%%
+
+% protrusion factor for comma
+\gresetprotrusionfactor{,}{0}%
+% protrusion factor for semicolon
+\gresetprotrusionfactor{;}{0}%
+% protrusion factor for colon
+\gresetprotrusionfactor{:}{0}%
+% protrusion factor for period
+\gresetprotrusionfactor{.}{0}%
+% protrusion factor for hyphens added automatically in the Lua phase
+\gresetprotrusionfactor{eolhyphen}{0}%
+% protrusion factor used by <pr> without an argument
+\gresetprotrusionfactor{default}{1}%
+
+
+
+
+%%%%%%%%%%%%%%%%%%%
+%%
+%% The following spacings govern the distance between various elements (names are chosen to
+%% indicate when each spacing is used). The macro for changing distances is \grechangedim and
+%% it takes 3 arguments:
+%%
+%% (1) the name of the spacing to be changed
+%% (2) the value of the spacing
+%% (3) either `scalable` or `fixed` to indicate how the spacing should behave when
+%% `\grechangestaffsize` is invoked. If `scalable` then the spacing is proportionally rescaled;
+%% if `fixed` it will remain at its given value; if `inherited` then #2 should be the name of
+%% another spacing from which this spacing derives its value.
+%%
+%%%%%%%%%%%%%%%%%%%
+
+%This count tells gregoriotex what size staff the below values correspond to.
+%% The default staff size is 17. At this size the scores should be approximately the size usually
+%% seen in a gradual.
+%% If you’re creating your own space configuration file, you may set this to some other value,
+%% should you so desire.
+%% If the current staff size doesn’t match the value given here when the spacing file is loaded, then
+%% all scalable distances will be rescaled appropriately.
+\greconffactor=17%
+
+%How thick the lines should be. When set equal to \greconffactor (above) the staff lines will be their default thickness. Larger numbers result in thicker lines.
+\grechangestafflinethickness{17}%
+
+% the additional width of the additional lines (compared to the width of the glyph they're associated with)
+\grechangedim{additionallineswidth}{0.14584 cm}{scalable}%
+% width of the additional lines, used only for the custos (maybe should depend on the width of the custos...)
+% the width is the one for the custos at end of lines, the line for custos in the middle of a score is the same
+% multiplied by 2.
+\grechangedim{additionalcustoslineswidth}{0.09114 cm}{scalable}%
+% null space
+\grechangedim{zerowidthspace}{0 cm}{scalable}%
+% space between glyphs in the same element
+\grechangedim{interglyphspace}{0.06927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between an alteration (flat or natural) and the next glyph
+\grechangedim{alterationspace}{0.07747 cm}{scalable}%
+% space between a clef and a flat (for clefs with flat)
+\grechangedim{clefflatspace}{0.05469 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
+% space before a choral sign
+\grechangedim{beforelowchoralsignspace}{0.04556 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
+% when bolshifts are enabled, minimal space between a clef at the beginning of the line and a leading alteration glyph (should be larger than clefflatspace so that a flatted clef can be distinguished from a flat which is part of the first glyph on a line, but also smaller than spaceafterlineclef, the distance from the clef to the first notes)
+\grechangedim{beforealterationspace}{0.1 cm}{scalable}%
+% half-space between elements
+\grechangedim{halfspace}{0.03463 cm plus 0.00091 cm minus 0.00182 cm}{scalable}%
+% space between elements
+\grechangedim{interelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
+% larger space between elements
+\grechangedim{largerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+% space between elements in ancient notation
+\grechangedim{nabcinterelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
+% larger space between elements in ancient notation
+\grechangedim{nabclargerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+% space between elements which has the size of a note
+\grechangedim{glyphspace}{0.21877 cm plus 0.01822 cm minus 0.01822 cm}{scalable}%
+% space before in-line custos
+\grechangedim{spacebeforeinlinecustos}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+% space before end-of-line custos
+\grechangedim{spacebeforeeolcustos}{0.23 cm plus 0 cm minus 0 cm}{scalable}%
+% space before punctum mora and augmentum duplex
+\grechangedim{spacebeforesigns}{0.050 cm plus 0.004 cm minus 0.004 cm}{scalable}%
+% when a syllable is shifted left because of a preceding punctum mora, moraadjustmentbar is
+% also added. Use it to make the syllable a bit further from the punctum mora if you want.
+% This version is the general case.
+\grechangedim{moraadjustment}{0.050 cm}{scalable}%
+% This version is for when punctum mora is before a bar.
+\grechangedim{moraadjustmentbar}{0.050 cm}{scalable}%
+% space after punctum mora and augmentum duplex
+\grechangedim{spaceaftersigns}{0.08203 cm plus 0.0082 cm minus 0.0082 cm}{scalable}%
+% space after a clef at the beginning of a line
+\grechangedim{spaceafterlineclef}{0.23 cm plus 0 cm minus 0.01367 cm}{scalable}%
+% space after a clef at the beginning of a line, when the clef and first note are vertically distant
+\grechangedim{shortspaceafterlineclef}{0.18 cm plus 0 cm minus 0.01367 cm}{scalable}%
+% minimal space between notes of different words
+\grechangedim{interwordspacenotes}{0.29 cm plus 0.05 cm minus 0.05 cm}{scalable}%
+% minimal space between notes of the same syllable.
+\grechangedim{intersyllablespacenotes}{0.24 cm}{scalable}%
+% stretching added in the case where the text of two syllables of the same word are
+% separated with an automatic hyphen
+\grechangedim{intersyllablespacestretchhyphen}{0cm plus 0.05cm}{scalable}%
+% minimal space between letters of different words.
+\grechangedim{interwordspacetext}{0.17 cm plus 0.05 cm minus 0.05 cm}{scalable}%
+% Versions of interword spaces for euouae blocks
+\grechangedim{interwordspacenotes@euouae}{0.23 cm plus 0.1 cm minus 0.05 cm}{scalable}%
+\grechangedim{interwordspacetext@euouae}{0.21 cm plus 0.1 cm minus 0.05 cm}{scalable}%
+% versions of note spaces when the first note of the second syllable is an alteration
+% those are used in euouae blocks
+\grechangedim{interwordspacenotes@alteration}{0.1 cm plus 0.07 cm minus 0.01 cm}{scalable}%
+\grechangedim{intersyllablespacenotes@alteration}{0.1 cm}{scalable}%
+% space between notes of a bivirga or trivirga
+\grechangedim{bitrivirspace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
+% space between notes of a bistropha or tristrophae
+\grechangedim{bitristrospace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
+%
+%%%%%%%%%%%%%%%%%%%%
+% puncta inclinata %
+%%%%%%%%%%%%%%%%%%%%
+%
+% space between two descending punctum inclinatum
+\grechangedim{punctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between two descending or ascending punctum inclinatum at the unison
+\grechangedim{punctuminclinatumunisonshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+% space before descending puncta inclinata
+\grechangedim{beforepunctainclinatashift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+% space between a descending punctum inclinatum and a punctum inclinatum deminutus
+\grechangedim{punctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between two punctum inclinatum deminutus
+\grechangedim{punctuminclinatumdebilisshift}{-0.00728 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between descending puncta inclinata, larger ambitus (range=3rd)
+\grechangedim{punctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between descending puncta inclinata, larger ambitus (range=4th or 5th)
+\grechangedim{punctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between two ascending punctum inclinatum
+\grechangedim{ascendingpunctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between a punctum inclinatum and a punctum inclinatum deminutus, ascending
+\grechangedim{ascendingpunctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between ascending puncta inclinata, larger ambitus (range=3rd)
+\grechangedim{ascendingpunctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between ascending puncta inclinata, larger ambitus (range=4th or 5th)
+\grechangedim{ascendingpunctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph one pitch below
+\grechangedim{descendinginclinatumtonobarshift}{-0.00073 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph two pitches below
+\grechangedim{descendinginclinatumtonobarbigshift}{0.10927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph three or four pitches below
+\grechangedim{descendinginclinatumtonobarmaxshift}{0.23927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph one pitch above
+\grechangedim{ascendinginclinatumtonobarshift}{-0.02473 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph two pitches above
+\grechangedim{ascendinginclinatumtonobarbigshift}{0.04427 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between a punctum inclinatum and a no-bar glyph three or four pitches above
+\grechangedim{ascendinginclinatumtonobarmaxshift}{0.12927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+% space between two descending punctum inclinatum glyphs in an ascent
+\grechangedim{descendingpunctuminclinatumascendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% space between two ascending punctum inclinatum glyphs in an descent
+\grechangedim{ascendingpunctuminclinatumdescendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+% Space after after a non-punctum inclinatum and before the upright punctum inclinatum
+\grechangedim{uprightpunctuminclinatumshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+
+%
+%%%%%%%%
+% bars %
+%%%%%%%%
+%
+% bars inside syllables
+%
+\grechangedim{bar@virgula}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+% short versions are when the notes are very low (virgula, minima, and minimis only)
+\grechangedim{bar@virgula@short}{0.13 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@minimis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@minimis@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@minima}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@minima@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@minor}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+% dominican bars
+\grechangedim{bar@dominican}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@maior}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\grechangedim{bar@finalis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+% space added before the final divisio finalis (old bar spacing algorithm only)
+\grechangedim{bar@finalfinalis}{0.29169 cm plus 0.07292 cm minus 0.27345 cm}{scalable}%
+%
+% bars having their own syllable, with text associated (new bar spacing algorithm only)
+% plus or minus here will trigger some problems
+%
+\grechangedim{bar@virgula@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@virgula@standalone@text@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minimis@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@minimis@standalone@text@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minima@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@minima@standalone@text@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minor@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@dominican@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@maior@standalone@text}{0.2323 cm}{scalable}%
+\grechangedim{bar@finalis@standalone@text}{0.2323 cm}{scalable}%
+% actual space before divisio finalis, not additional one
+\grechangedim{bar@finalfinalis@standalone@text}{0.29169 cm}{scalable}%
+%
+% bars having their own syllable, with no text associated (new bar spacing algorithm only)
+%
+\grechangedim{bar@virgula@standalone@notext}{0.2 cm}{scalable}%
+\grechangedim{bar@virgula@standalone@notext@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minimis@standalone@notext}{0.2 cm}{scalable}%
+\grechangedim{bar@minimis@standalone@notext@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minima@standalone@notext}{0.2 cm}{scalable}%
+\grechangedim{bar@minima@standalone@notext@short}{0.19 cm}{scalable}%
+\grechangedim{bar@minor@standalone@notext}{0.2323 cm}{scalable}%
+\grechangedim{bar@dominican@standalone@notext}{0.2323 cm}{scalable}%
+\grechangedim{bar@maior@standalone@notext}{0.2323 cm}{scalable}%
+\grechangedim{bar@finalis@standalone@notext}{0.2323 cm}{scalable}%
+\grechangedim{bar@finalfinalis@standalone@notext}{0.29169 cm}{scalable}%
+%
+% minimal space between letters of different syllable texts for text around bars
+% (new bar spacing algorithm only)
+\grechangedim{interwordspacetext@bars}{0.18 cm}{scalable}%
+% minimal space between letters of different syllable texts for text around bars,
+% euouae context
+\grechangedim{interwordspacetext@bars@euouae}{0.18 cm}{scalable}%
+\grechangedim{interwordspacetext@bars@notext}{0.19 cm}{scalable}%
+% minimal space between letters of different syllable texts for text around bars,
+% euouae context
+\grechangedim{interwordspacetext@bars@notext@euouae}{0.18 cm}{scalable}%
+% rubber length that will be added around bars in new bar spacing algorithm
+\grechangedim{bar@rubber}{0 cm plus 0.025 cm minus 0.025 cm}{scalable}%
+% in the case of an alteration after a bar, the alteration will "protrude" left of this value
+% think of it as some kind of moraadjustmentbar
+\grechangedim{alterationadjustmentbar}{0.07 cm}{scalable}%
+% additional space that will appear around bars that are preceded by a custos and followed by a key.
+\grechangedim{spacearoundclefbars}{0.03645 cm plus 0.00455 cm minus 0.0009 cm}{scalable}%
+% space between the text of previous syllable and text associated with a bar (old bar spacing algorithm only)
+\grechangedim{textbartextspace}{0.24611 cm plus 0.13672 cm minus 0.04921 cm}{scalable}%
+% minimal space between a note and a bar (old algorithm only)
+\grechangedim{notebarspace}{0.31903 cm plus 0.27345 cm minus 0.02824 cm}{scalable}%
+% Maximum offset between a bar and its associated text when the text goes left of the bar (new bar spacing algorithm only)
+\grechangedim{maxbaroffsettextleft}{0.3 cm}{scalable}%
+% Same as maxbaroffsettextleft when text goes right of the bar
+\grechangedim{maxbaroffsettextright}{0.15 cm}{scalable}%
+% Maximum offset between a no-bar (i.e. something like `text()` in gabc) and its associated text when the text goes left of the no-bar (new bar spacing algorithm only)
+\grechangedim{maxbaroffsettextleft@nobar}{12 cm}{scalable}%
+% Same as maxbaroffsettextleft@nobar when text goes right of the no-bar
+\grechangedim{maxbaroffsettextright@nobar}{12 cm}{scalable}%
+% Space between the two bars of a divisio finalis
+% Maximum offset between a bar and its associated text when the text goes left of the bar and the bar terminates a line (i.e. something line `text(::z)` in gabc) (new bar spacing algorithm only)
+\grechangedim{maxbaroffsettextleft@eol}{0.0 cm}{scalable}%
+% Same as maxbaroffsettextleft@eol when text goes right of the bar
+\grechangedim{maxbaroffsettextright@eol}{0 cm}{scalable}%
+\grechangedim{divisiofinalissep}{0.1094 cm}{scalable}%
+%
+%
+% maximal space between two syllables for which we consider a dash is not needed
+\grechangedim{maximumspacewithoutdash}{0 cm}{scalable}%
+% an extensible space for the beginning of lines
+\grechangedim{afterclefnospace}{0 cm plus 0.27345 cm minus 0 cm}{scalable}%
+% space between the initial and the beginning of the score
+\grechangedim{afterinitialshift}{0.2 cm}{scalable}%
+% space before the initial
+\grechangedim{beforeinitialshift}{0.2 cm}{scalable}%
+% when bolshifts are enabled, minimum space between beginning of line and first syllable text
+\grechangedim{minimalspaceatlinebeginning}{0.05 cm}{scalable}%
+% space to force the initial width to. Ignored when 0.
+\grechangedim{manualinitialwidth}{0 cm}{scalable}%
+% minimum width of the initial. Ignored when manualinitialwidth is non-zero.
+\grechangedim{minimalinitialwidth}{0 cm}{scalable}%
+% distance to move the initial up by
+\grechangedim{initialraise}{0 cm}{scalable}%
+% Space between lines in the annotation
+\grechangedim{annotationseparation}{0.05 cm}{scalable}%
+% Amount to raise (positive) or lower (negative) the annotations from the default position
+\grechangedim{annotationraise}{-0.2 cm}{scalable}%
+% Space between lines in the commentary
+\grechangedim{commentaryseparation}{0.05 cm}{scalable}%
+% Amount to raise (positive) or lower (negative) the commentary from the default position (base line of bottom commentary aligned with top line of staff)
+\grechangedim{commentaryraise}{0.2 cm}{scalable}%
+% space at the beginning of the lines if there is no clef
+\grechangedim{noclefspace}{0.1 cm}{scalable}%
+% space around a clef change
+\grechangedim{clefchangespace}{0.27345 cm plus 0.14584 cm minus 0.01367 cm}{scalable}%
+% When \gre@clivisalignment is 2, this distance is the maximum length of the consonants after vowels for which the clivis will be aligned on its center.
+\grechangedim{clivisalignmentmin}{0.3 cm}{scalable}%
+
+%%%%%%%%%%%%%%%%%%
+% vertical spaces
+%%%%%%%%%%%%%%%%%%
+
+% the amount to shift down:
+% (a) low choral signs that are not lower than the note, regardless of whether
+% it's on a line or in a space
+% (b) high choral signs and low choral signs that are lower than the note which
+% are in a space
+\grechangedim{choralsigndownshift}{0.00911 cm}{scalable}%
+% the amount to shift up:
+% (a) high choral signs and low choral signs that are lower than the note which
+% are on a line
+\grechangedim{choralsignupshift}{0.04556 cm}{scalable}%
+% the space for the translation
+\grechangedim{translationheight}{0.5 cm}{scalable}%
+%the space above the lines
+\grechangedim{spaceabovelines}{0 cm}{scalable}%
+% this counter is the threshold above which we start accounting notes above
+% lines for additional space above lines. For instance with a threshold of
+% 2 and a staff of 4 lines, notes with a pitch of k and l will not interfere
+% with the space above lines
+\grechangecount{additionaltopspacethreshold}{2}%
+% same, for notes taken into account for alt text vertical position
+\grechangecount{additionaltopspacealtthreshold}{0}%
+% same, for notes taken into account for nabc vertical position
+\grechangecount{additionaltopspacenabcthreshold}{4}%
+%the space between the lines and the bottom of the text
+\grechangedim{spacelinestext}{0.60617 cm}{scalable}%
+% the per-note additional space between lines and the bottom of the text
+\grechangedim{noteadditionalspacelinestext}{0.14413 cm}{scalable}%
+% this counter is the number of low notes which will add on additional distance
+\grechangecount{noteadditionalspacelinestextthreshold}{2}%
+%the space beneath the text
+\grechangedim{spacebeneathtext}{0 cm}{scalable}%
+% height of the text above the note line
+\grechangedim{abovelinestextraise}{-0.1 cm}{scalable}%
+% height that is added at the top of the lines if there is text above the lines (it must be bigger than the text for it to be taken into consideration)
+\grechangedim{abovelinestextheight}{0.3 cm}{scalable}%
+% an additional shift you can give to the brace above the bars if you don't like it
+\grechangedim{braceshift}{0 cm}{scalable}%
+% a shift you can give to the accentus above the curly brace
+\grechangedim{curlybraceaccentusshift}{-0.05 cm}{scalable}%
+% the amount to shift the over slur up
+\grechangedim{overslurshift}{0.05000 cm}{scalable}%
+% the amount to shift the under slur up
+\grechangedim{underslurshift}{0.01000 cm}{scalable}%
+% shift for a horizontal episema over a note in a low position in the space
+\grechangedim{overhepisemalowshift}{0.02287 cm}{scalable}%
+% shift for a horizontal episema over a note in a high position in the space
+\grechangedim{overhepisemahighshift}{0.10066 cm}{scalable}%
+% shift for a horizontal episema under a note in a low position in the space
+\grechangedim{underhepisemalowshift}{0.02763 cm}{scalable}%
+% shift for a horizontal episema under a note in a high position in the space
+\grechangedim{underhepisemahighshift}{0.10981 cm}{scalable}%
+% shift for a horizontal episema in the middle of a space
+\grechangedim{hepisemamiddleshift}{0.07206 cm}{scalable}%
+% shift for a vertical episema in a low position in the space
+\grechangedim{vepisemalowshift}{-0.01262 cm}{scalable}%
+% shift for a vertical episema in a high position in the space
+\grechangedim{vepisemahighshift}{0.06634 cm}{scalable}%
+% shift for a punctum mora for a note on a line
+\grechangedim{linepunctummorashift}{-0.06314 cm}{scalable}%
+% shift for a punctum mora for a note in a space
+\grechangedim{spacepunctummorashift}{-0.02013 cm}{scalable}%
+% shift for a punctum mora for the second note (in a space) of a pes with ambitus one
+\grechangedim{spaceamonepespunctummorashift}{0.00183 cm}{scalable}%
+% shift for a punctum mora for the second note in a porrectus, on a line
+\grechangedim{lineporrectuspunctummorashift}{0.04575 cm}{scalable}%
+% shift for a punctum mora for the second note in a porrectus, in a space
+\grechangedim{spaceporrectuspunctummorashift}{0.00000 cm}{scalable}%
+% shift for a rare sign
+\grechangedim{raresignshift}{0.18302 cm}{scalable}%
+% up-shift for a bracket
+\grechangedim{bracketupshift}{0.03000 cm}{scalable}%
+% down-shift for a bracket
+\grechangedim{bracketdownshift}{0.04000 cm}{scalable}%
+%
+
+%%%%%%%%%%
+%% Line spacings
+%%%%%%%%%%
+\grechangedim{parskip}{1pt plus 1pt}{scalable}%
+\grechangedim{lineskip}{0pt plus 1pt}{scalable}%
+\grechangedim{baselineskip}{55pt plus 5pt minus 5pt}{scalable}%
+\grechangedim{lineskiplimit}{0pt}{scalable}%
diff --git a/support/gregoriotex/fonts/sources/convertsfdtottf.py b/support/gregoriotex/fonts/sources/convertsfdtottf.py
index cbd2790d9d..43b26fd27b 100644
--- a/support/gregoriotex/fonts/sources/convertsfdtottf.py
+++ b/support/gregoriotex/fonts/sources/convertsfdtottf.py
@@ -7,7 +7,7 @@
Python fontforge script to convert from fontforge's native sfd
to a TrueType font (ttf).
- Copyright (C) 2015-2019 The Gregorio Project (see CONTRIBUTORS.md)
+ Copyright (C) 2015-2021 The Gregorio Project (see CONTRIBUTORS.md)
This file is part of Gregorio.
diff --git a/support/gregoriotex/fonts/sources/greciliae-base.sfd b/support/gregoriotex/fonts/sources/greciliae-base.sfd
index aad62670ca..7e2fec7c97 100644
--- a/support/gregoriotex/fonts/sources/greciliae-base.sfd
+++ b/support/gregoriotex/fonts/sources/greciliae-base.sfd
@@ -3,7 +3,7 @@ FontName: greciliae
FullName: greciliae
FamilyName: greciliae
Weight: Medium
-Copyright: Greciliae font\nCopyright (C) 2007 Matthew Spencer with Reserved Font Name "Caeciliae",\nCopyright (C) 2007-2019 The Gregorio Project (see CONTRIBUTORS.md)\nwith Reserved Font Name "Greciliae".\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\nThis license is also available with a FAQ at:\nhttp://scripts.sil.org/OFL
+Copyright: Greciliae font\nCopyright (C) 2007 Matthew Spencer with Reserved Font Name "Caeciliae",\nCopyright (C) 2007-2021 The Gregorio Project (see CONTRIBUTORS.md)\nwith Reserved Font Name "Greciliae".\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\nThis license is also available with a FAQ at:\nhttp://scripts.sil.org/OFL
UComments: "2007-4-12: Created."
Version: 1.2
ItalicAngle: 0
@@ -20,7 +20,7 @@ OS2Version: 0
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 1
CreationTime: 1176402534
-ModificationTime: 1533916122
+ModificationTime: 1572105938
OS2TypoAscent: 0
OS2TypoAOffset: 1
OS2TypoDescent: 0
@@ -43,7 +43,8 @@ NameList: Adobe Glyph List
DisplaySize: -96
AntiAlias: 1
FitToEm: 0
-WinInfo: 138 23 6
+WidthSeparation: 150
+WinInfo: 161 23 6
BeginPrivate: 0
EndPrivate
Grid
@@ -71,7 +72,7 @@ Grid
17.75 -700 l 0
EndSplineSet
TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
-BeginChars: 266 266
+BeginChars: 284 284
StartChar: Accentus
Encoding: 0 -1 0
@@ -2287,8 +2288,278 @@ SplineSet
EndSplineSet
EndChar
-StartChar: DivisioMinorTwo
+StartChar: DivisioMinimaParenTwo
Encoding: 92 -1 92
+Width: 259
+VWidth: 1418
+Flags: W
+VStem: 0 18<-162.059 -50.513> 120 19<-264.028 52.9844> 241 18<-162.059 -50.513>
+CounterMasks: 1 e0
+LayerCount: 2
+Fore
+SplineSet
+181 -275.569 m 5
+ 181 -275.569 241 -191.333 241 -106.29 c 4
+ 241 -21.2354 181.001 63.0215 181.001 63.0215 c 5
+ 181.001 63.0215 182.476 65.5684 184 66.5215 c 28
+ 185.727 67.6006 189.001 68.0215 189.001 68.0215 c 5
+ 189.001 68.0215 259 -18.0322 259 -106.29 c 4
+ 259 -194.537 189 -280.569 189 -280.569 c 5
+ 189 -280.569 185.727 -280.148 184 -279.069 c 28
+ 182.476 -278.116 181 -275.569 181 -275.569 c 5
+78 -275.569 m 5
+ 78 -275.569 76.5244 -278.116 75 -279.069 c 28
+ 73.2734 -280.148 70 -280.569 70 -280.569 c 5
+ 70 -280.569 0 -194.537 0 -106.29 c 4
+ 0 -18.0322 69.999 68.0215 69.999 68.0215 c 5
+ 69.999 68.0215 73.2734 67.6006 75 66.5215 c 28
+ 76.5244 65.5684 77.999 63.0215 77.999 63.0215 c 5
+ 77.999 63.0215 18 -21.2354 18 -106.29 c 4
+ 18 -191.333 78 -275.569 78 -275.569 c 5
+120 -258.872 m 9
+ 120 52.9844 l 25
+ 138.999 53.0215 l 25
+ 139 -265.569 l 17
+ 126.044 -265.435 122.435 -262.391 120 -258.872 c 9
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimaParenThree
+Encoding: 93 -1 93
+Width: 251
+VWidth: 1733
+Flags: W
+VStem: -8 18<152.941 264.487> 112 19<50.9717 367.984> 233 18<152.941 264.487>
+CounterMasks: 1 e0
+LayerCount: 2
+Fore
+SplineSet
+173 39.4307 m 1
+ 173 39.4307 233 123.667 233 208.71 c 0
+ 233 293.765 173.001 378.021 173.001 378.021 c 1
+ 173.001 378.021 174.476 380.568 176 381.521 c 24
+ 177.727 382.601 181.001 383.021 181.001 383.021 c 1
+ 181.001 383.021 251 296.968 251 208.71 c 0
+ 251 120.463 181 34.4307 181 34.4307 c 1
+ 181 34.4307 177.727 34.8516 176 35.9307 c 24
+ 174.476 36.8838 173 39.4307 173 39.4307 c 1
+70 39.4307 m 1
+ 70 39.4307 68.5244 36.8838 67 35.9307 c 24
+ 65.2734 34.8516 62 34.4307 62 34.4307 c 1
+ 62 34.4307 -8 120.463 -8 208.71 c 0
+ -8 296.968 61.999 383.021 61.999 383.021 c 1
+ 61.999 383.021 65.2734 382.601 67 381.521 c 24
+ 68.5244 380.568 69.999 378.021 69.999 378.021 c 1
+ 69.999 378.021 10 293.765 10 208.71 c 0
+ 10 123.667 70 39.4307 70 39.4307 c 1
+112 56.1279 m 9
+ 112 367.984 l 25
+ 130.999 368.021 l 25
+ 131 49.4307 l 17
+ 118.044 49.5654 114.435 52.6094 112 56.1279 c 9
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimaParenFour
+Encoding: 94 -1 94
+Width: 251
+VWidth: 2048
+Flags: W
+VStem: -8 18<467.941 579.487> 112 19<365.972 682.984> 233 18<467.941 579.487>
+CounterMasks: 1 e0
+LayerCount: 2
+Fore
+SplineSet
+173 354.431 m 1
+ 173 354.431 233 438.667 233 523.71 c 0
+ 233 608.765 173.001 693.021 173.001 693.021 c 1
+ 173.001 693.021 174.476 695.568 176 696.521 c 24
+ 177.727 697.601 181.001 698.021 181.001 698.021 c 1
+ 181.001 698.021 251 611.968 251 523.71 c 0
+ 251 435.463 181 349.431 181 349.431 c 1
+ 181 349.431 177.727 349.852 176 350.931 c 24
+ 174.476 351.884 173 354.431 173 354.431 c 1
+70 354.431 m 1
+ 70 354.431 68.5244 351.884 67 350.931 c 24
+ 65.2734 349.852 62 349.431 62 349.431 c 1
+ 62 349.431 -8 435.463 -8 523.71 c 0
+ -8 611.968 61.999 698.021 61.999 698.021 c 1
+ 61.999 698.021 65.2734 697.601 67 696.521 c 24
+ 68.5244 695.568 69.999 693.021 69.999 693.021 c 1
+ 69.999 693.021 10 608.765 10 523.71 c 0
+ 10 438.667 70 354.431 70 354.431 c 1
+112 371.128 m 9
+ 112 682.984 l 25
+ 130.999 683.021 l 25
+ 131 364.431 l 17
+ 118.044 364.565 114.435 367.609 112 371.128 c 9
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimaParenFive
+Encoding: 95 -1 95
+Width: 251
+VWidth: 2363
+Flags: W
+VStem: -8 18<782.941 894.487> 112 19<680.972 997.984> 233 18<782.941 894.487>
+CounterMasks: 1 e0
+LayerCount: 2
+Fore
+SplineSet
+173 669.431 m 1
+ 173 669.431 233 753.667 233 838.71 c 0
+ 233 923.765 173.001 1008.02 173.001 1008.02 c 1
+ 173.001 1008.02 174.476 1010.57 176 1011.52 c 24
+ 177.727 1012.6 181.001 1013.02 181.001 1013.02 c 1
+ 181.001 1013.02 251 926.968 251 838.71 c 0
+ 251 750.463 181 664.431 181 664.431 c 1
+ 181 664.431 177.727 664.852 176 665.931 c 24
+ 174.476 666.884 173 669.431 173 669.431 c 1
+70 669.431 m 1
+ 70 669.431 68.5244 666.884 67 665.931 c 24
+ 65.2734 664.852 62 664.431 62 664.431 c 1
+ 62 664.431 -8 750.463 -8 838.71 c 0
+ -8 926.968 61.999 1013.02 61.999 1013.02 c 1
+ 61.999 1013.02 65.2734 1012.6 67 1011.52 c 24
+ 68.5244 1010.57 69.999 1008.02 69.999 1008.02 c 1
+ 69.999 1008.02 10 923.765 10 838.71 c 0
+ 10 753.667 70 669.431 70 669.431 c 1
+112 686.128 m 9
+ 112 997.984 l 25
+ 130.999 998.021 l 25
+ 131 679.431 l 17
+ 118.044 679.565 114.435 682.609 112 686.128 c 9
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimaParenSix
+Encoding: 96 -1 96
+Width: 259
+VWidth: 2678
+Flags: W
+VStem: 0 18<1097.94 1209.49> 120 19<995.972 1312.98> 241 18<1097.94 1209.49>
+CounterMasks: 1 e0
+LayerCount: 2
+Fore
+SplineSet
+181 984.431 m 1
+ 181 984.431 241 1068.67 241 1153.71 c 0
+ 241 1238.76 181.001 1323.02 181.001 1323.02 c 1
+ 181.001 1323.02 182.476 1325.57 184 1326.52 c 24
+ 185.727 1327.6 189.001 1328.02 189.001 1328.02 c 1
+ 189.001 1328.02 259 1241.97 259 1153.71 c 0
+ 259 1065.46 189 979.431 189 979.431 c 1
+ 189 979.431 185.727 979.852 184 980.931 c 24
+ 182.476 981.884 181 984.431 181 984.431 c 1
+78 984.431 m 1
+ 78 984.431 76.5244 981.884 75 980.931 c 24
+ 73.2734 979.852 70 979.431 70 979.431 c 1
+ 70 979.431 0 1065.46 0 1153.71 c 0
+ 0 1241.97 69.999 1328.02 69.999 1328.02 c 1
+ 69.999 1328.02 73.2734 1327.6 75 1326.52 c 24
+ 76.5244 1325.57 77.999 1323.02 77.999 1323.02 c 1
+ 77.999 1323.02 18 1238.76 18 1153.71 c 0
+ 18 1068.67 78 984.431 78 984.431 c 1
+120 1001.13 m 9
+ 120 1312.98 l 25
+ 138.999 1313.02 l 25
+ 139 994.431 l 17
+ 126.044 994.565 122.435 997.609 120 1001.13 c 9
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimisTwo
+Encoding: 97 -1 97
+Width: 19
+VWidth: 1533
+Flags: HW
+HStem: 284.431 318.553
+VStem: 0 19<285.972 602.984>
+LayerCount: 2
+Fore
+SplineSet
+0 0.12793 m 13
+ 0 167.984 l 25
+ 18.999 168.021 l 25
+ 19 -6.56934 l 21
+ 6.04395 -6.43457 2.43457 -3.39062 0 0.12793 c 13
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimisThree
+Encoding: 98 -1 98
+Width: 19
+VWidth: 1733
+Flags: HW
+HStem: 49.431 318.553
+VStem: 0 19<50.972 367.984>
+LayerCount: 2
+Fore
+SplineSet
+0 315.128 m 13
+ 0 482.984 l 25
+ 18.999 483.021 l 25
+ 19 308.431 l 21
+ 6.04395 308.565 2.43457 311.609 0 315.128 c 13
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimisFour
+Encoding: 99 -1 99
+Width: 19
+VWidth: 2048
+Flags: HW
+HStem: 364.431 318.553
+VStem: 0 19<365.972 682.984>
+LayerCount: 2
+Fore
+SplineSet
+0 630.128 m 13
+ 0 797.984 l 25
+ 18.999 798.021 l 25
+ 19 623.431 l 21
+ 6.04395 623.565 2.43457 626.609 0 630.128 c 13
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimisFive
+Encoding: 100 -1 100
+Width: 19
+VWidth: 2363
+Flags: HW
+HStem: 679.431 318.553
+VStem: 0 19<680.972 997.984>
+LayerCount: 2
+Fore
+SplineSet
+0 945.128 m 13
+ 0 1112.98 l 25
+ 18.999 1113.02 l 25
+ 19 938.431 l 21
+ 6.04395 938.565 2.43457 941.609 0 945.128 c 13
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinimisSix
+Encoding: 101 -1 101
+Width: 19
+VWidth: 2678
+Flags: HW
+HStem: 994.431 318.553
+VStem: 0 19<995.972 1312.98>
+LayerCount: 2
+Fore
+SplineSet
+0 1260.13 m 13
+ 0 1427.98 l 25
+ 18.999 1428.02 l 25
+ 19 1253.43 l 21
+ 6.04395 1253.56 2.43457 1256.61 0 1260.13 c 13
+EndSplineSet
+EndChar
+
+StartChar: DivisioMinorTwo
+Encoding: 102 -1 102
Width: 19
VWidth: 2048
Flags: W
@@ -2306,7 +2577,7 @@ EndSplineSet
EndChar
StartChar: DivisioMinorThree
-Encoding: 93 -1 93
+Encoding: 103 -1 103
Width: 19
VWidth: 2048
Flags: W
@@ -2324,7 +2595,7 @@ EndSplineSet
EndChar
StartChar: DivisioMinorFour
-Encoding: 94 -1 94
+Encoding: 104 -1 104
Width: 19
VWidth: 2048
Flags: W
@@ -2342,7 +2613,7 @@ Validated: 1
EndChar
StartChar: DivisioMinorFive
-Encoding: 95 -1 95
+Encoding: 105 -1 105
Width: 19
VWidth: 2048
Flags: W
@@ -2359,7 +2630,7 @@ EndSplineSet
EndChar
StartChar: FClef
-Encoding: 96 -1 96
+Encoding: 106 -1 106
Width: 322
VWidth: 2503
Flags: W
@@ -2397,7 +2668,7 @@ Validated: 33
EndChar
StartChar: FClefChange
-Encoding: 97 -1 97
+Encoding: 107 -1 107
Width: 322
VWidth: 2503
Flags: W
@@ -2435,7 +2706,7 @@ Validated: 33
EndChar
StartChar: Flat
-Encoding: 98 -1 98
+Encoding: 108 -1 108
Width: 162
VWidth: 2587
Flags: W
@@ -2463,7 +2734,7 @@ Validated: 1
EndChar
StartChar: FlatHole
-Encoding: 99 -1 99
+Encoding: 109 -1 109
Width: 162
VWidth: 2587
Flags: W
@@ -2483,8 +2754,73 @@ EndSplineSet
Validated: 1
EndChar
+StartChar: FlatParen
+Encoding: 110 -1 110
+Width: 364
+VWidth: 2587
+Flags: W
+HStem: -47.4492 60.7002<164.901 261.809>
+VStem: 0 18<11.9414 123.487> 100.825 24.0498<59.035 321.285> 247.075 15.5996<18.0513 121.851> 346 18<11.9414 123.487>
+LayerCount: 2
+Fore
+SplineSet
+286 -101.569 m 5
+ 286 -101.569 346 -17.333 346 67.71 c 4
+ 346 152.765 286.001 237.021 286.001 237.021 c 5
+ 286.001 237.021 287.476 239.568 289 240.521 c 28
+ 290.727 241.601 294.001 242.021 294.001 242.021 c 5
+ 294.001 242.021 364 155.968 364 67.71 c 4
+ 364 -20.5371 294 -106.569 294 -106.569 c 5
+ 294 -106.569 290.727 -106.148 289 -105.069 c 28
+ 287.476 -104.116 286 -101.569 286 -101.569 c 5
+78 -101.569 m 5
+ 78 -101.569 76.5244 -104.116 75 -105.069 c 28
+ 73.2734 -106.148 70 -106.569 70 -106.569 c 5
+ 70 -106.569 0 -20.5371 0 67.71 c 4
+ 0 155.968 69.999 242.021 69.999 242.021 c 5
+ 69.999 242.021 73.2734 241.601 75 240.521 c 28
+ 76.5244 239.568 77.999 237.021 77.999 237.021 c 5
+ 77.999 237.021 18 152.765 18 67.71 c 4
+ 18 -17.333 78 -101.569 78 -101.569 c 5
+146.975 179.05 m 1
+ 209.245 179.05 262.675 136.151 262.675 107.551 c 0
+ 262.675 -5.11621 262.242 -47.4492 261.375 -47.4492 c 0
+ 197.242 -47.4492 145.675 -27.082 106.675 13.6514 c 1
+ 102.775 112.452 100.825 127.185 100.825 211.848 c 0
+ 100.825 240.067 101.042 267.502 101.475 294.151 c 0
+ 101.475 312.351 105.808 321.451 114.475 321.451 c 0
+ 121.408 321.451 124.875 312.784 124.875 295.451 c 2
+ 122.275 73.0508 l 1
+ 157.808 33.1836 191.607 13.251 223.675 13.251 c 0
+ 239.275 13.251 247.075 21.0508 247.075 36.6514 c 0
+ 247.075 64.7314 237.428 74.0947 191.175 101.85 c 2
+ 146.975 126.55 l 1
+ 146.975 179.05 l 1
+EndSplineSet
+EndChar
+
+StartChar: FlatParenHole
+Encoding: 111 -1 111
+Width: 364
+VWidth: 2587
+Flags: W
+HStem: 7.58594 128.413
+VStem: 116.035 137.28
+LayerCount: 2
+Fore
+SplineSet
+116.035 73.3662 m 1
+ 116.002 135.999 l 25
+ 143.204 132.215 l 1
+ 191.825 105.045 l 2
+ 242.703 74.5137 253.315 64.2148 253.315 33.3262 c 0
+ 253.315 16.166 244.735 7.58594 227.575 7.58594 c 0
+ 192.301 7.58594 116.035 73.3662 116.035 73.3662 c 1
+EndSplineSet
+EndChar
+
StartChar: hepisemaleft
-Encoding: 100 -1 100
+Encoding: 112 -1 112
Width: 1
VWidth: 2044
Flags: HW
@@ -2502,7 +2838,7 @@ EndSplineSet
EndChar
StartChar: hepisemaright
-Encoding: 101 -1 101
+Encoding: 113 -1 113
Width: 2
VWidth: 2044
Flags: HW
@@ -2520,7 +2856,7 @@ EndSplineSet
EndChar
StartChar: hepisema_base
-Encoding: 102 -1 102
+Encoding: 114 -1 114
Width: 1
VWidth: 2044
Flags: HW
@@ -2538,7 +2874,7 @@ EndSplineSet
EndChar
StartChar: idebilis
-Encoding: 103 -1 103
+Encoding: 115 -1 115
Width: 83
VWidth: 2605
Flags: W
@@ -2561,7 +2897,7 @@ Validated: 33
EndChar
StartChar: idebilis#Cavum
-Encoding: 104 -1 104
+Encoding: 116 -1 116
Width: 83
VWidth: 2605
Flags: HW
@@ -2581,7 +2917,7 @@ EndSplineSet
EndChar
StartChar: line2
-Encoding: 105 -1 105
+Encoding: 117 -1 117
Width: 18
VWidth: 2048
Flags: HW
@@ -2599,7 +2935,7 @@ EndSplineSet
EndChar
StartChar: line3
-Encoding: 106 -1 106
+Encoding: 118 -1 118
Width: 18
VWidth: 2048
Flags: HW
@@ -2617,7 +2953,7 @@ EndSplineSet
EndChar
StartChar: line4
-Encoding: 107 -1 107
+Encoding: 119 -1 119
Width: 18
VWidth: 2048
Flags: HW
@@ -2634,7 +2970,7 @@ EndSplineSet
EndChar
StartChar: line5
-Encoding: 108 -1 108
+Encoding: 120 -1 120
Width: 18
VWidth: 2048
Flags: HW
@@ -2651,7 +2987,7 @@ EndSplineSet
EndChar
StartChar: Linea
-Encoding: 109 -1 109
+Encoding: 121 -1 121
Width: 431
VWidth: 2612
Flags: W
@@ -2680,7 +3016,7 @@ Validated: 1
EndChar
StartChar: Linea#Cavum
-Encoding: 110 -1 110
+Encoding: 122 -1 122
Width: 431
VWidth: 2612
Flags: HW
@@ -2700,7 +3036,7 @@ EndSplineSet
EndChar
StartChar: LineaPunctum
-Encoding: 111 -1 111
+Encoding: 123 -1 123
Width: 266
VWidth: 2048
Flags: W
@@ -2735,7 +3071,7 @@ Validated: 1
EndChar
StartChar: LineaPunctum#Cavum
-Encoding: 112 -1 112
+Encoding: 124 -1 124
Width: 266
VWidth: 2048
Flags: W
@@ -2756,7 +3092,7 @@ Validated: 33
EndChar
StartChar: LineaPunctum#Cavum.caeciliae
-Encoding: 113 -1 113
+Encoding: 125 -1 125
Width: 266
VWidth: 2048
Flags: W
@@ -2774,7 +3110,7 @@ Validated: 1
EndChar
StartChar: mademinutus
-Encoding: 114 -1 114
+Encoding: 126 -1 126
Width: 168
VWidth: 2048
Flags: W
@@ -2800,7 +3136,7 @@ EndSplineSet
EndChar
StartChar: mademinutus#Cavum
-Encoding: 115 -1 115
+Encoding: 127 -1 127
Width: 168
VWidth: 2048
Flags: W
@@ -2822,7 +3158,7 @@ EndSplineSet
EndChar
StartChar: mdeminutus
-Encoding: 116 -1 116
+Encoding: 128 -1 128
Width: 168
VWidth: 2048
Flags: HW
@@ -2847,7 +3183,7 @@ EndSplineSet
EndChar
StartChar: mdeminutus#Cavum
-Encoding: 117 -1 117
+Encoding: 129 -1 129
Width: 168
VWidth: 2048
Flags: HW
@@ -2868,7 +3204,7 @@ EndSplineSet
EndChar
StartChar: mnbdeminutus
-Encoding: 118 -1 118
+Encoding: 130 -1 130
Width: 168
VWidth: 2048
Flags: HW
@@ -2892,7 +3228,7 @@ EndSplineSet
EndChar
StartChar: mnbdeminutus#Cavum
-Encoding: 119 -1 119
+Encoding: 131 -1 131
Width: 168
VWidth: 2048
Flags: HW
@@ -2914,7 +3250,7 @@ EndSplineSet
EndChar
StartChar: mnbpdeminutus
-Encoding: 120 -1 120
+Encoding: 132 -1 132
Width: 168
VWidth: 2048
Flags: W
@@ -2938,7 +3274,7 @@ Validated: 33
EndChar
StartChar: mnbpdeminutus#Cavum
-Encoding: 121 -1 121
+Encoding: 133 -1 133
Width: 168
VWidth: 2048
Flags: HW
@@ -2959,7 +3295,7 @@ EndSplineSet
EndChar
StartChar: mpdeminutus
-Encoding: 122 -1 122
+Encoding: 134 -1 134
Width: 168
VWidth: 2048
Flags: HW
@@ -2984,7 +3320,7 @@ EndSplineSet
EndChar
StartChar: mpdeminutus#Cavum
-Encoding: 123 -1 123
+Encoding: 135 -1 135
Width: 168
VWidth: 2048
Flags: HW
@@ -3005,7 +3341,7 @@ EndSplineSet
EndChar
StartChar: msdeminutus
-Encoding: 124 -1 124
+Encoding: 136 -1 136
Width: 168
VWidth: 2048
Flags: W
@@ -3031,7 +3367,7 @@ Validated: 1
EndChar
StartChar: msdeminutus#Cavum
-Encoding: 125 -1 125
+Encoding: 137 -1 137
Width: 168
VWidth: 2048
Flags: HW
@@ -3052,7 +3388,7 @@ EndSplineSet
EndChar
StartChar: Natural
-Encoding: 126 -1 126
+Encoding: 138 -1 138
Width: 108
Flags: W
VStem: 0 25.2002<7.7002 121.4 173.3 323.299> 84 24<-184.013 -35.5 18.5 128.9>
@@ -3088,7 +3424,7 @@ Validated: 1
EndChar
StartChar: NaturalHole
-Encoding: 127 -1 127
+Encoding: 139 -1 139
Width: 108
Flags: W
HStem: 1.64062 133.319
@@ -3105,8 +3441,78 @@ EndSplineSet
Validated: 1
EndChar
+StartChar: NaturalParen
+Encoding: 140 -1 140
+Width: 310
+Flags: W
+VStem: 0 18<11.9414 123.487> 101 25.2002<7.7002 121.4 173.3 323.299> 185 24<-184.013 -35.5 18.5 128.9> 292 18<11.9414 123.487>
+LayerCount: 2
+Fore
+SplineSet
+232 -101.569 m 5
+ 232 -101.569 292 -17.333 292 67.71 c 4
+ 292 152.765 232.001 237.021 232.001 237.021 c 5
+ 232.001 237.021 233.476 239.568 235 240.521 c 28
+ 236.727 241.601 240.001 242.021 240.001 242.021 c 5
+ 240.001 242.021 310 155.968 310 67.71 c 4
+ 310 -20.5371 240 -106.569 240 -106.569 c 5
+ 240 -106.569 236.727 -106.148 235 -105.069 c 28
+ 233.476 -104.116 232 -101.569 232 -101.569 c 5
+78 -101.569 m 5
+ 78 -101.569 76.5244 -104.116 75 -105.069 c 28
+ 73.2734 -106.148 70 -106.569 70 -106.569 c 5
+ 70 -106.569 0 -20.5371 0 67.71 c 4
+ 0 155.968 69.999 242.021 69.999 242.021 c 5
+ 69.999 242.021 73.2734 241.601 75 240.521 c 28
+ 76.5244 239.568 77.999 237.021 77.999 237.021 c 5
+ 77.999 237.021 18 152.765 18 67.71 c 4
+ 18 -17.333 78 -101.569 78 -101.569 c 5
+101 320.9 m 1
+ 105 322.5 109.199 323.3 113.6 323.3 c 0
+ 118 323.3 122.2 322.5 126.2 320.9 c 1
+ 126.2 232.1 l 1
+ 125 173.3 l 1
+ 155 178.1 l 2
+ 171.8 181.301 186.2 182.9 198.2 182.9 c 0
+ 202.199 182.9 204.6 180.899 205.4 176.9 c 2
+ 209 -178.3 l 1
+ 205.8 -182.3 202.199 -184.3 198.2 -184.3 c 0
+ 197.399 -184.3 192.6 -182.7 183.8 -179.5 c 1
+ 184.601 -178.699 185 -145.9 185 -81.0996 c 2
+ 185 -35.5 l 1
+ 113 -47.5 l 1
+ 107.399 -46.6992 104.2 -43.5 103.4 -37.9004 c 1
+ 103.4 92.9004 l 1
+ 102.2 214.1 l 1
+ 101 300.5 l 1
+ 101 320.9 l 1
+187.4 128.9 m 1
+ 125 119.3 l 2
+ 124.199 119.3 123.8 82.0996 123.8 7.7002 c 1
+ 187.4 18.5 l 1
+ 187.4 128.9 l 1
+EndSplineSet
+EndChar
+
+StartChar: NaturalParenHole
+Encoding: 141 -1 141
+Width: 310
+Flags: W
+HStem: 1.64062 133.319
+VStem: 120.62 69.96<13.5195 124.399>
+LayerCount: 2
+Fore
+SplineSet
+120.62 1.64062 m 5
+ 121.94 124.399 l 6
+ 190.58 134.96 l 5
+ 190.58 13.5195 l 1
+ 120.62 1.64062 l 5
+EndSplineSet
+EndChar
+
StartChar: OriscusDeminutus
-Encoding: 128 -1 128
+Encoding: 142 -1 142
Width: 168
VWidth: 0
Flags: W
@@ -3132,7 +3538,7 @@ Validated: 33
EndChar
StartChar: OriscusDeminutus#Cavum
-Encoding: 129 -1 129
+Encoding: 143 -1 143
Width: 168
VWidth: 0
Flags: HW
@@ -3156,7 +3562,7 @@ EndSplineSet
EndChar
StartChar: OriscusDeminutus#Cavum.caeciliae
-Encoding: 130 -1 130
+Encoding: 144 -1 144
Width: 168
VWidth: 2612
Flags: W
@@ -3179,7 +3585,7 @@ EndSplineSet
EndChar
StartChar: OriscusDeminutus.caeciliae
-Encoding: 131 -1 131
+Encoding: 145 -1 145
Width: 168
VWidth: 2612
Flags: W
@@ -3203,7 +3609,7 @@ Validated: 33
EndChar
StartChar: p2base
-Encoding: 132 -1 132
+Encoding: 146 -1 146
Width: 166
VWidth: 2613
Flags: HW
@@ -3230,7 +3636,7 @@ EndSplineSet
EndChar
StartChar: p2base#Cavum
-Encoding: 133 -1 133
+Encoding: 147 -1 147
Width: 166
VWidth: 2613
Flags: HW
@@ -3255,7 +3661,7 @@ EndSplineSet
EndChar
StartChar: pesdeminutus
-Encoding: 134 -1 134
+Encoding: 148 -1 148
Width: 166
VWidth: 2684
Flags: HW
@@ -3278,7 +3684,7 @@ EndSplineSet
EndChar
StartChar: pesdeminutus#Cavum
-Encoding: 135 -1 135
+Encoding: 149 -1 149
Width: 166
VWidth: 2684
Flags: HW
@@ -3299,7 +3705,7 @@ EndSplineSet
EndChar
StartChar: pesdeminutus_op
-Encoding: 136 -1 136
+Encoding: 150 -1 150
Width: 166
VWidth: 2684
Flags: W
@@ -3326,7 +3732,7 @@ Validated: 1
EndChar
StartChar: PesOneNothing
-Encoding: 137 -1 137
+Encoding: 151 -1 151
Width: 166
VWidth: 2613
Flags: W
@@ -3357,7 +3763,7 @@ EndSplineSet
EndChar
StartChar: PesOneNothing#Cavum
-Encoding: 138 -1 138
+Encoding: 152 -1 152
Width: 166
VWidth: 2613
Flags: HW
@@ -3389,7 +3795,7 @@ EndSplineSet
EndChar
StartChar: porrectus1
-Encoding: 139 -1 139
+Encoding: 153 -1 153
Width: 447
VWidth: 2553
Flags: HW
@@ -3411,7 +3817,7 @@ EndSplineSet
EndChar
StartChar: porrectus1#Cavum
-Encoding: 140 -1 140
+Encoding: 154 -1 154
Width: 447
VWidth: 2553
Flags: HW
@@ -3431,7 +3837,7 @@ EndSplineSet
EndChar
StartChar: porrectus2
-Encoding: 141 -1 141
+Encoding: 155 -1 155
Width: 547
VWidth: 2575
Flags: HW
@@ -3455,7 +3861,7 @@ EndSplineSet
EndChar
StartChar: porrectus2#Cavum
-Encoding: 142 -1 142
+Encoding: 156 -1 156
Width: 547
VWidth: 2575
Flags: HW
@@ -3477,7 +3883,7 @@ EndSplineSet
EndChar
StartChar: porrectus3
-Encoding: 143 -1 143
+Encoding: 157 -1 157
Width: 628
VWidth: 2556
Flags: HW
@@ -3502,7 +3908,7 @@ EndSplineSet
EndChar
StartChar: porrectus3#Cavum
-Encoding: 144 -1 144
+Encoding: 158 -1 158
Width: 628
VWidth: 2556
Flags: HW
@@ -3525,7 +3931,7 @@ EndSplineSet
EndChar
StartChar: porrectus4
-Encoding: 145 -1 145
+Encoding: 159 -1 159
Width: 704
VWidth: 2500
Flags: HW
@@ -3549,7 +3955,7 @@ EndSplineSet
EndChar
StartChar: porrectus4#Cavum
-Encoding: 146 -1 146
+Encoding: 160 -1 160
Width: 704
VWidth: 2500
Flags: HW
@@ -3571,7 +3977,7 @@ EndSplineSet
EndChar
StartChar: porrectus5
-Encoding: 147 -1 147
+Encoding: 161 -1 161
Width: 849
VWidth: 2048
Flags: HW
@@ -3595,7 +4001,7 @@ EndSplineSet
EndChar
StartChar: porrectus5#Cavum
-Encoding: 148 -1 148
+Encoding: 162 -1 162
Width: 849
VWidth: 2048
Flags: HW
@@ -3617,7 +4023,7 @@ EndSplineSet
EndChar
StartChar: porrectusam11
-Encoding: 149 -1 149
+Encoding: 163 -1 163
Width: 503
VWidth: 2553
Flags: HW
@@ -3639,7 +4045,7 @@ EndSplineSet
EndChar
StartChar: porrectusam11#Cavum
-Encoding: 150 -1 150
+Encoding: 164 -1 164
Width: 503
VWidth: 2553
Flags: HW
@@ -3659,7 +4065,7 @@ EndSplineSet
EndChar
StartChar: porrectusam12
-Encoding: 151 -1 151
+Encoding: 165 -1 165
Width: 628
VWidth: 2575
Flags: HW
@@ -3683,7 +4089,7 @@ EndSplineSet
EndChar
StartChar: porrectusam12#Cavum
-Encoding: 152 -1 152
+Encoding: 166 -1 166
Width: 628
VWidth: 2575
Flags: HW
@@ -3705,7 +4111,7 @@ EndSplineSet
EndChar
StartChar: porrectusam13
-Encoding: 153 -1 153
+Encoding: 167 -1 167
Width: 678
VWidth: 2556
Flags: HW
@@ -3729,7 +4135,7 @@ EndSplineSet
EndChar
StartChar: porrectusam13#Cavum
-Encoding: 154 -1 154
+Encoding: 168 -1 168
Width: 678
VWidth: 2556
Flags: HW
@@ -3752,7 +4158,7 @@ EndSplineSet
EndChar
StartChar: porrectusam14
-Encoding: 155 -1 155
+Encoding: 169 -1 169
Width: 721
VWidth: 2500
Flags: HW
@@ -3777,7 +4183,7 @@ EndSplineSet
EndChar
StartChar: porrectusam14#Cavum
-Encoding: 156 -1 156
+Encoding: 170 -1 170
Width: 721
VWidth: 2500
Flags: HW
@@ -3799,7 +4205,7 @@ EndSplineSet
EndChar
StartChar: porrectusam15
-Encoding: 157 -1 157
+Encoding: 171 -1 171
Width: 933
VWidth: 2048
Flags: HW
@@ -3824,7 +4230,7 @@ EndSplineSet
EndChar
StartChar: porrectusam15#Cavum
-Encoding: 158 -1 158
+Encoding: 172 -1 172
Width: 933
VWidth: 2048
Flags: HW
@@ -3846,7 +4252,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus1
-Encoding: 159 -1 159
+Encoding: 173 -1 173
Width: 503
VWidth: 2553
Flags: HW
@@ -3869,7 +4275,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus1#Cavum
-Encoding: 160 -1 160
+Encoding: 174 -1 174
Width: 503
VWidth: 2553
Flags: HW
@@ -3889,7 +4295,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus2
-Encoding: 161 -1 161
+Encoding: 175 -1 175
Width: 628
VWidth: 2575
Flags: HW
@@ -3911,7 +4317,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus2#Cavum
-Encoding: 162 -1 162
+Encoding: 176 -1 176
Width: 628
VWidth: 2575
Flags: HW
@@ -3933,7 +4339,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus3
-Encoding: 163 -1 163
+Encoding: 177 -1 177
Width: 628
VWidth: 2556
Flags: HW
@@ -3957,7 +4363,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus3#Cavum
-Encoding: 164 -1 164
+Encoding: 178 -1 178
Width: 628
VWidth: 2556
Flags: HW
@@ -3980,7 +4386,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus4
-Encoding: 165 -1 165
+Encoding: 179 -1 179
Width: 628
VWidth: 2500
Flags: HW
@@ -4003,7 +4409,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus4#Cavum
-Encoding: 166 -1 166
+Encoding: 180 -1 180
Width: 628
VWidth: 2500
Flags: HW
@@ -4025,7 +4431,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus5
-Encoding: 167 -1 167
+Encoding: 181 -1 181
Width: 931
VWidth: 2048
Flags: HW
@@ -4046,7 +4452,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexus5#Cavum
-Encoding: 168 -1 168
+Encoding: 182 -1 182
Width: 931
VWidth: 2048
Flags: HW
@@ -4063,7 +4469,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb1
-Encoding: 169 -1 169
+Encoding: 183 -1 183
Width: 503
VWidth: 2553
Flags: HW
@@ -4083,7 +4489,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb1#Cavum
-Encoding: 170 -1 170
+Encoding: 184 -1 184
Width: 503
VWidth: 2553
Flags: HW
@@ -4103,7 +4509,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb2
-Encoding: 171 -1 171
+Encoding: 185 -1 185
Width: 628
VWidth: 2575
Flags: HW
@@ -4123,7 +4529,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb2#Cavum
-Encoding: 172 -1 172
+Encoding: 186 -1 186
Width: 628
VWidth: 2575
Flags: HW
@@ -4145,7 +4551,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb3
-Encoding: 173 -1 173
+Encoding: 187 -1 187
Width: 628
VWidth: 2556
Flags: HW
@@ -4166,7 +4572,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb3#Cavum
-Encoding: 174 -1 174
+Encoding: 188 -1 188
Width: 628
VWidth: 2556
Flags: HW
@@ -4189,7 +4595,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb4
-Encoding: 175 -1 175
+Encoding: 189 -1 189
Width: 628
VWidth: 2500
Flags: HW
@@ -4209,7 +4615,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb4#Cavum
-Encoding: 176 -1 176
+Encoding: 190 -1 190
Width: 628
VWidth: 2500
Flags: HW
@@ -4231,7 +4637,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb5
-Encoding: 177 -1 177
+Encoding: 191 -1 191
Width: 931
VWidth: 2048
Flags: HW
@@ -4250,7 +4656,7 @@ EndSplineSet
EndChar
StartChar: porrectusflexusnb5#Cavum
-Encoding: 178 -1 178
+Encoding: 192 -1 192
Width: 931
VWidth: 2048
Flags: HW
@@ -4267,7 +4673,7 @@ EndSplineSet
EndChar
StartChar: Punctum
-Encoding: 179 -1 179
+Encoding: 193 -1 193
Width: 166
VWidth: 2612
Flags: HW
@@ -4287,7 +4693,7 @@ EndSplineSet
EndChar
StartChar: Punctum#Cavum
-Encoding: 180 -1 180
+Encoding: 194 -1 194
Width: 166
VWidth: 2612
Flags: W
@@ -4308,7 +4714,7 @@ Validated: 33
EndChar
StartChar: Punctum#Cavum.caeciliae
-Encoding: 181 -1 181
+Encoding: 195 -1 195
Width: 166
VWidth: 2612
Flags: W
@@ -4327,7 +4733,7 @@ Validated: 1
EndChar
StartChar: PunctumAscendens
-Encoding: 182 -1 182
+Encoding: 196 -1 196
Width: 166
VWidth: 1149
Flags: W
@@ -4349,7 +4755,7 @@ Validated: 1
EndChar
StartChar: PunctumAscendens#Cavum
-Encoding: 183 -1 183
+Encoding: 197 -1 197
Width: 166
VWidth: 1149
Flags: HW
@@ -4370,7 +4776,7 @@ EndSplineSet
EndChar
StartChar: PunctumAscendens_op
-Encoding: 184 -1 184
+Encoding: 198 -1 198
Width: 166
VWidth: 1149
Flags: HW
@@ -4394,7 +4800,7 @@ EndSplineSet
EndChar
StartChar: PunctumAuctusLineBL
-Encoding: 185 -1 185
+Encoding: 199 -1 199
Width: 166
VWidth: 2689
Flags: W
@@ -4418,7 +4824,7 @@ Validated: 1
EndChar
StartChar: PunctumAuctusLineBL#Cavum
-Encoding: 186 -1 186
+Encoding: 200 -1 200
Width: 166
VWidth: 2689
Flags: HW
@@ -4439,7 +4845,7 @@ EndSplineSet
EndChar
StartChar: PunctumAuctusLineBL_op
-Encoding: 187 -1 187
+Encoding: 201 -1 201
Width: 166
VWidth: 2689
Flags: W
@@ -4466,7 +4872,7 @@ Validated: 1
EndChar
StartChar: PunctumDeminutus
-Encoding: 188 -1 188
+Encoding: 202 -1 202
Width: 83
VWidth: 2612
Flags: W
@@ -4487,7 +4893,7 @@ Validated: 1
EndChar
StartChar: PunctumDeminutus#Cavum
-Encoding: 189 -1 189
+Encoding: 203 -1 203
Width: 83
VWidth: 2612
Flags: HW
@@ -4507,7 +4913,7 @@ EndSplineSet
EndChar
StartChar: PunctumDescendens
-Encoding: 190 -1 190
+Encoding: 204 -1 204
Width: 166
VWidth: 1342
Flags: W
@@ -4528,7 +4934,7 @@ Validated: 33
EndChar
StartChar: PunctumDescendens#Cavum
-Encoding: 191 -1 191
+Encoding: 205 -1 205
Width: 166
VWidth: 1342
Flags: HW
@@ -4549,7 +4955,7 @@ EndSplineSet
EndChar
StartChar: PunctumDescendens_op
-Encoding: 192 -1 192
+Encoding: 206 -1 206
Width: 166
VWidth: 1342
Flags: W
@@ -4573,7 +4979,7 @@ Validated: 33
EndChar
StartChar: PunctumInclinatumAuctus
-Encoding: 193 -1 193
+Encoding: 207 -1 207
Width: 185
VWidth: 0
Flags: HW
@@ -4595,7 +5001,7 @@ EndSplineSet
EndChar
StartChar: PunctumInclinatumAuctus#Cavum
-Encoding: 194 -1 194
+Encoding: 208 -1 208
Width: 185
VWidth: 0
Flags: W
@@ -4615,7 +5021,7 @@ Validated: 1
EndChar
StartChar: PunctumInclinatumAuctus#Cavum.caeciliae
-Encoding: 195 -1 195
+Encoding: 209 -1 209
Width: 185
VWidth: 2048
Flags: HW
@@ -4633,7 +5039,7 @@ EndSplineSet
EndChar
StartChar: PunctumInclinatumAuctus.caeciliae
-Encoding: 196 -1 196
+Encoding: 210 -1 210
Width: 185
VWidth: 2048
Flags: W
@@ -4657,7 +5063,7 @@ Validated: 33
EndChar
StartChar: PunctumInclinatumDeminutus
-Encoding: 197 -1 197
+Encoding: 211 -1 211
Width: 139
VWidth: 2649
Flags: W
@@ -4676,7 +5082,7 @@ Validated: 1
EndChar
StartChar: PunctumInclinatumDeminutus#Cavum
-Encoding: 198 -1 198
+Encoding: 212 -1 212
Width: 139
VWidth: 2649
Flags: HW
@@ -4694,7 +5100,7 @@ EndSplineSet
EndChar
StartChar: PunctumLineBL
-Encoding: 199 -1 199
+Encoding: 213 -1 213
Width: 166
VWidth: 2612
Flags: W
@@ -4717,7 +5123,7 @@ Validated: 1
EndChar
StartChar: PunctumLineBLBR
-Encoding: 200 -1 200
+Encoding: 214 -1 214
Width: 166
VWidth: 2612
Flags: HW
@@ -4741,7 +5147,7 @@ EndSplineSet
EndChar
StartChar: PunctumLineBR
-Encoding: 201 -1 201
+Encoding: 215 -1 215
Width: 166
VWidth: 2612
Flags: W
@@ -4764,7 +5170,7 @@ Validated: 1
EndChar
StartChar: PunctumLineTL
-Encoding: 202 -1 202
+Encoding: 216 -1 216
Width: 166
VWidth: 2612
Flags: W
@@ -4787,7 +5193,7 @@ Validated: 1
EndChar
StartChar: PunctumLineTLTR
-Encoding: 203 -1 203
+Encoding: 217 -1 217
Width: 166
VWidth: 2612
Flags: W
@@ -4812,7 +5218,7 @@ Validated: 1
EndChar
StartChar: PunctumLineTR
-Encoding: 204 -1 204
+Encoding: 218 -1 218
Width: 166
VWidth: 2612
Flags: W
@@ -4835,7 +5241,7 @@ Validated: 1
EndChar
StartChar: PunctumSmall
-Encoding: 205 -1 205
+Encoding: 219 -1 219
Width: 155
VWidth: 2537
Flags: HW
@@ -4857,7 +5263,7 @@ EndSplineSet
EndChar
StartChar: PunctumSmall#Cavum
-Encoding: 206 -1 206
+Encoding: 220 -1 220
Width: 155
VWidth: 2537
Flags: HW
@@ -4877,7 +5283,7 @@ EndSplineSet
EndChar
StartChar: queue
-Encoding: 207 -1 207
+Encoding: 221 -1 221
Width: 18
VWidth: 2048
Flags: HW
@@ -4896,7 +5302,7 @@ EndSplineSet
EndChar
StartChar: queuebase
-Encoding: 208 -1 208
+Encoding: 222 -1 222
Width: 18
VWidth: 2048
Flags: HW
@@ -4914,7 +5320,7 @@ EndSplineSet
EndChar
StartChar: Quilisma
-Encoding: 209 -1 209
+Encoding: 223 -1 223
Width: 166
VWidth: 2496
Flags: HW
@@ -4942,7 +5348,7 @@ EndSplineSet
EndChar
StartChar: Quilisma#Cavum
-Encoding: 210 -1 210
+Encoding: 224 -1 224
Width: 166
VWidth: 2496
Flags: HW
@@ -4970,7 +5376,7 @@ EndSplineSet
EndChar
StartChar: QuilismaLineTR
-Encoding: 211 -1 211
+Encoding: 225 -1 225
Width: 166
VWidth: 2496
Flags: W
@@ -5000,7 +5406,7 @@ Validated: 33
EndChar
StartChar: QuilismaPesOneNothing
-Encoding: 212 -1 212
+Encoding: 226 -1 226
Width: 166
VWidth: 2496
Flags: HW
@@ -5033,7 +5439,7 @@ EndSplineSet
EndChar
StartChar: QuilismaPesOneNothing#Cavum
-Encoding: 213 -1 213
+Encoding: 227 -1 227
Width: 166
VWidth: 2496
Flags: HW
@@ -5068,7 +5474,7 @@ EndSplineSet
EndChar
StartChar: rdeminutus
-Encoding: 214 -1 214
+Encoding: 228 -1 228
Width: 83
VWidth: 2605
Flags: W
@@ -5091,7 +5497,7 @@ Validated: 33
EndChar
StartChar: rdeminutus#Cavum
-Encoding: 215 -1 215
+Encoding: 229 -1 229
Width: 83
VWidth: 2605
Flags: HW
@@ -5111,7 +5517,7 @@ EndSplineSet
EndChar
StartChar: RoundBrace
-Encoding: 216 -1 216
+Encoding: 230 -1 230
Width: 937
VWidth: 2048
Flags: W
@@ -5137,7 +5543,7 @@ Validated: 1
EndChar
StartChar: RoundBraceDown
-Encoding: 217 -1 217
+Encoding: 231 -1 231
Width: 937
VWidth: 2048
Flags: W
@@ -5163,7 +5569,7 @@ Validated: 1
EndChar
StartChar: rqueue
-Encoding: 218 -1 218
+Encoding: 232 -1 232
Width: 18
VWidth: 2048
Flags: HW
@@ -5182,7 +5588,7 @@ EndSplineSet
EndChar
StartChar: rvbase
-Encoding: 219 -1 219
+Encoding: 233 -1 233
Width: 166
VWidth: 2637
Flags: HW
@@ -5206,7 +5612,7 @@ EndSplineSet
EndChar
StartChar: rvirgabase
-Encoding: 220 -1 220
+Encoding: 234 -1 234
Width: 166
VWidth: 2637
Flags: HW
@@ -5226,7 +5632,7 @@ EndSplineSet
EndChar
StartChar: Semicirculus
-Encoding: 221 -1 221
+Encoding: 235 -1 235
Width: 124
VWidth: 1606
Flags: W
@@ -5246,7 +5652,7 @@ Validated: 1
EndChar
StartChar: SemicirculusReversus
-Encoding: 222 -1 222
+Encoding: 236 -1 236
Width: 125
VWidth: 1583
Flags: W
@@ -5266,7 +5672,7 @@ Validated: 1
EndChar
StartChar: Sharp
-Encoding: 223 -1 223
+Encoding: 237 -1 237
Width: 258
VWidth: 2048
Flags: W
@@ -5330,7 +5736,7 @@ Validated: 1
EndChar
StartChar: Sharp.modern
-Encoding: 224 -1 224
+Encoding: 238 -1 238
Width: 162
Flags: W
VStem: 38.5 25.667<-193.491 -47.9297 9.49219 116.571 173.699 319.097> 98 25.5<-182.085 -38.8672 18.4727 125.112 182.473 330.499>
@@ -5388,7 +5794,7 @@ EndSplineSet
EndChar
StartChar: SharpHole
-Encoding: 225 -1 225
+Encoding: 239 -1 239
Width: 258
VWidth: 2048
Flags: W
@@ -5407,7 +5813,7 @@ Validated: 1
EndChar
StartChar: SharpHole.modern
-Encoding: 226 -1 226
+Encoding: 240 -1 240
Width: 162
Flags: HW
VStem: 38.5 25.667<-193.491 -47.9297 9.49219 116.571 173.699 319.097> 98 25.5<-182.085 -38.8672 18.4727 125.112 182.473 330.499>
@@ -5422,8 +5828,235 @@ SplineSet
EndSplineSet
EndChar
+StartChar: SharpParen
+Encoding: 241 -1 241
+Width: 428
+VWidth: 2048
+Flags: W
+VStem: 0 18<11.9414 123.487> 410 18<11.9414 123.487>
+LayerCount: 2
+Fore
+SplineSet
+350 -101.569 m 5
+ 350 -101.569 410 -17.333 410 67.71 c 4
+ 410 152.765 350.001 237.021 350.001 237.021 c 5
+ 350.001 237.021 351.476 239.568 353 240.521 c 28
+ 354.727 241.601 358.001 242.021 358.001 242.021 c 5
+ 358.001 242.021 428 155.968 428 67.71 c 4
+ 428 -20.5371 358 -106.569 358 -106.569 c 5
+ 358 -106.569 354.727 -106.148 353 -105.069 c 28
+ 351.476 -104.116 350 -101.569 350 -101.569 c 5
+78 -101.569 m 5
+ 78 -101.569 76.5244 -104.116 75 -105.069 c 28
+ 73.2734 -106.148 70 -106.569 70 -106.569 c 5
+ 70 -106.569 0 -20.5371 0 67.71 c 4
+ 0 155.968 69.999 242.021 69.999 242.021 c 5
+ 69.999 242.021 73.2734 241.601 75 240.521 c 28
+ 76.5244 239.568 77.999 237.021 77.999 237.021 c 5
+ 77.999 237.021 18 152.765 18 67.71 c 4
+ 18 -17.333 78 -101.569 78 -101.569 c 5
+85.2998 183 m 0
+ 85.2998 189.6 91.9004 196.2 98.5 196.2 c 0
+ 99.5996 196.2 105.1 195.1 108.4 190.7 c 2
+ 186.5 93.9004 l 1
+ 197.5 107.1 l 1
+ 143.6 175.3 l 2
+ 141.4 177.5 140.3 179.7 140.3 183 c 0
+ 140.3 189.6 146.9 196.2 153.5 196.2 c 0
+ 154.6 196.2 160.1 195.1 163.4 190.7 c 2
+ 214 128 l 1
+ 264.6 190.7 l 2
+ 267.9 195.1 273.4 196.2 274.5 196.2 c 0
+ 281.1 196.2 287.7 189.6 287.7 183 c 0
+ 287.7 179.7 286.6 177.5 284.4 175.3 c 2
+ 230.5 107.1 l 1
+ 241.5 93.9004 l 1
+ 319.6 190.7 l 2
+ 322.9 195.1 328.4 196.2 329.5 196.2 c 0
+ 336.1 196.2 342.7 189.6 342.7 183 c 0
+ 342.7 179.7 341.6 177.5 339.4 175.3 c 2
+ 258 73 l 1
+ 339.4 -29.2998 l 2
+ 341.6 -31.5 342.7 -33.7002 342.7 -37 c 0
+ 342.7 -43.5996 336.1 -50.2002 329.5 -50.2002 c 0
+ 328.4 -50.2002 322.9 -49.0996 319.6 -44.7002 c 2
+ 241.5 52.0996 l 1
+ 230.5 38.9004 l 1
+ 284.4 -29.2998 l 2
+ 286.6 -31.5 287.7 -33.7002 287.7 -37 c 0
+ 287.7 -43.5996 281.1 -50.2002 274.5 -50.2002 c 0
+ 273.4 -50.2002 267.9 -49.0996 264.6 -44.7002 c 2
+ 214 18 l 1
+ 163.4 -44.7002 l 2
+ 160.1 -49.0996 154.6 -50.2002 153.5 -50.2002 c 0
+ 146.9 -50.2002 140.3 -43.5996 140.3 -37 c 0
+ 140.3 -33.7002 141.4 -31.5 143.6 -29.2998 c 2
+ 197.5 38.9004 l 1
+ 186.5 52.0996 l 1
+ 108.4 -44.7002 l 2
+ 105.1 -49.0996 99.5996 -50.2002 98.5 -50.2002 c 0
+ 91.9004 -50.2002 85.2998 -43.5996 85.2998 -37 c 0
+ 85.2998 -33.7002 86.4004 -31.5 88.5996 -29.2998 c 2
+ 170 73 l 1
+ 88.5996 175.3 l 2
+ 86.4004 177.5 85.2998 179.7 85.2998 183 c 0
+214 58.7002 m 1
+ 225 73 l 1
+ 214 87.2998 l 1
+ 203 73 l 1
+ 214 58.7002 l 1
+EndSplineSet
+EndChar
+
+StartChar: SharpParen.modern
+Encoding: 242 -1 242
+Width: 332
+Flags: HW
+VStem: 0 18<11.9414 123.487> 123.5 25.667<-193.491 -47.9297 9.49219 116.571 173.699 319.097> 183 25.5<-182.085 -38.8672 18.4727 125.112 182.473 330.499> 314 18<11.9414 123.487>
+LayerCount: 2
+Fore
+SplineSet
+254 -101.569 m 1
+ 254 -101.569 314 -17.333 314 67.71 c 0
+ 314 152.765 254.001 237.021 254.001 237.021 c 1
+ 254.001 237.021 255.476 239.568 257 240.521 c 24
+ 258.727 241.601 262.001 242.021 262.001 242.021 c 1
+ 262.001 242.021 332 155.968 332 67.71 c 0
+ 332 -20.5371 262 -106.569 262 -106.569 c 1
+ 262 -106.569 258.727 -106.148 257 -105.069 c 24
+ 255.476 -104.116 254 -101.569 254 -101.569 c 1
+78 -101.569 m 5
+ 78 -101.569 76.5244 -104.116 75 -105.069 c 28
+ 73.2734 -106.148 70 -106.569 70 -106.569 c 5
+ 70 -106.569 0 -20.5371 0 67.71 c 4
+ 0 155.968 69.999 242.021 69.999 242.021 c 5
+ 69.999 242.021 73.2734 241.601 75 240.521 c 28
+ 76.5244 239.568 77.999 237.021 77.999 237.021 c 5
+ 77.999 237.021 18 152.765 18 67.71 c 4
+ 18 -17.333 78 -101.569 78 -101.569 c 5
+183 179.006 m 0
+ 183.3 307.7 l 1
+ 183.3 328.101 l 1
+ 187.3 329.7 191.499 330.5 195.899 330.5 c 0
+ 200.3 330.5 204.5 329.7 208.5 328.101 c 1
+ 208.5 182.473 l 0
+ 237 186.301 l 1
+ 242 182.25 245.5 181.69 247 174.19 c 1
+ 248 159.19 243.5 143.69 237.5 132.434 c 1
+ 208.5 128.192 l 0
+ 208.5 18.4727 l 0
+ 237 23.0508 l 1
+ 242 19 245.5 18.9404 247 11.4404 c 1
+ 248 -3.55957 243.5 -19.5596 237.5 -30.8164 c 1
+ 208.5 -34.8076 l 0
+ 208.501 -179.7 l 1
+ 204.501 -181.3 199.301 -182.1 194.9 -182.1 c 0
+ 190.5 -182.1 187.301 -181.3 183.301 -179.7 c 1
+ 183.301 -159.3 l 1
+ 183.5 -38.8672 l 0
+ 148.5 -43.8506 l 0
+ 148.2 -107.3 l 1
+ 148.2 -191.101 l 1
+ 144.2 -192.7 140 -193.5 135.6 -193.5 c 0
+ 131.199 -193.5 127 -192.7 123 -191.101 c 1
+ 123.5 -47.9297 l 0
+ 95 -53.0078 l 1
+ 90 -48.957 86.5 -47.3975 85 -39.8975 c 1
+ 84 -24.8975 88.5 -9.39746 94.5 1.85938 c 1
+ 123.5 5.85059 l 0
+ 123.5 116.571 l 0
+ 95 111.992 l 1
+ 90 116.043 86.5 116.603 85 124.103 c 1
+ 84 139.103 88.5 154.603 94.5 165.859 c 1
+ 123.5 169.851 l 0
+ 124 316.7 l 1
+ 128 318.3 132.199 319.1 136.6 319.1 c 0
+ 141 319.1 145.2 318.3 149.2 316.7 c 1
+ 149.2 232.899 l 1
+ 149 173.699 l 1
+ 183 179.006 l 0
+123.5 5.85059 m 0
+149.167 9.49219 m 0
+ 183.167 14.6846 l 0
+ 183.167 125.112 l 0
+ 149.25 119.892 l 0
+ 149.167 9.49219 l 0
+EndSplineSet
+EndChar
+
+StartChar: SharpParenHole
+Encoding: 243 -1 243
+Width: 428
+VWidth: 2048
+Flags: W
+HStem: 57.2705 31.459
+VStem: 201.9 24.1992
+LayerCount: 2
+Fore
+SplineSet
+214 57.2705 m 1
+ 201.9 73 l 1
+ 214 88.7295 l 1
+ 226.1 73 l 1
+ 214 57.2705 l 1
+EndSplineSet
+EndChar
+
+StartChar: SharpParenHole.modern
+Encoding: 244 -1 244
+Width: 332
+Flags: W
+HStem: 9.49219 115.62
+VStem: 149.167 34<14.6846 119.892>
+LayerCount: 2
+Fore
+SplineSet
+149.167 9.49219 m 0
+ 149.25 119.892 l 0
+ 183.167 125.112 l 0
+ 183.167 14.6846 l 0
+ 149.167 9.49219 l 0
+EndSplineSet
+EndChar
+
+StartChar: StansPunctumInclinatum
+Encoding: 245 -1 245
+Width: 185
+VWidth: 2612
+Flags: HW
+HStem: -59.373 255.694
+VStem: -0.0930023 185.306
+LayerCount: 2
+Fore
+SplineSet
+185.568 68 m 1
+ 93 -59.918 l 1
+ -0.31543 68 l 1
+ 93 196.93 l 1
+ 185.568 68 l 1
+EndSplineSet
+EndChar
+
+StartChar: StansPunctumInclinatum#Cavum
+Encoding: 246 -1 246
+Width: 185
+VWidth: 2612
+Flags: HW
+HStem: -21.0186 178.986
+VStem: 27.7031 129.714
+LayerCount: 2
+Fore
+SplineSet
+157.664 68 m 5
+ 93 -21.3965 l 1
+ 27.5449 68 l 5
+ 93 158.397 l 1
+ 157.664 68 l 5
+EndSplineSet
+EndChar
+
StartChar: Stropha
-Encoding: 227 -1 227
+Encoding: 247 -1 247
Width: 172
VWidth: 2048
Flags: HW
@@ -5447,7 +6080,7 @@ EndSplineSet
EndChar
StartChar: Stropha#Cavum
-Encoding: 228 -1 228
+Encoding: 248 -1 248
Width: 172
VWidth: 2048
Flags: HW
@@ -5468,7 +6101,7 @@ EndSplineSet
EndChar
StartChar: Stropha#Cavum.caeciliae
-Encoding: 229 -1 229
+Encoding: 249 -1 249
Width: 151
VWidth: 2686
Flags: HW
@@ -5489,7 +6122,7 @@ EndSplineSet
EndChar
StartChar: Stropha.caeciliae
-Encoding: 230 -1 230
+Encoding: 250 -1 250
Width: 151
VWidth: 2686
Flags: W
@@ -5512,7 +6145,7 @@ Validated: 1
EndChar
StartChar: StrophaAucta
-Encoding: 231 -1 231
+Encoding: 251 -1 251
Width: 172
VWidth: 2048
Flags: HW
@@ -5534,7 +6167,7 @@ EndSplineSet
EndChar
StartChar: StrophaAucta#Cavum
-Encoding: 232 -1 232
+Encoding: 252 -1 252
Width: 172
VWidth: 2048
Flags: HW
@@ -5555,7 +6188,7 @@ EndSplineSet
EndChar
StartChar: StrophaAucta#Cavum.caeciliae
-Encoding: 233 -1 233
+Encoding: 253 -1 253
Width: 151
VWidth: 2686
Flags: HW
@@ -5577,7 +6210,7 @@ EndSplineSet
EndChar
StartChar: StrophaAucta.caeciliae
-Encoding: 234 -1 234
+Encoding: 254 -1 254
Width: 151
VWidth: 2686
Flags: W
@@ -5600,7 +6233,7 @@ Validated: 33
EndChar
StartChar: StrophaAuctaLongtail
-Encoding: 235 -1 235
+Encoding: 255 -1 255
Width: 172
VWidth: 2048
Flags: HW
@@ -5622,7 +6255,7 @@ EndSplineSet
EndChar
StartChar: StrophaAuctaLongtail#Cavum
-Encoding: 236 -1 236
+Encoding: 256 -1 256
Width: 172
VWidth: 2048
Flags: HW
@@ -5643,7 +6276,7 @@ EndSplineSet
EndChar
StartChar: tmpglyph
-Encoding: 237 -1 237
+Encoding: 257 -1 257
Width: 18
VWidth: 2048
Flags: HW
@@ -5653,7 +6286,7 @@ LayerCount: 2
EndChar
StartChar: UpperPesOneNothing
-Encoding: 238 -1 238
+Encoding: 258 -1 258
Width: 166
VWidth: 2613
Flags: W
@@ -5685,7 +6318,7 @@ EndSplineSet
EndChar
StartChar: UpperPesOneNothing#Cavum
-Encoding: 239 -1 239
+Encoding: 259 -1 259
Width: 166
VWidth: 2613
Flags: W
@@ -5717,7 +6350,7 @@ EndSplineSet
EndChar
StartChar: VEpisema
-Encoding: 240 -1 240
+Encoding: 260 -1 260
Width: 34
VWidth: 2048
Flags: W
@@ -5738,7 +6371,7 @@ Validated: 1
EndChar
StartChar: VEpisema.circumflexus
-Encoding: 241 -1 241
+Encoding: 261 -1 261
Width: 108
VWidth: 2048
Flags: W
@@ -5762,7 +6395,7 @@ Validated: 33
EndChar
StartChar: virgabase
-Encoding: 242 -1 242
+Encoding: 262 -1 262
Width: 166
VWidth: 2637
Flags: HW
@@ -5784,7 +6417,7 @@ EndSplineSet
EndChar
StartChar: virgabase#Cavum
-Encoding: 243 -1 243
+Encoding: 263 -1 263
Width: 166
VWidth: 2637
Flags: HW
@@ -5804,7 +6437,7 @@ EndSplineSet
EndChar
StartChar: VirgaBaseLineBL
-Encoding: 244 -1 244
+Encoding: 264 -1 264
Width: 166
VWidth: 2637
Flags: HW
@@ -5828,7 +6461,7 @@ EndSplineSet
EndChar
StartChar: VirgaBaseLineBL#Cavum
-Encoding: 245 -1 245
+Encoding: 265 -1 265
Width: 166
VWidth: 2637
Flags: HW
@@ -5848,7 +6481,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaAscendens_op
-Encoding: 246 -1 246
+Encoding: 266 -1 266
Width: 166
VWidth: 2684
Flags: HW
@@ -5875,7 +6508,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaAscendens_op#Cavum
-Encoding: 247 -1 247
+Encoding: 267 -1 267
Width: 166
VWidth: 2684
Flags: W
@@ -5896,7 +6529,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaDescendens_op
-Encoding: 248 -1 248
+Encoding: 268 -1 268
Width: 168
VWidth: 2048
Flags: HW
@@ -5924,7 +6557,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaDescendens_op#Cavum
-Encoding: 249 -1 249
+Encoding: 269 -1 269
Width: 168
VWidth: 2048
Flags: HW
@@ -5945,7 +6578,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaLongqueueAscendens_op
-Encoding: 250 -1 250
+Encoding: 270 -1 270
Width: 166
VWidth: 2684
Flags: HW
@@ -5972,7 +6605,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaLongqueueDescendens_op
-Encoding: 251 -1 251
+Encoding: 271 -1 271
Width: 168
VWidth: 2048
Flags: HW
@@ -6001,7 +6634,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaOpenqueueAscendens_op
-Encoding: 252 -1 252
+Encoding: 272 -1 272
Width: 166
VWidth: 2684
Flags: HW
@@ -6028,7 +6661,7 @@ EndSplineSet
EndChar
StartChar: VirgaReversaOpenqueueDescendens_op
-Encoding: 253 -1 253
+Encoding: 273 -1 273
Width: 168
VWidth: 2048
Flags: W
@@ -6057,7 +6690,7 @@ EndSplineSet
EndChar
StartChar: VirgulaTwo
-Encoding: 254 -1 254
+Encoding: 274 -1 274
Width: 143
VWidth: 1788
Flags: HW
@@ -6079,7 +6712,7 @@ EndSplineSet
EndChar
StartChar: VirgulaThree
-Encoding: 255 -1 255
+Encoding: 275 -1 275
Width: 143
VWidth: 2103
Flags: HW
@@ -6101,7 +6734,7 @@ EndSplineSet
EndChar
StartChar: VirgulaFour
-Encoding: 256 -1 256
+Encoding: 276 -1 276
Width: 143
VWidth: 2418
Flags: W
@@ -6124,7 +6757,7 @@ Validated: 1
EndChar
StartChar: VirgulaFive
-Encoding: 257 -1 257
+Encoding: 277 -1 277
Width: 143
VWidth: 2733
Flags: HW
@@ -6146,7 +6779,7 @@ EndSplineSet
EndChar
StartChar: VirgulaSix
-Encoding: 258 -1 258
+Encoding: 278 -1 278
Width: 143
VWidth: 3048
Flags: HW
@@ -6167,129 +6800,203 @@ SplineSet
EndSplineSet
EndChar
-StartChar: StansPunctumInclinatum
-Encoding: 259 -1 259
-Width: 185
-VWidth: 2612
-Flags: HW
-HStem: -59.373 255.694
-VStem: -0.0930023 185.306
-LayerCount: 2
-Fore
-SplineSet
-185.568 68 m 1
- 93 -59.918 l 1
- -0.31543 68 l 1
- 93 196.93 l 1
- 185.568 68 l 1
-EndSplineSet
-EndChar
-
-StartChar: StansPunctumInclinatum#Cavum
-Encoding: 260 -1 260
-Width: 185
-VWidth: 2612
-Flags: HW
-HStem: -21.0186 178.986
-VStem: 27.7031 129.714
-LayerCount: 2
-Fore
-SplineSet
-157.664 68 m 5
- 93 -21.3965 l 1
- 27.5449 68 l 5
- 93 158.397 l 1
- 157.664 68 l 5
-EndSplineSet
-EndChar
-
-StartChar: DivisioMinimisTwo
-Encoding: 261 -1 261
-Width: 19
-VWidth: 1533
+StartChar: VirgulaParenTwo
+Encoding: 279 -1 279
+Width: 340
+VWidth: 1788
Flags: HW
-HStem: 284.431 318.553
-VStem: 0 19<285.972 602.984>
-LayerCount: 2
-Fore
-SplineSet
-0 0.12793 m 13
- 0 167.984 l 25
- 18.999 168.021 l 25
- 19 -6.56934 l 21
- 6.04395 -6.43457 2.43457 -3.39062 0 0.12793 c 13
-EndSplineSet
-EndChar
-
-StartChar: DivisioMinimisThree
-Encoding: 262 -1 262
-Width: 19
-VWidth: 1733
+HStem: -63.45 84.5<116.239 181.685>
+VStem: 201.15 55.8996<-187.09 -83.284>
+LayerCount: 2
+Fore
+SplineSet
+107.55 -34.8496 m 4
+ 107.55 9.87012 136.183 21.0498 168.65 21.0498 c 4
+ 195.23 21.0498 257.05 -2.5332 257.05 -102.45 c 4
+ 257.05 -192.583 203.75 -249.783 97.1504 -274.05 c 5
+ 94.8662 -271.766 91.9502 -261.704 91.9502 -258.45 c 4
+ 91.9502 -256.717 92.3828 -255.417 93.25 -254.55 c 5
+ 165.183 -222.482 201.15 -184.35 201.15 -140.15 c 4
+ 201.15 -78.79 163.433 -69.1816 130.95 -63.4502 c 4
+ 115.35 -61.7168 107.55 -52.1826 107.55 -34.8496 c 4
+262 -275.569 m 1
+ 262 -275.569 322 -191.333 322 -106.29 c 0
+ 322 -21.2354 262.001 63.0215 262.001 63.0215 c 1
+ 262.001 63.0215 263.476 65.5684 265 66.5215 c 24
+ 266.727 67.6006 270.001 68.0215 270.001 68.0215 c 1
+ 270.001 68.0215 340 -18.0322 340 -106.29 c 0
+ 340 -194.537 270 -280.569 270 -280.569 c 1
+ 270 -280.569 266.727 -280.148 265 -279.069 c 24
+ 263.476 -278.116 262 -275.569 262 -275.569 c 1
+78 -275.569 m 1
+ 78 -275.569 76.5244 -278.116 75 -279.069 c 24
+ 73.2734 -280.148 70 -280.569 70 -280.569 c 1
+ 70 -280.569 0 -194.537 0 -106.29 c 0
+ 0 -18.0322 69.999 68.0215 69.999 68.0215 c 1
+ 69.999 68.0215 73.2734 67.6006 75 66.5215 c 24
+ 76.5244 65.5684 77.999 63.0215 77.999 63.0215 c 1
+ 77.999 63.0215 18 -21.2354 18 -106.29 c 0
+ 18 -191.333 78 -275.569 78 -275.569 c 1
+EndSplineSet
+EndChar
+
+StartChar: VirgulaParenThree
+Encoding: 280 -1 280
+Width: 340
+VWidth: 2103
Flags: HW
-HStem: 49.431 318.553
-VStem: 0 19<50.972 367.984>
-LayerCount: 2
-Fore
-SplineSet
-0 315.128 m 13
- 0 482.984 l 25
- 18.999 483.021 l 25
- 19 308.431 l 21
- 6.04395 308.565 2.43457 311.609 0 315.128 c 13
-EndSplineSet
-EndChar
-
-StartChar: DivisioMinimisFour
-Encoding: 263 -1 263
-Width: 19
-VWidth: 2048
+HStem: -63.45 84.5<116.239 181.685>
+VStem: 201.15 55.8996<-187.09 -83.284>
+LayerCount: 2
+Fore
+SplineSet
+262 39.4307 m 1
+ 262 39.4307 322 123.667 322 208.71 c 0
+ 322 293.765 262.001 378.021 262.001 378.021 c 1
+ 262.001 378.021 263.476 380.568 265 381.521 c 24
+ 266.727 382.601 270.001 383.021 270.001 383.021 c 1
+ 270.001 383.021 340 296.968 340 208.71 c 0
+ 340 120.463 270 34.4307 270 34.4307 c 1
+ 270 34.4307 266.727 34.8516 265 35.9307 c 24
+ 263.476 36.8838 262 39.4307 262 39.4307 c 1
+78 39.4307 m 1
+ 78 39.4307 76.5244 36.8838 75 35.9307 c 24
+ 73.2734 34.8516 70 34.4307 70 34.4307 c 1
+ 70 34.4307 0 120.463 0 208.71 c 0
+ 0 296.968 69.999 383.021 69.999 383.021 c 1
+ 69.999 383.021 73.2734 382.601 75 381.521 c 24
+ 76.5244 380.568 77.999 378.021 77.999 378.021 c 1
+ 77.999 378.021 18 293.765 18 208.71 c 0
+ 18 123.667 78 39.4307 78 39.4307 c 1
+107.55 280.15 m 4
+ 107.55 324.87 136.183 336.05 168.65 336.05 c 0
+ 195.23 336.05 257.05 312.467 257.05 212.55 c 0
+ 257.05 122.417 203.75 65.2168 97.1504 40.9502 c 1
+ 94.8662 43.2344 91.9502 53.2959 91.9502 56.5498 c 0
+ 91.9502 58.2832 92.3828 59.583 93.25 60.4502 c 1
+ 165.183 92.5176 201.15 130.65 201.15 174.85 c 0
+ 201.15 236.21 163.433 245.818 130.95 251.55 c 0
+ 115.35 253.283 107.55 262.817 107.55 280.15 c 4
+EndSplineSet
+EndChar
+
+StartChar: VirgulaParenFour
+Encoding: 281 -1 281
+Width: 340
+VWidth: 2418
Flags: HW
-HStem: 364.431 318.553
-VStem: 0 19<365.972 682.984>
-LayerCount: 2
-Fore
-SplineSet
-0 630.128 m 13
- 0 797.984 l 25
- 18.999 798.021 l 25
- 19 623.431 l 21
- 6.04395 623.565 2.43457 626.609 0 630.128 c 13
-EndSplineSet
-EndChar
-
-StartChar: DivisioMinimisFive
-Encoding: 264 -1 264
-Width: 19
-VWidth: 2363
+HStem: -63.45 84.5<116.239 181.685>
+VStem: 201.15 55.8996<-187.09 -83.284>
+LayerCount: 2
+Fore
+SplineSet
+262 354.431 m 1
+ 262 354.431 322 438.667 322 523.71 c 0
+ 322 608.765 262.001 693.021 262.001 693.021 c 1
+ 262.001 693.021 263.476 695.568 265 696.521 c 24
+ 266.727 697.601 270.001 698.021 270.001 698.021 c 1
+ 270.001 698.021 340 611.968 340 523.71 c 0
+ 340 435.463 270 349.431 270 349.431 c 1
+ 270 349.431 266.727 349.852 265 350.931 c 24
+ 263.476 351.884 262 354.431 262 354.431 c 1
+78 354.431 m 1
+ 78 354.431 76.5244 351.884 75 350.931 c 24
+ 73.2734 349.852 70 349.431 70 349.431 c 1
+ 70 349.431 0 435.463 0 523.71 c 0
+ 0 611.968 69.999 698.021 69.999 698.021 c 1
+ 69.999 698.021 73.2734 697.601 75 696.521 c 24
+ 76.5244 695.568 77.999 693.021 77.999 693.021 c 1
+ 77.999 693.021 18 608.765 18 523.71 c 0
+ 18 438.667 78 354.431 78 354.431 c 1
+107.55 595.15 m 4
+ 107.55 639.87 136.183 651.05 168.65 651.05 c 0
+ 195.23 651.05 257.05 627.467 257.05 527.55 c 0
+ 257.05 437.417 203.75 380.217 97.1504 355.95 c 1
+ 94.8662 358.234 91.9502 368.296 91.9502 371.55 c 0
+ 91.9502 373.283 92.3828 374.583 93.25 375.45 c 1
+ 165.183 407.518 201.15 445.65 201.15 489.85 c 0
+ 201.15 551.21 163.433 560.818 130.95 566.55 c 4
+ 115.35 568.283 107.55 577.817 107.55 595.15 c 4
+EndSplineSet
+EndChar
+
+StartChar: VirgulaParenFive
+Encoding: 282 -1 282
+Width: 340
+VWidth: 2733
Flags: HW
-HStem: 679.431 318.553
-VStem: 0 19<680.972 997.984>
-LayerCount: 2
-Fore
-SplineSet
-0 945.128 m 13
- 0 1112.98 l 25
- 18.999 1113.02 l 25
- 19 938.431 l 21
- 6.04395 938.565 2.43457 941.609 0 945.128 c 13
-EndSplineSet
-EndChar
-
-StartChar: DivisioMinimisSix
-Encoding: 265 -1 265
-Width: 19
-VWidth: 2678
+HStem: -63.45 84.5<116.239 181.685>
+VStem: 201.15 55.8996<-187.09 -83.284>
+LayerCount: 2
+Fore
+SplineSet
+262 669.431 m 1
+ 262 669.431 322 753.667 322 838.71 c 0
+ 322 923.765 262.001 1008.02 262.001 1008.02 c 1
+ 262.001 1008.02 263.476 1010.57 265 1011.52 c 24
+ 266.727 1012.6 270.001 1013.02 270.001 1013.02 c 1
+ 270.001 1013.02 340 926.968 340 838.71 c 0
+ 340 750.463 270 664.431 270 664.431 c 1
+ 270 664.431 266.727 664.852 265 665.931 c 24
+ 263.476 666.884 262 669.431 262 669.431 c 1
+78 669.431 m 1
+ 78 669.431 76.5244 666.884 75 665.931 c 24
+ 73.2734 664.852 70 664.431 70 664.431 c 1
+ 70 664.431 0 750.463 0 838.71 c 0
+ 0 926.968 69.999 1013.02 69.999 1013.02 c 1
+ 69.999 1013.02 73.2734 1012.6 75 1011.52 c 24
+ 76.5244 1010.57 77.999 1008.02 77.999 1008.02 c 1
+ 77.999 1008.02 18 923.765 18 838.71 c 0
+ 18 753.667 78 669.431 78 669.431 c 1
+107.55 910.15 m 4
+ 107.55 954.87 136.183 966.05 168.65 966.05 c 0
+ 195.23 966.05 257.05 942.467 257.05 842.55 c 0
+ 257.05 752.417 203.75 695.217 97.1504 670.95 c 1
+ 94.8662 673.234 91.9502 683.296 91.9502 686.55 c 0
+ 91.9502 688.283 92.3828 689.583 93.25 690.45 c 1
+ 165.183 722.518 201.15 760.65 201.15 804.85 c 0
+ 201.15 866.21 163.433 875.818 130.95 881.55 c 0
+ 115.35 883.283 107.55 892.817 107.55 910.15 c 4
+EndSplineSet
+EndChar
+
+StartChar: VirgulaParenSix
+Encoding: 283 -1 283
+Width: 340
+VWidth: 3048
Flags: HW
-HStem: 994.431 318.553
-VStem: 0 19<995.972 1312.98>
-LayerCount: 2
-Fore
-SplineSet
-0 1260.13 m 13
- 0 1427.98 l 25
- 18.999 1428.02 l 25
- 19 1253.43 l 21
- 6.04395 1253.56 2.43457 1256.61 0 1260.13 c 13
+HStem: -63.45 84.5<116.239 181.685>
+VStem: 201.15 55.8996<-187.09 -83.284>
+LayerCount: 2
+Fore
+SplineSet
+262 984.431 m 1
+ 262 984.431 322 1068.67 322 1153.71 c 0
+ 322 1238.76 262.001 1323.02 262.001 1323.02 c 1
+ 262.001 1323.02 263.476 1325.57 265 1326.52 c 24
+ 266.727 1327.6 270.001 1328.02 270.001 1328.02 c 1
+ 270.001 1328.02 340 1241.97 340 1153.71 c 0
+ 340 1065.46 270 979.431 270 979.431 c 1
+ 270 979.431 266.727 979.852 265 980.931 c 24
+ 263.476 981.884 262 984.431 262 984.431 c 1
+78 984.431 m 1
+ 78 984.431 76.5244 981.884 75 980.931 c 24
+ 73.2734 979.852 70 979.431 70 979.431 c 1
+ 70 979.431 0 1065.46 0 1153.71 c 0
+ 0 1241.97 69.999 1328.02 69.999 1328.02 c 1
+ 69.999 1328.02 73.2734 1327.6 75 1326.52 c 24
+ 76.5244 1325.57 77.999 1323.02 77.999 1323.02 c 1
+ 77.999 1323.02 18 1238.76 18 1153.71 c 0
+ 18 1068.67 78 984.431 78 984.431 c 1
+107.55 1225.15 m 4
+ 107.55 1269.87 136.183 1281.05 168.65 1281.05 c 0
+ 195.23 1281.05 257.05 1257.47 257.05 1157.55 c 0
+ 257.05 1067.42 203.75 1010.22 97.1504 985.95 c 1
+ 94.8662 988.234 91.9502 998.296 91.9502 1001.55 c 0
+ 91.9502 1003.28 92.3828 1004.58 93.25 1005.45 c 1
+ 165.183 1037.52 201.15 1075.65 201.15 1119.85 c 0
+ 201.15 1181.21 163.433 1190.82 130.95 1196.55 c 0
+ 115.35 1198.28 107.55 1207.82 107.55 1225.15 c 4
EndSplineSet
EndChar
EndChars
diff --git a/support/gregoriotex/fonts/sources/gregall.sfd b/support/gregoriotex/fonts/sources/gregall.sfd
index 72edbd2172..4922571ef1 100644
--- a/support/gregoriotex/fonts/sources/gregall.sfd
+++ b/support/gregoriotex/fonts/sources/gregall.sfd
@@ -3,7 +3,7 @@ FontName: gregall
FullName: gregall
FamilyName: gregall
Weight: Book
-Copyright: gregall font, created with FontForge.\nCopyright (C) 2014-2019 Jakub Jelinek <jakub@redhat.com>\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
+Copyright: gregall font, created with FontForge.\nCopyright (C) 2014-2021 Jakub Jelinek <jakub@redhat.com>\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
Version: 0.1
ItalicAngle: 0
UnderlinePosition: -100
diff --git a/support/gregoriotex/fonts/sources/grelaon.sfd b/support/gregoriotex/fonts/sources/grelaon.sfd
index 3ccd4405c7..5f5a8275ab 100644
--- a/support/gregoriotex/fonts/sources/grelaon.sfd
+++ b/support/gregoriotex/fonts/sources/grelaon.sfd
@@ -3,7 +3,7 @@ FontName: grelaon
FullName: grelaon
FamilyName: grelaon
Weight: Book
-Copyright: grelaon font, created with FontForge.\nCopyright (C) 2016-2019 Jakub Jelinek <jakub@redhat.com>\n\nThe background images in font source are taken from the LAON_BM_ms239 manuscript with permission of Bibliotheque municipale de Laon,\nhttp://manuscrit.ville-laon.fr\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
+Copyright: grelaon font, created with FontForge.\nCopyright (C) 2016-2021 Jakub Jelinek <jakub@redhat.com>\n\nThe background images in font source are taken from the LAON_BM_ms239 manuscript with permission of Bibliotheque municipale de Laon,\nhttp://manuscrit.ville-laon.fr\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
Version: 0.1
ItalicAngle: 0
UnderlinePosition: -100
diff --git a/support/gregoriotex/fonts/sources/gresgmodern.sfd b/support/gregoriotex/fonts/sources/gresgmodern.sfd
index c769df7c02..724d3e71c1 100644
--- a/support/gregoriotex/fonts/sources/gresgmodern.sfd
+++ b/support/gregoriotex/fonts/sources/gresgmodern.sfd
@@ -3,7 +3,7 @@ FontName: gresgmodern
FullName: gresgmodern
FamilyName: gresgmodern
Weight: Normal
-Copyright: (c) 2011 Association Saint-Benoit, Notre-Dame de Bellaigue, FR 63330 VIRLET\n\n(c) 2014-2019 Jakub Jelinek <jakub@redhat.com>\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
+Copyright: (c) 2011 Association Saint-Benoit, Notre-Dame de Bellaigue, FR 63330 VIRLET\n\n(c) 2014-2021 Jakub Jelinek <jakub@redhat.com>\n\nThis Font Software is licensed under the SIL Open Font License, Version 1.1.\n\nSIL OPEN FONT LICENSE\n\nVersion 1.1 - 26 February 2007\n\nPREAMBLE\n\nThe goals of the Open Font License (OFL) are to stimulate worldwide\ndevelopment of collaborative font projects, to support the font creation\nefforts of academic and linguistic communities, and to provide a free and\nopen framework in which fonts may be shared and improved in partnership\nwith others.\n\nThe OFL allows the licensed fonts to be used, studied, modified and\nredistributed freely as long as they are not sold by themselves. The\nfonts, including any derivative works, can be bundled, embedded,\nredistributed and/or sold with any software provided that any reserved\nnames are not used by derivative works. The fonts and derivatives,\nhowever, cannot be released under any other type of license. The\nrequirement for fonts to remain under this license does not apply\nto any document created using the fonts or their derivatives.\n\nDEFINITIONS\n\n"Font Software" refers to the set of files released by the Copyright\nHolder(s) under this license and clearly marked as such. This may\ninclude source files, build scripts and documentation.\n\n"Reserved Font Name" refers to any names specified as such after the\ncopyright statement(s).\n\n"Original Version" refers to the collection of Font Software components as\ndistributed by the Copyright Holder(s).\n\n"Modified Version" refers to any derivative made by adding to, deleting,\nor substituting - in part or in whole - any of the components of the\nOriginal Version, by changing formats or by porting the Font Software to a\nnew environment.\n\n"Author" refers to any designer, engineer, programmer, technical\nwriter or other person who contributed to the Font Software.\n\nPERMISSION & CONDITIONS\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of the Font Software, to use, study, copy, merge, embed, modify,\nredistribute, and sell modified and unmodified copies of the Font\nSoftware, subject to the following conditions:\n\n1) Neither the Font Software nor any of its individual components,\nin Original or Modified Versions, may be sold by itself.\n\n2) Original or Modified Versions of the Font Software may be bundled,\nredistributed and/or sold with any software, provided that each copy\ncontains the above copyright notice and this license. These can be\nincluded either as stand-alone text files, human-readable headers or\nin the appropriate machine-readable metadata fields within text or\nbinary files as long as those fields can be easily viewed by the user.\n\n3) No Modified Version of the Font Software may use the Reserved Font\nName(s) unless explicit written permission is granted by the corresponding\nCopyright Holder. This restriction only applies to the primary font name as\npresented to the users.\n\n4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font\nSoftware shall not be used to promote, endorse or advertise any\nModified Version, except to acknowledge the contribution(s) of the\nCopyright Holder(s) and the Author(s) or with their explicit written\npermission.\n\n5) The Font Software, modified or unmodified, in part or in whole,\nmust be distributed entirely under this license, and must not be\ndistributed under any other license. The requirement for fonts to\nremain under this license does not apply to any document created\nusing the Font Software.\n\nTERMINATION\n\nThis license becomes null and void if any of the above conditions are\nnot met.\n\nDISCLAIMER\n\nTHE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT\nOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE\nCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL\nDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM\nOTHER DEALINGS IN THE FONT SOFTWARE.
Version: 0.3
ItalicAngle: 0
UnderlinePosition: -150
diff --git a/support/gregoriotex/fonts/sources/simplify.py b/support/gregoriotex/fonts/sources/simplify.py
index 53d105feb2..bb32ee186d 100644
--- a/support/gregoriotex/fonts/sources/simplify.py
+++ b/support/gregoriotex/fonts/sources/simplify.py
@@ -8,7 +8,7 @@
because simplification doesn't work in squarize.py due to bugs
in fontforge.
- Copyright (C) 2016-2019 The Gregorio Project (see CONTRIBUTORS.md)
+ Copyright (C) 2016-2021 The Gregorio Project (see CONTRIBUTORS.md)
This file is part of Gregorio.
diff --git a/support/gregoriotex/fonts/sources/squarize.py b/support/gregoriotex/fonts/sources/squarize.py
index 7a57a827f6..e40cc2ebdf 100644
--- a/support/gregoriotex/fonts/sources/squarize.py
+++ b/support/gregoriotex/fonts/sources/squarize.py
@@ -6,7 +6,7 @@
"""
Python fontforge script to build a square notation font.
- Copyright (C) 2013-2019 The Gregorio Project (see CONTRIBUTORS.md)
+ Copyright (C) 2013-2021 The Gregorio Project (see CONTRIBUTORS.md)
This file is part of Gregorio.
@@ -90,7 +90,7 @@ AMBITUS = {
14 : 'Fourteen',
}
-GREGORIO_VERSION = '5.2.1'
+GREGORIO_VERSION = '6.0.0-beta1'
# The unicode character at which we start our numbering:
# U+E000 is the start of the BMP Private Use Area
@@ -254,12 +254,27 @@ DIRECT_GLYPHS = {
'CClefChange' : False,
'FClefChange' : False,
'Flat' : False,
+ 'FlatHole' : False,
+ 'FlatParen' : False,
+ 'FlatParenHole' : False,
'Natural' : False,
+ 'NaturalHole' : False,
+ 'NaturalParen' : False,
+ 'NaturalParenHole' : False,
+ 'Sharp' : False,
+ 'SharpHole' : False,
+ 'SharpParen' : False,
+ 'SharpParenHole' : False,
'VirgulaTwo' : False,
'VirgulaThree' : False,
'VirgulaFour' : False,
'VirgulaFive' : False,
'VirgulaSix' : False,
+ 'VirgulaParenTwo' : False,
+ 'VirgulaParenThree' : False,
+ 'VirgulaParenFour' : False,
+ 'VirgulaParenFive' : False,
+ 'VirgulaParenSix' : False,
'DivisioMinimisTwo' : False,
'DivisioMinimisThree' : False,
'DivisioMinimisFour' : False,
@@ -270,6 +285,11 @@ DIRECT_GLYPHS = {
'DivisioMinimaFour' : False,
'DivisioMinimaFive' : False,
'DivisioMinimaSix' : False,
+ 'DivisioMinimaParenTwo' : False,
+ 'DivisioMinimaParenThree' : False,
+ 'DivisioMinimaParenFour' : False,
+ 'DivisioMinimaParenFive' : False,
+ 'DivisioMinimaParenSix' : False,
'DivisioMinorTwo' : False,
'DivisioMinorThree' : False,
'DivisioMinorFour' : False,
@@ -323,12 +343,8 @@ DIRECT_GLYPHS = {
'SemicirculusReversus' : False,
'PunctumAscendens' : True,
'PunctumDescendens' : True,
- 'FlatHole' : False,
- 'NaturalHole' : False,
'DivisioDominican' : False,
'DivisioDominicanAlt' : False,
- 'Sharp' : False,
- 'SharpHole' : False,
'Linea' : True,
'RoundBrace' : False,
'CurlyBrace' : False,
@@ -1098,8 +1114,13 @@ HEPISEMA_GLYPHS = {
'HEpisemaFlat': 'Flat',
'HEpisemaSharp': 'Sharp',
'HEpisemaNatural': 'Natural',
- 'HEpisemaBarStandard': 'DivisioMinima',
- 'HEpisemaBarVirgula': 'Virgula',
+ 'HEpisemaBarStandard': 'DivisioMinimaTwo',
+ 'HEpisemaBarVirgula': 'VirgulaTwo',
+ 'HEpisemaBarParen': 'DivisioMinimaParenTwo',
+ 'HEpisemaBarVirgulaParen': 'VirgulaParenTwo',
+ 'HEpisemaFlatParen': 'FlatParen',
+ 'HEpisemaSharpParen': 'SharpParen',
+ 'HEpisemaNaturalParen': 'NaturalParen',
}
def hepisema():
diff --git a/support/gregoriotex/fonts/sources/stemsschemas.py b/support/gregoriotex/fonts/sources/stemsschemas.py
index ca1975b0ff..eae24cb9c4 100644
--- a/support/gregoriotex/fonts/sources/stemsschemas.py
+++ b/support/gregoriotex/fonts/sources/stemsschemas.py
@@ -5,7 +5,7 @@
Companion to squarize.py, building the stem length config
according to various schemas.
- Copyright (C) 2016-2019 The Gregorio Project (see CONTRIBUTORS.md)
+ Copyright (C) 2016-2021 The Gregorio Project (see CONTRIBUTORS.md)
This file is part of Gregorio.
diff --git a/support/gregoriotex/fonts/truetype/greciliae-hole.ttf b/support/gregoriotex/fonts/truetype/greciliae-hole.ttf
index 8ab9d28b23..27e9c07c65 100644
--- a/support/gregoriotex/fonts/truetype/greciliae-hole.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae-hole.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greciliae-hollow.ttf b/support/gregoriotex/fonts/truetype/greciliae-hollow.ttf
index fd32d093c1..d9b1606db9 100644
--- a/support/gregoriotex/fonts/truetype/greciliae-hollow.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae-hollow.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greciliae-op-hole.ttf b/support/gregoriotex/fonts/truetype/greciliae-op-hole.ttf
index 3c97f9dd35..f6eb693162 100644
--- a/support/gregoriotex/fonts/truetype/greciliae-op-hole.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae-op-hole.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greciliae-op-hollow.ttf b/support/gregoriotex/fonts/truetype/greciliae-op-hollow.ttf
index 10089f020f..7ca1259bc6 100644
--- a/support/gregoriotex/fonts/truetype/greciliae-op-hollow.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae-op-hollow.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greciliae-op.ttf b/support/gregoriotex/fonts/truetype/greciliae-op.ttf
index 128f7a9f17..e818005f9d 100644
--- a/support/gregoriotex/fonts/truetype/greciliae-op.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae-op.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greciliae.ttf b/support/gregoriotex/fonts/truetype/greciliae.ttf
index b4ceda6c17..c6cdfe0528 100644
--- a/support/gregoriotex/fonts/truetype/greciliae.ttf
+++ b/support/gregoriotex/fonts/truetype/greciliae.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/greextra.ttf b/support/gregoriotex/fonts/truetype/greextra.ttf
index ff7953ba28..3f6f80dfd9 100644
--- a/support/gregoriotex/fonts/truetype/greextra.ttf
+++ b/support/gregoriotex/fonts/truetype/greextra.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/gregall.ttf b/support/gregoriotex/fonts/truetype/gregall.ttf
index a5bc576a8a..c8a7352ff8 100644
--- a/support/gregoriotex/fonts/truetype/gregall.ttf
+++ b/support/gregoriotex/fonts/truetype/gregall.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/grelaon.ttf b/support/gregoriotex/fonts/truetype/grelaon.ttf
index 0a041c5d18..3c98be7e9c 100644
--- a/support/gregoriotex/fonts/truetype/grelaon.ttf
+++ b/support/gregoriotex/fonts/truetype/grelaon.ttf
Binary files differ
diff --git a/support/gregoriotex/fonts/truetype/gresgmodern.ttf b/support/gregoriotex/fonts/truetype/gresgmodern.ttf
index 320e43e081..c46bd28842 100644
--- a/support/gregoriotex/fonts/truetype/gresgmodern.ttf
+++ b/support/gregoriotex/fonts/truetype/gresgmodern.ttf
Binary files differ
diff --git a/support/gregoriotex/tex/lualatex/gregoriosyms.sty b/support/gregoriotex/tex/lualatex/gregoriosyms.sty
index c766dc61bf..09f61a6ea0 100644
--- a/support/gregoriotex/tex/lualatex/gregoriosyms.sty
+++ b/support/gregoriotex/tex/lualatex/gregoriosyms.sty
@@ -1,6 +1,6 @@
%GregorioTeX file.
%
-% Copyright (C) 2008-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2008-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -19,13 +19,15 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{gregoriosyms}
- [2019/04/06 v5.2.1 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX
+ [2021/02/23 v6.0.0-beta1 GregorioTeX symbols only.]% PARSE_VERSION_DATE_LTX
+
+\RequirePackage{iftex}%
+\RequireLuaTeX
% If gregoriotex has been loaded, then we need to abort the loading process of this package here in order to avoid some conflicts.
\ifcsname gregoriotex@symbols@loaded\endcsname\endinput\fi%
\RequirePackage{kvoptions}%
-\RequirePackage{ifluatex}%
\RequirePackage{luatexbase}%
\RequirePackage{luaotfload}
\RequirePackage{luamplib}%
@@ -39,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{5.2.1}% GREGORIO_VERSION - VersionManager.py
+\xdef\gre@gregoriotexversion{6.0.0-beta1}% GREGORIO_VERSION - VersionManager.py
\providecommand{\gre@declarefileversion}[2]{\relax}
diff --git a/support/gregoriotex/tex/lualatex/gregoriotex.sty b/support/gregoriotex/tex/lualatex/gregoriotex.sty
index 2b6d877024..6f8eff2456 100644
--- a/support/gregoriotex/tex/lualatex/gregoriotex.sty
+++ b/support/gregoriotex/tex/lualatex/gregoriotex.sty
@@ -1,6 +1,6 @@
%GregorioTeX LaTeX style.
%
-% 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.
%
@@ -19,14 +19,17 @@
\NeedsTeXFormat{LaTeX2e}%
\ProvidesPackage{gregoriotex}%
- [2019/04/06 v5.2.1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+ [2021/02/23 v6.0.0-beta1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+
+\RequirePackage{iftex}%
+\RequireLuaTeX
% If gregoriosyms has been loaded then there are going to be some conflicts in the definitions made in that package and this one. In order to provide for a more informative error message, we check for that conflict right away
\ifcsname gregoriotex@symbols@loaded\endcsname\gre@error{Loading gregoriotex after\MessageBreak gregoriosyms is not supported. Please remove the\MessageBreak loading of gregoriosyms (its contents are loaded\MessageBreak by gregoriotex)}\fi%
\RequirePackage{xcolor}%
+\RequirePackage{luacolor}%
\RequirePackage{kvoptions}%
-\RequirePackage{ifluatex}%
\RequirePackage{graphicx}% for \resizebox
\RequirePackage{luatexbase}%
\RequirePackage{luaotfload}%
@@ -102,22 +105,22 @@
%%%%%%%%%
\def\GreItalic#1{%
- \textit{#1}%
+ {\itshape #1}%
\relax %
}
\def\GreSmallCaps#1{%
- \textsc{#1}%
+ {\scshape #1}%
\relax %
}
\def\GreBold#1{%
- \textbf{#1}%
+ {\bfseries #1}%
\relax %
}
\def\GreTypewriter#1{%
- \texttt{#1}%
+ {\ttfamily #1}%
\relax %
}
diff --git a/support/gregoriotex/tex/luatex/gregorio-vowels.dat b/support/gregoriotex/tex/luatex/gregorio-vowels.dat
index f02943994c..0e0dacc52c 100644
--- a/support/gregoriotex/tex/luatex/gregorio-vowels.dat
+++ b/support/gregoriotex/tex/luatex/gregorio-vowels.dat
@@ -1,5 +1,5 @@
# Vowel rule file for Gregorio
-# Copyright (C) 2015-2019 The Gregorio Project (see CONTRIBUTORS.md)
+# Copyright (C) 2015-2021 The Gregorio Project (see CONTRIBUTORS.md)
#
# This file is part of Gregorio.
#
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-chars.tex b/support/gregoriotex/tex/luatex/gregoriotex-chars.tex
index 5b0c83ee4e..99c577d7a0 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-chars.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-chars.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.
%
@@ -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}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-chars.tex}{6.0.0-beta1}% GREGORIO_VERSION
\def\gre@char@fuse@punctum@one{\GreFuseTwo{\GreCPLeadingPunctumOne}{\GreCPPunctum}}%
\def\gre@char@fuse@quilisma@one{\GreFuseTwo{\GreCPLeadingQuilismaOne}{\GreCPPunctum}}%
@@ -83,15 +83,26 @@
\gre@def@char@he{flat}{Flat}%
\gre@def@char@he{sharp}{Sharp}%
\gre@def@char@he{natural}{Natural}%
+\gre@def@char@he{flatparen}{FlatParen}%
+\gre@def@char@he{sharpparen}{SharpParen}%
+\gre@def@char@he{naturalparen}{NaturalParen}%
\gre@def@char@he{barstandard}{BarStandard}%
+\gre@def@char@he{barparen}{BarParen}%
\gre@def@char@he{barvirgula}{BarVirgula}%
+\gre@def@char@he{barvirgulaparen}{BarVirgulaParen}%
\def\gre@fontchar@flat{\gre@font@music\GreCPFlat}%
\def\gre@fontchar@flathole{\gre@font@music\GreCPFlatHole}%
+\def\gre@fontchar@flatparen{\gre@font@music\GreCPFlatParen}%
+\def\gre@fontchar@flatparenhole{\gre@font@music\GreCPFlatParenHole}%
\def\gre@fontchar@natural{\gre@font@music\GreCPNatural}%
\def\gre@fontchar@naturalhole{\gre@font@music\GreCPNaturalHole}%
+\def\gre@fontchar@naturalparen{\gre@font@music\GreCPNaturalParen}%
+\def\gre@fontchar@naturalparenhole{\gre@font@music\GreCPNaturalParenHole}%
\def\gre@fontchar@sharp{\gre@font@music\GreCPSharp}%
\def\gre@fontchar@sharphole{\gre@font@music\GreCPSharpHole}%
+\def\gre@fontchar@sharpparen{\gre@font@music\GreCPSharpParen}%
+\def\gre@fontchar@sharpparenhole{\gre@font@music\GreCPSharpParenHole}%
\def\gre@fontchar@cclef{\gre@font@music\GreCPCClef}%
\def\gre@fontchar@fclef{\gre@font@music\GreCPFClef}%
\def\gre@fontchar@incclef{\gre@font@music\GreCPCClefChange}%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-common.tex b/support/gregoriotex/tex/luatex/gregoriotex-common.tex
index 3e63e95ab4..4801ea8c65 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-common.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-common.tex
@@ -1,6 +1,6 @@
%GregorioTeX common file (stuff needed by both gregoriotex and gregoriosyms)
%
-% 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.
%
@@ -17,8 +17,11 @@
% 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-commonx.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-common.tex}{6.0.0-beta1}% GREGORIO_VERSION
+\ifnum\luatexversion<76%
+ \gre@error{Error: this document must be compiled with LuaTeX (lualatex) 0.76 or later}%
+\fi%
%%%%%%%%%
%% Debugging
@@ -68,15 +71,27 @@
% #2 - the correct macro to use
\def\gre@deprecated#1#2{%
\ifgre@allowdeprecated%
- \gre@warning{#1\space is deprecated.\MessageBreak Use #2\space instead}%
+ \ifx&#2&%
+ \gre@warning{#1\space is deprecated and marked for removal}%
+ \else%
+ \gre@warning{#1\space is deprecated.\MessageBreak Use #2\space instead}%
+ \fi%
\else%
- \gre@error{#1\space is deprecated.\MessageBreak Use #2\space instead}%
+ \ifx&#2&%
+ \gre@error{#1\space is deprecated and marked for removal}%
+ \else%
+ \gre@error{#1\space is deprecated.\MessageBreak Use #2\space instead}%
+ \fi%
\fi%
\relax%
}%
\def\gre@obsolete#1#2{%
- \gre@error{#1\space is obsolete.\MessageBreak Use #2\space instead}%
+ \ifx&#2&%
+ \gre@error{#1\space is obsolete and no longer has any effect}%
+ \else%
+ \gre@error{#1\space is obsolete.\MessageBreak Use #2\space instead}%
+ \fi%
\relax%
}%
diff --git a/support/gregoriotex/tex/luatex/gsp-default.tex b/support/gregoriotex/tex/luatex/gregoriotex-gsp-default.tex
index 53f8f380d5..a5e8952bd7 100644
--- a/support/gregoriotex/tex/luatex/gsp-default.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-gsp-default.tex
@@ -1,6 +1,6 @@
%GregorioTeX file.
%
-% Copyright (C) 2010-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2010-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -19,6 +19,10 @@
% this file contains definitions of spaces and penalties
+% version check
+\gre@declarefileversion{gregoriotex-gsp-default.tex}{6.0.0-beta1}% GREGORIO_VERSION
+
+
%% First, the penalties
% penalty to force a break on a new line
@@ -59,7 +63,7 @@
\else %
\grechangecount{pretolerance}{\the\pretolerance}%
\fi %
-\grecreatedim{emergencystretch}{\the\emergencystretch}{scalable}%
+\gre@createdim{emergencystretch}{\the\emergencystretch}{scalable}%
% By default, we don't care if a line of score is alone on the page,
% if you think it is bad, you can modify the two following values. Assigning
% 10000 to them will prevent all orphaned lines (this will certainly improve
@@ -92,119 +96,122 @@
%% If you’re creating your own space configuration file, you may set this to some other value, should you so desire.
\greconffactor=17%
+%How thick the lines should be. When set equal to \greconffactor (above) the staff lines will be their default thickness. Larger numbers result in thicker lines.
+\grechangestafflinethickness{17}%
+
% the additional width of the additional lines (compared to the width of the glyph they're associated with)
-\grecreatedim{additionallineswidth}{0.14584 cm}{scalable}%
+\gre@createdim{additionallineswidth}{0.14584 cm}{scalable}%
% width of the additional lines, used only for the custos (maybe should depend on the width of the custos...)
% the width is the one for the custos at end of lines, the line for custos in the middle of a score is the same
% multiplied by 2.
-\grecreatedim{additionalcustoslineswidth}{0.09114 cm}{scalable}%
+\gre@createdim{additionalcustoslineswidth}{0.09114 cm}{scalable}%
% null space
-\grecreatedim{zerowidthspace}{0 cm}{scalable}%
+\gre@createdim{zerowidthspace}{0 cm}{scalable}%
% space between glyphs in the same element
-\grecreatedim{interglyphspace}{0.06927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{interglyphspace}{0.06927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between an alteration (flat or natural) and the next glyph
-\grecreatedim{alterationspace}{0.07747 cm}{scalable}%
+\gre@createdim{alterationspace}{0.07747 cm}{scalable}%
% space between a clef and a flat (for clefs with flat)
-\grecreatedim{clefflatspace}{0.05469 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
+\gre@createdim{clefflatspace}{0.05469 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
% space before a choral sign
-\grecreatedim{beforelowchoralsignspace}{0.04556 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
+\gre@createdim{beforelowchoralsignspace}{0.04556 cm plus 0.00638 cm minus 0.00638 cm}{scalable}%
% when bolshifts are enabled, minimal space between a clef at the beginning of the line and a leading alteration glyph (should be larger than clefflatspace so that a flatted clef can be distinguished from a flat which is part of the first glyph on a line, but also smaller than spaceafterlineclef, the distance from the clef to the first notes)
-\grecreatedim{beforealterationspace}{0.1 cm}{scalable}%
+\gre@createdim{beforealterationspace}{0.1 cm}{scalable}%
% half-space between elements
-\grecreatedim{halfspace}{0.03463 cm plus 0.00091 cm minus 0.00182 cm}{scalable}%
+\gre@createdim{halfspace}{0.03463 cm plus 0.00091 cm minus 0.00182 cm}{scalable}%
% space between elements
-\grecreatedim{interelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{interelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
% larger space between elements
-\grecreatedim{largerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+\gre@createdim{largerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
% space between elements in ancient notation
-\grecreatedim{nabcinterelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{nabcinterelementspace}{0.06927 cm plus 0.00182 cm minus 0.00363 cm}{scalable}%
% larger space between elements in ancient notation
-\grecreatedim{nabclargerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+\gre@createdim{nabclargerspace}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
% space between elements which has the size of a note
-\grecreatedim{glyphspace}{0.21877 cm plus 0.01822 cm minus 0.01822 cm}{scalable}%
+\gre@createdim{glyphspace}{0.21877 cm plus 0.01822 cm minus 0.01822 cm}{scalable}%
% space before in-line custos
-\grecreatedim{spacebeforeinlinecustos}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
+\gre@createdim{spacebeforeinlinecustos}{0.10938 cm plus 0.01822 cm minus 0.00911 cm}{scalable}%
% space before end-of-line custos
-\grecreatedim{spacebeforeeolcustos}{0.23 cm plus 0 cm minus 0 cm}{scalable}%
+\gre@createdim{spacebeforeeolcustos}{0.23 cm plus 0 cm minus 0 cm}{scalable}%
% space before punctum mora and augmentum duplex
-\grecreatedim{spacebeforesigns}{0.050 cm plus 0.004 cm minus 0.004 cm}{scalable}%
+\gre@createdim{spacebeforesigns}{0.050 cm plus 0.004 cm minus 0.004 cm}{scalable}%
% when a syllable is shifted left because of a preceding punctum mora, moraadjustmentbar is
% also added. Use it to make the syllable a bit further from the punctum mora if you want.
% This version is the general case.
-\grecreatedim{moraadjustment}{0.050 cm}{scalable}%
+\gre@createdim{moraadjustment}{0.050 cm}{scalable}%
% This version is for when punctum mora is before a bar.
-\grecreatedim{moraadjustmentbar}{0.050 cm}{scalable}%
+\gre@createdim{moraadjustmentbar}{0.050 cm}{scalable}%
% space after punctum mora and augmentum duplex
-\grecreatedim{spaceaftersigns}{0.08203 cm plus 0.0082 cm minus 0.0082 cm}{scalable}%
+\gre@createdim{spaceaftersigns}{0.08203 cm plus 0.0082 cm minus 0.0082 cm}{scalable}%
% space after a clef at the beginning of a line
-\grecreatedim{spaceafterlineclef}{0.23 cm plus 0 cm minus 0.01367 cm}{scalable}%
+\gre@createdim{spaceafterlineclef}{0.23 cm plus 0 cm minus 0.01367 cm}{scalable}%
% space after a clef at the beginning of a line, when the clef and first note are vertically distant
-\grecreatedim{shortspaceafterlineclef}{0.18 cm plus 0 cm minus 0.01367 cm}{scalable}%
+\gre@createdim{shortspaceafterlineclef}{0.18 cm plus 0 cm minus 0.01367 cm}{scalable}%
% minimal space between notes of different words
-\grecreatedim{interwordspacenotes}{0.29 cm plus 0.05 cm minus 0.05 cm}{scalable}%
+\gre@createdim{interwordspacenotes}{0.29 cm plus 0.05 cm minus 0.05 cm}{scalable}%
% minimal space between notes of the same syllable.
-\grecreatedim{intersyllablespacenotes}{0.24 cm}{scalable}%
+\gre@createdim{intersyllablespacenotes}{0.24 cm}{scalable}%
% stretching added in the case where the text of two syllables of the same word are
% separated with an automatic hyphen
-\grecreatedim{intersyllablespacestretchhyphen}{0cm plus 0.05cm}{scalable}%
+\gre@createdim{intersyllablespacestretchhyphen}{0cm plus 0.05cm}{scalable}%
% minimal space between letters of different words.
-\grecreatedim{interwordspacetext}{0.17 cm plus 0.05 cm minus 0.05 cm}{scalable}%
+\gre@createdim{interwordspacetext}{0.17 cm plus 0.05 cm minus 0.05 cm}{scalable}%
% Versions of interword spaces for euouae blocks
-\grecreatedim{interwordspacenotes@euouae}{0.23 cm plus 0.1 cm minus 0.05 cm}{scalable}%
-\grecreatedim{interwordspacetext@euouae}{0.21 cm plus 0.1 cm minus 0.05 cm}{scalable}%
+\gre@createdim{interwordspacenotes@euouae}{0.23 cm plus 0.1 cm minus 0.05 cm}{scalable}%
+\gre@createdim{interwordspacetext@euouae}{0.21 cm plus 0.1 cm minus 0.05 cm}{scalable}%
% versions of note spaces when the first note of the second syllable is an alteration
% those are used in euouae blocks
-\grecreatedim{interwordspacenotes@alteration}{0.1 cm plus 0.07 cm minus 0.01 cm}{scalable}%
-\grecreatedim{intersyllablespacenotes@alteration}{0.1 cm}{scalable}%
+\gre@createdim{interwordspacenotes@alteration}{0.1 cm plus 0.07 cm minus 0.01 cm}{scalable}%
+\gre@createdim{intersyllablespacenotes@alteration}{0.1 cm}{scalable}%
% space between notes of a bivirga or trivirga
-\grecreatedim{bitrivirspace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
+\gre@createdim{bitrivirspace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
% space between notes of a bistropha or tristrophae
-\grecreatedim{bitristrospace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
+\gre@createdim{bitristrospace}{0.06927 cm plus 0.00182 cm minus 0.00546 cm}{scalable}%
%
%%%%%%%%%%%%%%%%%%%%
% puncta inclinata %
%%%%%%%%%%%%%%%%%%%%
%
% space between two descending punctum inclinatum
-\grecreatedim{punctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{punctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between two descending or ascending punctum inclinatum at the unison
-\grecreatedim{punctuminclinatumunisonshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+\gre@createdim{punctuminclinatumunisonshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
% space before descending puncta inclinata
-\grecreatedim{beforepunctainclinatashift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+\gre@createdim{beforepunctainclinatashift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
% space between a descending punctum inclinatum and a punctum inclinatum deminutus
-\grecreatedim{punctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{punctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between two punctum inclinatum deminutus
-\grecreatedim{punctuminclinatumdebilisshift}{-0.00728 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{punctuminclinatumdebilisshift}{-0.00728 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between descending puncta inclinata, larger ambitus (range=3rd)
-\grecreatedim{punctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{punctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between descending puncta inclinata, larger ambitus (range=4th or 5th)
-\grecreatedim{punctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{punctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between two ascending punctum inclinatum
-\grecreatedim{ascendingpunctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{ascendingpunctuminclinatumshift}{-0.03918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between a punctum inclinatum and a punctum inclinatum deminutus, ascending
-\grecreatedim{ascendingpunctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{ascendingpunctuminclinatumanddebilisshift}{-0.02278 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between ascending puncta inclinata, larger ambitus (range=3rd)
-\grecreatedim{ascendingpunctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{ascendingpunctuminclinatumbigshift}{0.07565 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between ascending puncta inclinata, larger ambitus (range=4th or 5th)
-\grecreatedim{ascendingpunctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{ascendingpunctuminclinatummaxshift}{0.17865 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph one pitch below
-\grecreatedim{descendinginclinatumtonobarshift}{-0.00073 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{descendinginclinatumtonobarshift}{-0.00073 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph two pitches below
-\grecreatedim{descendinginclinatumtonobarbigshift}{0.10927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{descendinginclinatumtonobarbigshift}{0.10927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph three or four pitches below
-\grecreatedim{descendinginclinatumtonobarmaxshift}{0.23927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{descendinginclinatumtonobarmaxshift}{0.23927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph one pitch above
-\grecreatedim{ascendinginclinatumtonobarshift}{-0.02473 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{ascendinginclinatumtonobarshift}{-0.02473 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph two pitches above
-\grecreatedim{ascendinginclinatumtonobarbigshift}{0.04427 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{ascendinginclinatumtonobarbigshift}{0.04427 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between a punctum inclinatum and a no-bar glyph three or four pitches above
-\grecreatedim{ascendinginclinatumtonobarmaxshift}{0.12927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
+\gre@createdim{ascendinginclinatumtonobarmaxshift}{0.12927 cm plus 0.00363 cm minus 0.00363 cm}{scalable}%
% space between two descending punctum inclinatum glyphs in an ascent
-\grecreatedim{descendingpunctuminclinatumascendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{descendingpunctuminclinatumascendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between two ascending punctum inclinatum glyphs in an descent
-\grecreatedim{ascendingpunctuminclinatumdescendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{ascendingpunctuminclinatumdescendingshift}{-0.07918 cm plus 0.0009 cm minus 0.0009 cm}{scalable}%
% space between two unison punctum inclinatum glyphs (at the unison)
-\grecreatedim{unisonpunctuminclinatumshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
+\gre@createdim{uprightpunctuminclinatumshift}{0.05286 cm plus 0.00728 cm minus 0.00455 cm}{scalable}%
%
%%%%%%%%
@@ -213,118 +220,130 @@
%
% bars inside syllables
%
-\grecreatedim{bar@virgula}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
% short versions are when the notes are very low (virgula, minima, and minimis only)
-\grecreatedim{bar@virgula@short}{0.13 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@minimis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@minimis@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@minima}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@minima@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@minor}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@virgula}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@virgula@short}{0.13 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@virgulaparen}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@virgulaparen@short}{0.13 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minimis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minimis@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minima}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minima@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minimaparen}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minimaparen@short}{0.12 cm plus 0.05 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@minor}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
% dominican bars
-\grecreatedim{bar@dominican}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@maior}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
-\grecreatedim{bar@finalis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@dominican}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@maior}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
+\gre@createdim{bar@finalis}{0.1823 cm plus 0.22787 cm minus 0.00469 cm}{scalable}%
% space added before the final divisio finalis (old bar spacing algorithm only)
-\grecreatedim{bar@finalfinalis}{0.29169 cm plus 0.07292 cm minus 0.27345 cm}{scalable}%
+\gre@createdim{bar@finalfinalis}{0.29169 cm plus 0.07292 cm minus 0.27345 cm}{scalable}%
%
% bars having their own syllable, with text associated (new bar spacing algorithm only)
% plus or minus here will trigger some problems
%
-\grecreatedim{bar@virgula@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@virgula@standalone@text@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minimis@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@minimis@standalone@text@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minima@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@minima@standalone@text@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minor@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@dominican@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@maior@standalone@text}{0.2323 cm}{scalable}%
-\grecreatedim{bar@finalis@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@virgula@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@virgula@standalone@text@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minimis@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@minimis@standalone@text@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@virgulaparen@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@virgulaparen@standalone@text@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minima@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@minima@standalone@text@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minor@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@dominican@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@maior@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@finalis@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@minimaparen@standalone@text}{0.2323 cm}{scalable}%
+\gre@createdim{bar@minimaparen@standalone@text@short}{0.19 cm}{scalable}%
% actual space before divisio finalis, not additional one
-\grecreatedim{bar@finalfinalis@standalone@text}{0.29169 cm}{scalable}%
+\gre@createdim{bar@finalfinalis@standalone@text}{0.29169 cm}{scalable}%
%
% bars having their own syllable, with no text associated (new bar spacing algorithm only)
%
-\grecreatedim{bar@virgula@standalone@notext}{0.2 cm}{scalable}%
-\grecreatedim{bar@virgula@standalone@notext@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minimis@standalone@notext}{0.2 cm}{scalable}%
-\grecreatedim{bar@minimis@standalone@notext@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minima@standalone@notext}{0.2 cm}{scalable}%
-\grecreatedim{bar@minima@standalone@notext@short}{0.19 cm}{scalable}%
-\grecreatedim{bar@minor@standalone@notext}{0.2323 cm}{scalable}%
-\grecreatedim{bar@dominican@standalone@notext}{0.2323 cm}{scalable}%
-\grecreatedim{bar@maior@standalone@notext}{0.2323 cm}{scalable}%
-\grecreatedim{bar@finalis@standalone@notext}{0.2323 cm}{scalable}%
-\grecreatedim{bar@finalfinalis@standalone@notext}{0.29169 cm}{scalable}%
+\gre@createdim{bar@virgula@standalone@notext}{0.2 cm}{scalable}%
+\gre@createdim{bar@virgula@standalone@notext@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minimis@standalone@notext}{0.2 cm}{scalable}%
+\gre@createdim{bar@minimis@standalone@notext@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@virgulaparen@standalone@notext}{0.2 cm}{scalable}%
+\gre@createdim{bar@virgulaparen@standalone@notext@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minima@standalone@notext}{0.2 cm}{scalable}%
+\gre@createdim{bar@minima@standalone@notext@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@minor@standalone@notext}{0.2323 cm}{scalable}%
+\gre@createdim{bar@dominican@standalone@notext}{0.2323 cm}{scalable}%
+\gre@createdim{bar@maior@standalone@notext}{0.2323 cm}{scalable}%
+\gre@createdim{bar@finalis@standalone@notext}{0.2323 cm}{scalable}%
+\gre@createdim{bar@minimaparen@standalone@notext}{0.2 cm}{scalable}%
+\gre@createdim{bar@minimaparen@standalone@notext@short}{0.19 cm}{scalable}%
+\gre@createdim{bar@finalfinalis@standalone@notext}{0.29169 cm}{scalable}%
%
% minimal space between letters of different syllable texts for text around bars
% (new bar spacing algorithm only)
-\grecreatedim{interwordspacetext@bars}{0.18 cm}{scalable}%
+\gre@createdim{interwordspacetext@bars}{0.18 cm}{scalable}%
% minimal space between letters of different syllable texts for text around bars,
% euouae context
-\grecreatedim{interwordspacetext@bars@euouae}{0.18 cm}{scalable}%
-\grecreatedim{interwordspacetext@bars@notext}{0.19 cm}{scalable}%
+\gre@createdim{interwordspacetext@bars@euouae}{0.18 cm}{scalable}%
+\gre@createdim{interwordspacetext@bars@notext}{0.19 cm}{scalable}%
% minimal space between letters of different syllable texts for text around bars,
% euouae context
-\grecreatedim{interwordspacetext@bars@notext@euouae}{0.18 cm}{scalable}%
+\gre@createdim{interwordspacetext@bars@notext@euouae}{0.18 cm}{scalable}%
% rubber length that will be added around bars in new bar spacing algorithm
-\grecreatedim{bar@rubber}{0 cm plus 0.025 cm minus 0.025 cm}{scalable}%
+\gre@createdim{bar@rubber}{0 cm plus 0.025 cm minus 0.025 cm}{scalable}%
% in the case of an alteration after a bar, the alteration will "protrude" left of this value
% think of it as some kind of moraadjustmentbar
-\grecreatedim{alterationadjustmentbar}{0.07 cm}{scalable}%
+\gre@createdim{alterationadjustmentbar}{0.07 cm}{scalable}%
% additional space that will appear around bars that are preceded by a custos and followed by a key.
-\grecreatedim{spacearoundclefbars}{0.03645 cm plus 0.00455 cm minus 0.0009 cm}{scalable}%
+\gre@createdim{spacearoundclefbars}{0.03645 cm plus 0.00455 cm minus 0.0009 cm}{scalable}%
% space between the text of previous syllable and text associated with a bar (old bar spacing algorithm only)
-\grecreatedim{textbartextspace}{0.24611 cm plus 0.13672 cm minus 0.04921 cm}{scalable}%
+\gre@createdim{textbartextspace}{0.24611 cm plus 0.13672 cm minus 0.04921 cm}{scalable}%
% minimal space between a note and a bar (old algorithm only)
-\grecreatedim{notebarspace}{0.31903 cm plus 0.27345 cm minus 0.02824 cm}{scalable}%
+\gre@createdim{notebarspace}{0.31903 cm plus 0.27345 cm minus 0.02824 cm}{scalable}%
% Maximum offset between a bar and its associated text when the text goes left of the bar (new bar spacing algorithm only)
-\grecreatedim{maxbaroffsettextleft}{0.3 cm}{scalable}%
+\gre@createdim{maxbaroffsettextleft}{0.3 cm}{scalable}%
% Same as maxbaroffsettextleft when text goes right of the bar
-\grecreatedim{maxbaroffsettextright}{0.15 cm}{scalable}%
+\gre@createdim{maxbaroffsettextright}{0.15 cm}{scalable}%
% Maximum offset between a no-bar (i.e. something like `text()` in gabc) and its associated text when the text goes left of the no-bar (new bar spacing algorithm only)
-\grecreatedim{maxbaroffsettextleft@nobar}{12 cm}{scalable}%
+\gre@createdim{maxbaroffsettextleft@nobar}{12 cm}{scalable}%
% Same as maxbaroffsettextleft@nobar when text goes right of the no-bar
-\grecreatedim{maxbaroffsettextright@nobar}{12 cm}{scalable}%
+\gre@createdim{maxbaroffsettextright@nobar}{12 cm}{scalable}%
% Space between the two bars of a divisio finalis
% Maximum offset between a bar and its associated text when the text goes left of the bar and the bar terminates a line (i.e. something line `text(::z)` in gabc) (new bar spacing algorithm only)
-\grecreatedim{maxbaroffsettextleft@eol}{0.0 cm}{scalable}%
+\gre@createdim{maxbaroffsettextleft@eol}{0.0 cm}{scalable}%
% Same as maxbaroffsettextleft@eol when text goes right of the bar
-\grecreatedim{maxbaroffsettextright@eol}{0 cm}{scalable}%
-\grecreatedim{divisiofinalissep}{0.1094 cm}{scalable}%
+\gre@createdim{maxbaroffsettextright@eol}{0 cm}{scalable}%
+\gre@createdim{divisiofinalissep}{0.1094 cm}{scalable}%
%
%
% maximal space between two syllables for which we consider a dash is not needed
-\grecreatedim{maximumspacewithoutdash}{0 cm}{scalable}%
+\gre@createdim{maximumspacewithoutdash}{0 cm}{scalable}%
% an extensible space for the beginning of lines
-\grecreatedim{afterclefnospace}{0 cm plus 0.27345 cm minus 0 cm}{scalable}%
+\gre@createdim{afterclefnospace}{0 cm plus 0.27345 cm minus 0 cm}{scalable}%
% space between the initial and the beginning of the score
-\grecreatedim{afterinitialshift}{0.2 cm}{scalable}%
+\gre@createdim{afterinitialshift}{0.2 cm}{scalable}%
% space before the initial
-\grecreatedim{beforeinitialshift}{0.2 cm}{scalable}%
+\gre@createdim{beforeinitialshift}{0.2 cm}{scalable}%
% when bolshifts are enabled, minimum space between beginning of line and first syllable text
-\grecreatedim{minimalspaceatlinebeginning}{0.05 cm}{scalable}%
+\gre@createdim{minimalspaceatlinebeginning}{0.05 cm}{scalable}%
% space to force the initial width to. Ignored when 0.
-\grecreatedim{manualinitialwidth}{0 cm}{scalable}%
+\gre@createdim{manualinitialwidth}{0 cm}{scalable}%
% minimum width of the initial. Ignored when manualinitialwidth is non-zero.
-\grecreatedim{minimalinitialwidth}{0 cm}{scalable}%
+\gre@createdim{minimalinitialwidth}{0 cm}{scalable}%
% distance to move the initial up by
-\grecreatedim{initialraise}{0 cm}{scalable}%
+\gre@createdim{initialraise}{0 cm}{scalable}%
% Space between lines in the annotation
-\grecreatedim{annotationseparation}{0.05 cm}{scalable}%
+\gre@createdim{annotationseparation}{0.05 cm}{scalable}%
% Amount to raise (positive) or lower (negative) the annotations from the default position
-\grecreatedim{annotationraise}{-0.2 cm}{scalable}%
+\gre@createdim{annotationraise}{-0.2 cm}{scalable}%
% Space between lines in the commentary
-\grecreatedim{commentaryseparation}{0.05 cm}{scalable}%
+\gre@createdim{commentaryseparation}{0.05 cm}{scalable}%
% Amount to raise (positive) or lower (negative) the commentary from the default position (base line of bottom commentary aligned with top line of staff)
-\grecreatedim{commentaryraise}{0.2 cm}{scalable}%
+\gre@createdim{commentaryraise}{0.2 cm}{scalable}%
% space at the beginning of the lines if there is no clef
-\grecreatedim{noclefspace}{0.1 cm}{scalable}%
+\gre@createdim{noclefspace}{0.1 cm}{scalable}%
% space around a clef change
-\grecreatedim{clefchangespace}{0.27345 cm plus 0.14584 cm minus 0.01367 cm}{scalable}%
+\gre@createdim{clefchangespace}{0.27345 cm plus 0.14584 cm minus 0.01367 cm}{scalable}%
% When \gre@clivisalignment is 2, this distance is the maximum length of the consonants after vowels for which the clivis will be aligned on its center.
-\grecreatedim{clivisalignmentmin}{0.3 cm}{scalable}%
+\gre@createdim{clivisalignmentmin}{0.3 cm}{scalable}%
%%%%%%%%%%%%%%%%%%
% vertical spaces
@@ -335,15 +354,15 @@
% it's on a line or in a space
% (b) high choral signs and low choral signs that are lower than the note which
% are in a space
-\grecreatedim{choralsigndownshift}{0.00911 cm}{scalable}%
+\gre@createdim{choralsigndownshift}{0.00911 cm}{scalable}%
% the amount to shift up:
% (a) high choral signs and low choral signs that are lower than the note which
% are on a line
-\grecreatedim{choralsignupshift}{0.04556 cm}{scalable}%
+\gre@createdim{choralsignupshift}{0.04556 cm}{scalable}%
% the space for the translation
-\grecreatedim{translationheight}{0.5 cm}{scalable}%
+\gre@createdim{translationheight}{0.5 cm}{scalable}%
%the space above the lines
-\grecreatedim{spaceabovelines}{0 cm}{scalable}%
+\gre@createdim{spaceabovelines}{0 cm}{scalable}%
% this counter is the threshold above which we start accounting notes above
% lines for additional space above lines. For instance with a threshold of
% 2 and a staff of 4 lines, notes with a pitch of k and l will not interfere
@@ -354,64 +373,64 @@
% same, for notes taken into account for nabc vertical position
\grechangecount{additionaltopspacenabcthreshold}{4}%
%the space between the lines and the bottom of the text
-\grecreatedim{spacelinestext}{0.60617 cm}{scalable}%
+\gre@createdim{spacelinestext}{3.48471ex}{fixed}%
%the per-note additional space between lines and the bottom of the text
-\grecreatedim{noteadditionalspacelinestext}{0.14413 cm}{scalable}%
+\gre@createdim{noteadditionalspacelinestext}{0.14413 cm}{scalable}%
% this counter is the number of low notes which will add on the
% noteadditionalspacelinestext. For instance, with a threshold of 2, every
% note below c will add noteadditionalspacelinestext space for each pitch needed
% below c, accounting for the various signs.
\grechangecount{noteadditionalspacelinestextthreshold}{2}%
%the space beneath the text
-\grecreatedim{spacebeneathtext}{0 cm}{scalable}%
+\gre@createdim{spacebeneathtext}{0 cm}{scalable}%
% height of the text above the note line
-\grecreatedim{abovelinestextraise}{-0.1 cm}{scalable}%
+\gre@createdim{abovelinestextraise}{-0.1 cm}{scalable}%
% height that is added at the top of the lines if there is text above the lines (it must be bigger than the text for it to be taken into consideration)
-\grecreatedim{abovelinestextheight}{0.3 cm}{scalable}%
+\gre@createdim{abovelinestextheight}{0.3 cm}{scalable}%
% an additional shift you can give to the brace above the bars if you don't like it
-\grecreatedim{braceshift}{0 cm}{scalable}%
+\gre@createdim{braceshift}{0 cm}{scalable}%
% a shift you can give to the accentus above the curly brace
-\grecreatedim{curlybraceaccentusshift}{-0.05 cm}{scalable}%
+\gre@createdim{curlybraceaccentusshift}{-0.05 cm}{scalable}%
% the amount to shift the over slur up
-\grecreatedim{overslurshift}{0.05000 cm}{scalable}%
+\gre@createdim{overslurshift}{0.05000 cm}{scalable}%
% the amount to shift the under slur up
-\grecreatedim{underslurshift}{0.01000 cm}{scalable}%
+\gre@createdim{underslurshift}{0.01000 cm}{scalable}%
% shift for a horizontal episema over a note in a low position in the space
-\grecreatedim{overhepisemalowshift}{0.02287 cm}{scalable}%
+\gre@createdim{overhepisemalowshift}{0.02287 cm}{scalable}%
% shift for a horizontal episema over a note in a high position in the space
-\grecreatedim{overhepisemahighshift}{0.10066 cm}{scalable}%
+\gre@createdim{overhepisemahighshift}{0.10066 cm}{scalable}%
% shift for a horizontal episema under a note in a low position in the space
-\grecreatedim{underhepisemalowshift}{0.02763 cm}{scalable}%
+\gre@createdim{underhepisemalowshift}{0.02763 cm}{scalable}%
% shift for a horizontal episema under a note in a high position in the space
-\grecreatedim{underhepisemahighshift}{0.10981 cm}{scalable}%
+\gre@createdim{underhepisemahighshift}{0.10981 cm}{scalable}%
% shift for a horizontal episema in the middle of a space
-\grecreatedim{hepisemamiddleshift}{0.07206 cm}{scalable}%
+\gre@createdim{hepisemamiddleshift}{0.07206 cm}{scalable}%
% shift for a vertical episema in a low position in the space
-\grecreatedim{vepisemalowshift}{-0.01262 cm}{scalable}%
+\gre@createdim{vepisemalowshift}{-0.01262 cm}{scalable}%
% shift for a vertical episema in a high position in the space
-\grecreatedim{vepisemahighshift}{0.06634 cm}{scalable}%
+\gre@createdim{vepisemahighshift}{0.06634 cm}{scalable}%
% shift for a punctum mora for a note on a line
-\grecreatedim{linepunctummorashift}{-0.06314 cm}{scalable}%
+\gre@createdim{linepunctummorashift}{-0.06314 cm}{scalable}%
% shift for a punctum mora for a note in a space
-\grecreatedim{spacepunctummorashift}{-0.02013 cm}{scalable}%
+\gre@createdim{spacepunctummorashift}{-0.02013 cm}{scalable}%
% shift for a punctum mora for the second note (in a space) of a pes with ambitus one
-\grecreatedim{spaceamonepespunctummorashift}{0.00183 cm}{scalable}%
+\gre@createdim{spaceamonepespunctummorashift}{0.00183 cm}{scalable}%
% shift for a punctum mora for the second note in a porrectus, on a line
-\grecreatedim{lineporrectuspunctummorashift}{0.04575 cm}{scalable}%
+\gre@createdim{lineporrectuspunctummorashift}{0.04575 cm}{scalable}%
% shift for a punctum mora for the second note in a porrectus, in a space
-\grecreatedim{spaceporrectuspunctummorashift}{0.00000 cm}{scalable}%
+\gre@createdim{spaceporrectuspunctummorashift}{0.00000 cm}{scalable}%
% shift for a rare sign
-\grecreatedim{raresignshift}{0.18302 cm}{scalable}%
+\gre@createdim{raresignshift}{0.18302 cm}{scalable}%
% up-shift for a bracket
-\grecreatedim{bracketupshift}{0.03000 cm}{scalable}%
+\gre@createdim{bracketupshift}{0.03000 cm}{scalable}%
% down-shift for a bracket
-\grecreatedim{bracketdownshift}{0.04000 cm}{scalable}%
+\gre@createdim{bracketdownshift}{0.04000 cm}{scalable}%
%
%%%%%%%%%%
%% Line spacings
%%%%%%%%%%
-\grecreatedim{parskip}{1pt plus 1pt}{scalable}%
-\grecreatedim{lineskip}{0pt plus 1pt}{scalable}%
-\grecreatedim{baselineskip}{55pt plus 5pt minus 5pt}{scalable}%
-\grecreatedim{lineskiplimit}{0pt}{scalable}%
+\gre@createdim{parskip}{1pt plus 1pt}{scalable}%
+\gre@createdim{lineskip}{0pt plus 1pt}{scalable}%
+\gre@createdim{baselineskip}{55pt plus 5pt minus 5pt}{scalable}%
+\gre@createdim{lineskiplimit}{0pt}{scalable}%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-main.tex b/support/gregoriotex/tex/luatex/gregoriotex-main.tex
index 95b463c90c..c7f0f93506 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-main.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-main.tex
@@ -1,6 +1,6 @@
%GregorioTeX main 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.
%
@@ -21,17 +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{5.2.1}% GREGORIO_VERSION - VersionManager.py
-
-\ifluatex%
- \ifnum\luatexversion<76%
- \gre@error{Error: this document must be compiled with LuaTeX (lualatex) 0.76 or later}%
- \fi%
-\else%
- \gre@error{Error: this document must be compiled with LuaTeX (lualatex)}%
-\fi%
-
-
+\xdef\gre@gregoriotexversion{6.0.0-beta1}% GREGORIO_VERSION - VersionManager.py
% first some macros to allow checks for version:
% Tests that all gregoriotex files are of the same version.
@@ -631,16 +621,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% macros for the score reference (unused)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-\def\grescorereference#1{% OBSOLETE
- \gre@error{\protect\grescorereference\space is obsolete.\MessageBreak It does nothing; stop using it.}%
- \relax %
-}%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for the typesetting the things above the initial
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -750,14 +730,28 @@
% - typeset the text above the lines if relevant, and making sure we execute it only once
% - not do anything else
+\newif\ifgre@showabovelinestext%
+\gre@showabovelinestexttrue%
+
+\def\gresetabovelinestext#1{%
+ \IfStrEqCase{#1}{%
+ {visible}{\gre@showabovelinestexttrue}%
+ {invisible}{\gre@showabovelinestextfalse}%
+ }[% all other cases
+ \gre@error{Unknown option, "#1" for \protect\gresetabovelinestext\MessageBreak Possible options are: 'visible' and 'invisible'}%
+ ]%
+}%
+
\xdef\gre@currenttextabovelines{}%
\def\GreSetTextAboveLines#1{%
- \gdef\gre@currenttextabovelines{%
- \gre@typesettextabovelines{#1}{0}%
- \gdef\gre@currenttextabovelines{}%
- \relax %
- }%
+ \ifgre@showabovelinestext%
+ \gdef\gre@currenttextabovelines{%
+ \gre@typesettextabovelines{#1}{0}%
+ \gdef\gre@currenttextabovelines{}%
+ \relax %
+ }%
+ \fi%
}%
% typesets the text or nabc neumes above the line
@@ -1037,37 +1031,55 @@
]%
}%
+\newif\ifgre@showtranslation%
+\gre@showtranslationtrue%
+
+\def\gresettranslation#1{%
+ \IfStrEqCase{#1}{%
+ {visible}{\gre@showtranslationtrue}%
+ {invisible}{\gre@showtranslationfalse}%
+ }[% all other cases
+ \gre@error{Unknown option, "#1" for \protect\gresettranslation\MessageBreak Possible options are: 'visible' and 'invisible'}%
+ ]%
+}%
+
\def\GreWriteTranslation#1{%
- \ifgre@translationcentering %
- \setbox\gre@box@temp@width=\hbox{#1}%
- \gre@dimen@temp@five=\dimexpr((\wd\gre@box@syllabletext - \wd\gre@box@temp@width) / 2)\relax%
- \gre@mark@translation %
- \kern\gre@dimen@temp@five %
- \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}}%
- \kern-\gre@dimen@temp@five %
- \else %
- \gre@mark@translation %
- \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}}%
- \fi %
+ \ifgre@showtranslation%
+ \ifgre@translationcentering %
+ \setbox\gre@box@temp@width=\hbox{#1}%
+ \gre@dimen@temp@five=\dimexpr((\wd\gre@box@syllabletext - \wd\gre@box@temp@width) / 2)\relax%
+ \gre@mark@translation %
+ \kern\gre@dimen@temp@five %
+ \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}}%
+ \kern-\gre@dimen@temp@five %
+ \else %
+ \gre@mark@translation %
+ \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}}%
+ \fi %
+ \fi%
}%
\def\GreWriteTranslationWithCenterBeginning#1{%
- \ifgre@breakintranslation\else%
- \GreBeginNLBArea{0}{1}%
- \fi %
- \gre@attr@center=1\relax %
- \gre@mark@translation %
- \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\kern 0pt\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}\kern 0pt}%
- \unsetluatexattribute{\gre@attr@center}%
- \relax %
+ \ifgre@showtranslation%
+ \ifgre@breakintranslation\else%
+ \GreBeginNLBArea{0}{1}%
+ \fi %
+ \gre@attr@center=1\relax %
+ \gre@mark@translation %
+ \raise\gre@space@dimen@spacebeneathtext\hbox to 0pt{\kern 0pt\vbox to 0pt{\vss\hbox to 0pt{\gre@style@translation#1\endgre@style@translation\hss}}\kern 0pt}%
+ \unsetluatexattribute{\gre@attr@center}%
+ \relax %
+ \fi%
}%
\newif\ifgre@mustdotranslationcenterend%
\gre@mustdotranslationcenterendfalse%
\def\GreTranslationCenterEnd{%
- \gre@mustdotranslationcenterendtrue%
- \relax %
+ \ifgre@showtranslation%
+ \gre@mustdotranslationcenterendtrue%
+ \relax %
+ \fi%
}%
\def\gre@dotranslationcenterend{%
@@ -1114,6 +1126,19 @@
]%
}%
+\newif\ifgre@noteadditionalspacelinestext%
+\def\gresetnoteadditionalspacelinestext#1{%
+ \IfStrEqCase{#1}{%
+ {automatic}%
+ {\gre@noteadditionalspacelinestextfalse}%
+ {manual}%
+ {\gre@noteadditionalspacelinestexttrue}%
+ }[% all other cases
+ \gre@error{Unrecognized option "#1" for \protect\gresetnoteadditionalspacelinestext\MessageBreak Possible options are: 'automatic' and 'manual'}%
+ ]%
+}%
+\gresetnoteadditionalspacelinestext{automatic}%default setting
+
% 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%
@@ -1136,10 +1161,14 @@
\let\gre@pitch@overbrace\gre@pitch@i %
\let\gre@char@bar@virgula\GreCPVirgulaTwo %
\let\gre@char@bar@virgulahigh\GreCPVirgulaThree %
+ \let\gre@char@bar@virgulaparen\GreCPVirgulaParenTwo %
+ \let\gre@char@bar@virgulaparenhigh\GreCPVirgulaParenThree %
\let\gre@char@bar@divisiominimis\GreCPDivisioMinimisTwo %
\let\gre@char@bar@divisiominimishigh\GreCPDivisioMinimisThree %
\let\gre@char@bar@divisiominima\GreCPDivisioMinimaTwo %
\let\gre@char@bar@divisiominimahigh\GreCPDivisioMinimaThree %
+ \let\gre@char@bar@divisiominimaparen\GreCPDivisioMinimaParenTwo %
+ \let\gre@char@bar@divisiominimaparenhigh\GreCPDivisioMinimaParenThree %
\let\gre@char@bar@divisiominor\GreCPDivisioMinorTwo %
\let\gre@char@bar@divisiomaior\GreCPDivisioMaiorTwo %
\let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedTwo %
@@ -1155,10 +1184,14 @@
\let\gre@pitch@overbrace\gre@pitch@k %
\let\gre@char@bar@virgula\GreCPVirgulaThree %
\let\gre@char@bar@virgulahigh\GreCPVirgulaFour %
+ \let\gre@char@bar@virgulaparen\GreCPVirgulaParenThree %
+ \let\gre@char@bar@virgulaparenhigh\GreCPVirgulaParenFour %
\let\gre@char@bar@divisiominimis\GreCPDivisioMinimisThree %
\let\gre@char@bar@divisiominimishigh\GreCPDivisioMinimisFour %
\let\gre@char@bar@divisiominima\GreCPDivisioMinimaThree %
\let\gre@char@bar@divisiominimahigh\GreCPDivisioMinimaFour %
+ \let\gre@char@bar@divisiominimaparen\GreCPDivisioMinimaParenThree %
+ \let\gre@char@bar@divisiominimaparenhigh\GreCPDivisioMinimaParenFour %
\let\gre@char@bar@divisiominor\GreCPDivisioMinorThree %
\let\gre@char@bar@divisiomaior\GreCPDivisioMaiorThree %
\let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedThree %
@@ -1174,10 +1207,14 @@
\let\gre@pitch@overbrace\gre@pitch@m %
\let\gre@char@bar@virgula\GreCPVirgulaFour %
\let\gre@char@bar@virgulahigh\GreCPVirgulaFive %
+ \let\gre@char@bar@virgulaparen\GreCPVirgulaParenFour %
+ \let\gre@char@bar@virgulaparenhigh\GreCPVirgulaParenFive %
\let\gre@char@bar@divisiominimis\GreCPDivisioMinimisFour %
\let\gre@char@bar@divisiominimishigh\GreCPDivisioMinimisFive %
\let\gre@char@bar@divisiominima\GreCPDivisioMinimaFour %
\let\gre@char@bar@divisiominimahigh\GreCPDivisioMinimaFive %
+ \let\gre@char@bar@divisiominimaparen\GreCPDivisioMinimaParenFour %
+ \let\gre@char@bar@divisiominimaparenhigh\GreCPDivisioMinimaParenFive %
\let\gre@char@bar@divisiominor\GreCPDivisioMinorFour %
\let\gre@char@bar@divisiomaior\GreCPDivisioMaiorFour %
\let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedFour %
@@ -1193,10 +1230,14 @@
\let\gre@pitch@overbrace\gre@pitch@p %
\let\gre@char@bar@virgula\GreCPVirgulaFive %
\let\gre@char@bar@virgulahigh\GreCPVirgulaSix %
+ \let\gre@char@bar@virgulaparen\GreCPVirgulaParenFive %
+ \let\gre@char@bar@virgulaparenhigh\GreCPVirgulaParenSix %
\let\gre@char@bar@divisiominimis\GreCPDivisioMinimisFive %
\let\gre@char@bar@divisiominimishigh\GreCPDivisioMinimisSix %
\let\gre@char@bar@divisiominima\GreCPDivisioMinimaFive %
\let\gre@char@bar@divisiominimahigh\GreCPDivisioMinimaSix %
+ \let\gre@char@bar@divisiominimaparen\GreCPDivisioMinimaParenFive %
+ \let\gre@char@bar@divisiominimaparenhigh\GreCPDivisioMinimaParenSix %
\let\gre@char@bar@divisiominor\GreCPDivisioMinorFive %
\let\gre@char@bar@divisiomaior\GreCPDivisioMaiorFive %
\let\gre@char@bar@divisiomaiordotted\GreCPDivisioMaiorDottedFive %
@@ -1242,8 +1283,6 @@
\gre@computespaces%
\gre@cancelpenalties %
\gre@attr@dash=0\relax %
- \xdef\gre@exhyphencharsave{\the\exhyphenchar}%
- \exhyphenchar=-1\relax %
\gre@generatelines %
\noindent%
\gre@calculate@additionalspaces{#2}{#3}{#4}{#5}%
@@ -1294,7 +1333,6 @@
\gre@removetranslationspace %
\gre@normalinitial %
\gre@restorepenalties %
- \exhyphenchar=\gre@exhyphencharsave %
\gre@dimen@temp@one=0pt\relax%
\gre@dimen@temp@two=0pt\relax%
\gre@dimen@temp@three=0pt\relax%
@@ -1547,6 +1585,10 @@
%% 20: space between a punctum inclinatum and a "no-bar" glyph two pitches above
%% 21: space between a punctum inclinatum and a "no-bar" glyph three or four pitches above
%% 22: half-space
+%% 23: Space between two puncta inclinata on a unison
+%% 24: Space before a right-leaning puncta inclinatum when the pitch is ascending (up to 4 pitches away)
+%% 25: Space before a left-leaning puncta inclinatum when the pitch is descending (up to 4 pitches away)
+%% 26: Space after after a non-punctum inclinatum and before the upright punctum inclinatum
\def\gre@get@spaceskip#1{%
\gre@trace{gre@get@spaceskip{#1}}%
\ifcase#1%
@@ -1602,7 +1644,7 @@
\or% case 25
\gre@skip@temp@four = \gre@space@skip@ascendingpunctuminclinatumdescendingshift\relax%
\or% case 26
- \gre@skip@temp@four = \gre@space@skip@unisonpunctuminclinatumshift\relax%
+ \gre@skip@temp@four = \gre@space@skip@uprightpunctuminclinatumshift\relax%
\else%
\gre@error{Unrecognized spaceskip #1}%
\fi%
@@ -1625,13 +1667,13 @@
% 2: no line break area due to <nlba> tag
\xdef\gre@nlbstate{0}%
-\newcount\gre@nobreakpenaltysave%
-\newcount\gre@endofwordpenaltysave%
-\newcount\gre@endofsyllablepenaltysave%
-\newcount\gre@endafterbarpenaltysave%
-\newcount\gre@endafterbaraltpenaltysave%
-\newcount\gre@endofelementpenaltysave%
-%\newcount\gre@hyphenpenaltysave% in gregoriotex-spaces.tex
+\newcount\gre@saved@prenlba@nobreakpenalty%
+\newcount\gre@saved@prenlba@endofwordpenalty%
+\newcount\gre@saved@prenlba@endofsyllablepenalty%
+\newcount\gre@saved@prenlba@endafterbarpenalty%
+\newcount\gre@saved@prenlba@endafterbaraltpenalty%
+\newcount\gre@saved@prenlba@endofelementpenalty%
+\newcount\gre@saved@prenlba@hyphenpenalty%
% first argument is if if the nlba is starting in neumes or not
% second argument is if it is called from translation centering or not
\def\GreBeginNLBArea#1#2{%
@@ -1648,20 +1690,25 @@
\fi %
\fi %
\ifnum\gre@nlbinitialstate=0\relax %
- \global\gre@nobreakpenaltysave=\gre@space@count@nobreakpenalty\relax %
- \global\gre@endofwordpenaltysave=\gre@space@count@endofwordpenalty\relax %
- \global\gre@endofsyllablepenaltysave=\gre@space@count@endofsyllablepenalty\relax %
- \global\gre@endafterbarpenaltysave=\gre@space@count@endafterbarpenalty\relax %
- \global\gre@endafterbaraltpenaltysave=\gre@space@count@endafterbaraltpenalty\relax %
- \global\gre@endofelementpenaltysave=\gre@space@count@endofelementpenalty\relax %
- \global\gre@hyphenpenaltysave=\gre@space@count@hyphenpenalty\relax %
- %
+ \global\gre@saved@prenlba@nobreakpenalty=\gre@space@count@nobreakpenalty\relax %
\global\gre@space@count@nobreakpenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@endofwordpenalty=\gre@space@count@endofwordpenalty\relax %
\global\gre@space@count@endofwordpenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@endofsyllablepenalty=\gre@space@count@endofsyllablepenalty\relax %
\global\gre@space@count@endofsyllablepenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@endafterbarpenalty=\gre@space@count@endafterbarpenalty\relax %
\global\gre@space@count@endafterbarpenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@endafterbaraltpenalty=\gre@space@count@endafterbaraltpenalty\relax %
\global\gre@space@count@endafterbaraltpenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@endofelementpenalty=\gre@space@count@endofelementpenalty\relax %
\global\gre@space@count@endofelementpenalty=10001\relax %
+ %
+ \global\gre@saved@prenlba@hyphenpenalty=\gre@space@count@hyphenpenalty\relax %
\global\gre@space@count@hyphenpenalty=10001\relax %
\fi %
}%
@@ -1682,13 +1729,13 @@
% if gre@nlbstate is not 0, then nothing should happend
\ifnum\gre@nlbstate=0\relax %
\ifnum\gre@nlbinitialstate=0\else %
- \global\gre@space@count@nobreakpenalty=\gre@nobreakpenaltysave\relax %
- \global\gre@space@count@endofwordpenalty=\gre@endofwordpenaltysave\relax %
- \global\gre@space@count@endofsyllablepenalty=\gre@endofsyllablepenaltysave\relax %
- \global\gre@space@count@endafterbarpenalty=\gre@endafterbarpenaltysave\relax %
- \global\gre@space@count@endafterbaraltpenalty=\gre@endafterbaraltpenaltysave\relax %
- \global\gre@space@count@endofelementpenalty=\gre@endofelementpenaltysave\relax %
- \global\gre@space@count@hyphenpenalty=\gre@hyphenpenaltysave\relax %
+ \global\gre@space@count@nobreakpenalty=\gre@saved@prenlba@nobreakpenalty\relax %
+ \global\gre@space@count@endofwordpenalty=\gre@saved@prenlba@endofwordpenalty\relax %
+ \global\gre@space@count@endofsyllablepenalty=\gre@saved@prenlba@endofsyllablepenalty\relax %
+ \global\gre@space@count@endafterbarpenalty=\gre@saved@prenlba@endafterbarpenalty\relax %
+ \global\gre@space@count@endafterbaraltpenalty=\gre@saved@prenlba@endafterbaraltpenalty\relax %
+ \global\gre@space@count@endofelementpenalty=\gre@saved@prenlba@endofelementpenalty\relax %
+ \global\gre@space@count@hyphenpenalty=\gre@saved@prenlba@hyphenpenalty\relax %
\ifcase #1\relax % 0
\gre@penalty{\the\gre@space@count@endofelementpenalty}%
\or % 1
@@ -1769,25 +1816,34 @@
\gre@trace@end%
}%
+%% font calibration distances
+\newdimen\gre@dimen@stafflinethicknessbase%
+\newdimen\gre@dimen@glyphraisebase%
+\newdimen\gre@dimen@interstafflinedistancebase%
+\newdimen\gre@dimen@inclinatumonlinemoravshiftbase%
+\newdimen\gre@dimen@inclinatumonlinemorahshiftbase%
+\newdimen\gre@dimen@inclinatumofflinemorahshiftbase%
+
\def\gre@setgregoriofontscaled[#1]#2#3{%
\gre@trace{gre@setgregoriofontscaled[#1]{#2}{#3}}%
- \IfStrEq{#2}{parmesan}{%%% OBSOLETE
- \gre@obsolete{'parmesan' font}{'granapadano' font}%%% OBSOLETE
- }{%%% OBSOLETE
- % keep this section
- \if\relax\detokenize{#1}\relax %
- \xdef\gre@gregoriofontname{#2}%
- \expandafter\xdef\csname gre@fontfactor@#2\endcsname{#3}%
- \gre@loadgregoriofont%
- \gdef\GreCPVirgaReversaAscendensOnDLine##1{##1}%
- \else %
- \xdef\gre@gregoriofontname{#2-#1}%
- \expandafter\xdef\csname gre@fontfactor@#2-#1\endcsname{#3}%
- \gre@loadgregoriofont%
- \gdef\GreCPVirgaReversaAscendensOnDLine##1{\GreCPVirgaReversaLongqueueAscendens}%
- \fi %
- }%%% OBSOLETE
- \relax %
+ \if\relax\detokenize{#1}\relax %
+ \xdef\gre@gregoriofontname{#2}%
+ \expandafter\xdef\csname gre@fontfactor@#2\endcsname{#3}%
+ \gre@loadgregoriofont%
+ \gdef\GreCPVirgaReversaAscendensOnDLine##1{##1}%
+ \else %
+ \xdef\gre@gregoriofontname{#2-#1}%
+ \expandafter\xdef\csname gre@fontfactor@#2-#1\endcsname{#3}%
+ \gre@loadgregoriofont%
+ \gdef\GreCPVirgaReversaAscendensOnDLine##1{\GreCPVirgaReversaLongqueueAscendens}%
+ \fi %
+ % currently all fonts use the same calibration distances
+ \gre@dimen@stafflinethicknessbase=1500sp\relax %
+ \gre@dimen@glyphraisebase=-22000sp\relax%
+ \gre@dimen@interstafflinedistancebase=30000sp\relax%
+ \gre@dimen@inclinatumonlinemoravshiftbase=4500sp\relax%
+ \gre@dimen@inclinatumonlinemorahshiftbase=3700sp\relax%
+ \gre@dimen@inclinatumofflinemorahshiftbase=2500sp\relax%
\gre@trace@end%
}%
@@ -1840,7 +1896,6 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\grechangestyle#1#2{%
- \IfStrEq{#1}{biginitial}{\gre@obsolete{biginitial style}{initial style}}{}%%% OBSOLETE
\@ifnextchar[{\gre@changestyle{#1}{#2}}{\gre@changestyle{#1}{#2}[\relax]}%
}%
@@ -1877,6 +1932,20 @@
%% score including
%%%%%%%%%%%%%%%%%%%
+
+\def\gre@maketable#1{\ifx\relax#1\else,"#1"\expandafter\gre@maketable\fi}
+
+\def\gresetgregpath#1{%
+ \def\gre@input@path{#1}%
+ \directlua{
+ gre_input_path = {""\expandafter\gre@maketable\gre@input@path\relax}
+ }
+}
+
+\ifx\gre@input@path\@undefined
+ \let\gre@input@path\input@path
+\fi
+
% Flag to track compilation behavior
% 0 = never compile (default)
% 1 = auto compile (compile outdated scores and those lacking a compiled version)
@@ -1910,6 +1979,8 @@
% This forces gregoriotex to recompile the gabc file.
\def\gre@gregorioscore#1{%
+ \begingroup%
+ \let\input@path\gre@input@path%
\ifcase\gre@compilegabc% case 0, never compile
\gre@debugmsg{compile}{Refusing to compile #1}%
\input #1%
@@ -1921,6 +1992,7 @@
\directlua{gregoriotex.include_score([[#1]], true, \gre@allowdeprecated@asboolean)}%
\fi%
\relax%
+ \endgroup%
}%
% The internal macro called when \gregorioscore is called with the optional argument. Behavior is determined by the value of the argument:
@@ -1928,6 +2000,8 @@
% a - perform the checks to see if the score needs to be recompiled and do so only if necessary
% f - force the compilation of the score before including it
\def\gre@gregorioscore@option[#1]#2{%
+ \begingroup%
+ \let\input@path\gre@input@path%
\ifx #1n\relax%
\gre@debugmsg{compile}{Override not compiling #2}%
\input #2%
@@ -1945,6 +2019,7 @@
\fi%
\fi%
\relax%
+ \endgroup%
}%
% The main macro used by the user to input scores into the document.
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-nabc.lua b/support/gregoriotex/tex/luatex/gregoriotex-nabc.lua
index 8eb1b3e155..deeaf3ba34 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-nabc.lua
+++ b/support/gregoriotex/tex/luatex/gregoriotex-nabc.lua
@@ -1,6 +1,6 @@
--GregorioTeX Nabc Lua file.
--
---Copyright (C) 2014-2019 The Gregorio Project (see CONTRIBUTORS.md)
+--Copyright (C) 2014-2021 The Gregorio Project (see CONTRIBUTORS.md)
--
--This file is part of Gregorio.
--
@@ -20,7 +20,7 @@
-- this file contains lua functions used by GregorioTeX St. Gall ancient
-- neume support when called with LuaTeX.
--- GREGORIO_VERSION 5.2.1
+-- GREGORIO_VERSION 6.0.0-beta1
local catcode_at_letter = luatexbase.catcodetables['gre@atletter']
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-nabc.tex b/support/gregoriotex/tex/luatex/gregoriotex-nabc.tex
index 11949b5a7c..fa76832c43 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-nabc.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-nabc.tex
@@ -1,6 +1,6 @@
%GregorioTeX file.
%
-% Copyright (C) 2014-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2014-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -19,7 +19,7 @@
% this file contains macros for St. Gall ancient neume support
-\gre@declarefileversion{gregoriotex-nabc.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-nabc.tex}{6.0.0-beta1}% GREGORIO_VERSION
\xdef\gre@nabcfontname{gregall}%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-signs.lua b/support/gregoriotex/tex/luatex/gregoriotex-signs.lua
index c52a25b113..25a2f85cbe 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-signs.lua
+++ b/support/gregoriotex/tex/luatex/gregoriotex-signs.lua
@@ -1,6 +1,6 @@
--GregorioTeX Signs Lua support file.
--
---Copyright (C) 2015-2019 The Gregorio Project (see CONTRIBUTORS.md)
+--Copyright (C) 2015-2021 The Gregorio Project (see CONTRIBUTORS.md)
--
--This file is part of Gregorio.
--
@@ -19,7 +19,7 @@
-- this file contains lua functions to support signs used by GregorioTeX.
--- GREGORIO_VERSION 5.2.1
+-- GREGORIO_VERSION 6.0.0-beta1
local err = gregoriotex.module.err
local warn = gregoriotex.module.warn
@@ -211,6 +211,18 @@ local offset_cases = {
case = 'BarDivisioFinalis',
v = [[\gre@vepisemaorrareaux{0}{\gre@fontchar@divisiofinalis}{1}{0}{#2}{#3}{#4}]],
},
+ -- parenthesized bar
+ {
+ case = 'BarParen',
+ v = [[\gre@vepisemaorrareaux{0}{\gre@char@bar@divisiominimaparen}{1}{0}{#2}{#3}{#4}]],
+ h = [[\gre@hepisorlineaux{\gre@char@bar@divisiominimaparen}{\gre@char@he@barparen{#4}}{2}{#3}]],
+ },
+ -- parenthesized virgula
+ {
+ case = 'BarVirgulaParen',
+ v = [[\gre@vepisemaorrareaux{0}{\gre@char@bar@virgulaparen}{1}{0}{#2}{#3}{#4}]],
+ h = [[\gre@hepisorlineaux{\gre@char@bar@virgulaparen}{\gre@char@he@barvirgulaparen{#4}}{2}{#3}]],
+ },
-- second note of a non-auctus torculus resupinus starting with a quilisma,
-- with a first and second ambitus of at least two
{
@@ -452,9 +464,27 @@ local offset_cases = {
-- natural
{
case = 'Natural',
- v = [[\gre@vepisemaorrareaux{0}{\GreCPNatual}{1}{0}{#2}{#3}{#4}]],
+ v = [[\gre@vepisemaorrareaux{0}{\GreCPNatural}{1}{0}{#2}{#3}{#4}]],
h = [[\gre@hepisorlineaux{\GreCPNatural}{\gre@char@he@natural{#4}}{2}{#3}]],
},
+ -- parenthesized flat
+ {
+ case = 'FlatParen',
+ v = [[\gre@vepisemaorrareaux{0}{\GreCPFlatParen}{1}{0}{#2}{#3}{#4}]],
+ h = [[\gre@hepisorlineaux{\GreCPFlatParen}{\gre@char@he@flatparen{#4}}{2}{#3}]],
+ },
+ -- parenthesized sharp
+ {
+ case = 'SharpParen',
+ v = [[\gre@vepisemaorrareaux{0}{\GreCPSharpParen}{1}{0}{#2}{#3}{#4}]],
+ h = [[\gre@hepisorlineaux{\GreCPSharpParen}{\gre@char@he@sharpparen{#4}}{2}{#3}]],
+ },
+ -- parenthesized natural
+ {
+ case = 'NaturalParen',
+ v = [[\gre@vepisemaorrareaux{0}{\GreCPNaturalParen}{1}{0}{#2}{#3}{#4}]],
+ h = [[\gre@hepisorlineaux{\GreCPNaturalParen}{\gre@char@he@naturalparen{#4}}{2}{#3}]],
+ },
}
local function emit_offset_macros()
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-spaces.tex b/support/gregoriotex/tex/luatex/gregoriotex-spaces.tex
index c9a0df14f6..a0fcc077b9 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-spaces.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-spaces.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.
%
@@ -19,7 +19,7 @@
% this file contains definitions of spaces
-\gre@declarefileversion{gregoriotex-spaces.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-spaces.tex}{6.0.0-beta1}% GREGORIO_VERSION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for tuning penalties
@@ -35,77 +35,95 @@
-\newcount\gre@hyphenpenaltysave%
-\newcount\gre@exhyphenpenaltysave%
-\newcount\gre@doublehyphendemeritssave%
-\newcount\gre@finalhyphendemeritssave%
-\newcount\gre@brokenpenaltysave%
-\newcount\gre@loosenesssave%
-\newcount\gre@tolerancesave%
-\newcount\gre@pretolerancesave%
-\newskip\gre@emergencystretchsave%
-\newcount\gre@widowpenaltysave%
-\newcount\gre@clubpenaltysave%
-\newskip\gre@saved@parskip%
-\newskip\gre@saved@lineskip%
-\newskip\gre@saved@baselineskip%
-\newskip\gre@saved@lineskiplimit%
+\newcount\gre@saved@prescore@hyphenpenalty%
+\newcount\gre@saved@prescore@exhyphenpenalty%
+\newcount\gre@saved@prescore@exhyphenchar%
+\newcount\gre@saved@prescore@doublehyphendemerits%
+\newcount\gre@saved@prescore@finalhyphendemerits%
+\newcount\gre@saved@prescore@brokenpenalty%
+\newcount\gre@saved@prescore@looseness%
+\newcount\gre@saved@prescore@tolerance%
+\newcount\gre@saved@prescore@pretolerance%
+\newskip\gre@saved@prescore@emergencystretch%
+\newcount\gre@saved@prescore@widowpenalty%
+\newcount\gre@saved@prescore@clubpenalty%
+\newskip\gre@saved@prescore@parskip%
+\newskip\gre@saved@prescore@lineskip%
+\newskip\gre@saved@prescore@baselineskip%
+\newskip\gre@saved@prescore@lineskiplimit%
%% The following macros cancel some useless penalties, and reinstates them
%% at the end of a score
\def\gre@cancelpenalties{%
\gre@trace{gre@cancelpenalties}%
- \global\gre@hyphenpenaltysave=\hyphenpenalty\relax %
- \global\gre@exhyphenpenaltysave=\exhyphenpenalty\relax %
- \global\gre@doublehyphendemeritssave=\doublehyphendemerits\relax %
- \global\gre@finalhyphendemeritssave=\finalhyphendemerits\relax %
- \global\gre@brokenpenaltysave=\brokenpenalty\relax %
- \global\gre@loosenesssave=\looseness\relax %
- \global\gre@tolerancesave=\tolerance\relax %
- \global\gre@pretolerancesave=\pretolerance\relax %
- \global\gre@emergencystretchsave=\emergencystretch\relax %
- \global\gre@widowpenaltysave=\widowpenalty\relax %
- \global\gre@clubpenaltysave=\clubpenalty\relax %
- %
- \global\gre@saved@parskip=\parskip%
- \global\gre@saved@lineskip=\lineskip%
- \global\gre@saved@baselineskip=\baselineskip%
- \global\gre@saved@lineskiplimit=\lineskiplimit%
+ \global\gre@saved@prescore@hyphenpenalty=\hyphenpenalty\relax %
\hyphenpenalty=\gre@space@count@hyphenpenalty %
+ %
+ \global\gre@saved@prescore@exhyphenpenalty=\exhyphenpenalty\relax %
\exhyphenpenalty=\gre@space@count@hyphenpenalty %
+ %
+ \global\gre@saved@prescore@exhyphenchar=\exhyphenchar\relax %
+ \exhyphenchar=-1\relax%
+ %
+ \global\gre@saved@prescore@doublehyphendemerits=\doublehyphendemerits\relax %
\doublehyphendemerits=0\relax %
+ %
+ \global\gre@saved@prescore@finalhyphendemerits=\finalhyphendemerits\relax %
\finalhyphendemerits=0\relax %
+ %
+ \global\gre@saved@prescore@brokenpenalty=\brokenpenalty\relax %
\brokenpenalty=\gre@space@count@brokenpenalty %
+ %
+ \global\gre@saved@prescore@looseness=\looseness\relax %
\looseness=\gre@space@count@looseness %
+ %
+ \global\gre@saved@prescore@tolerance=\tolerance\relax %
\tolerance=\gre@space@count@tolerance %
+ %
+ \global\gre@saved@prescore@pretolerance=\pretolerance\relax %
\pretolerance=\gre@space@count@pretolerance %
+ %
+ \global\gre@saved@prescore@emergencystretch=\emergencystretch\relax %
\emergencystretch=\gre@space@skip@emergencystretch\relax %
+ %
+ \global\gre@saved@prescore@widowpenalty=\widowpenalty\relax %
\widowpenalty=\gre@space@count@widowpenalty %
+ %
+ \global\gre@saved@prescore@clubpenalty=\clubpenalty\relax %
\clubpenalty=\gre@space@count@clubpenalty %
+ %
+ \global\gre@saved@prescore@parskip=\parskip%
\parskip=\gre@space@skip@parskip%
+ %
+ \global\gre@saved@prescore@lineskip=\lineskip%
\lineskip=\gre@space@skip@lineskip%
+ %
+ \global\gre@saved@prescore@baselineskip=\baselineskip%
\baselineskip=\gre@space@skip@baselineskip%
+ %
+ \global\gre@saved@prescore@lineskiplimit=\lineskiplimit%
\lineskiplimit=\gre@space@skip@lineskiplimit%
\gre@trace@end%
}%
\def\gre@restorepenalties{%
\gre@trace{gre@restorepenalties}%
- \hyphenpenalty=\gre@hyphenpenaltysave %
- \exhyphenpenalty=\gre@exhyphenpenaltysave %
- \doublehyphendemerits=\gre@doublehyphendemeritssave %
- \finalhyphendemerits=\gre@finalhyphendemeritssave %
- \brokenpenalty=\gre@brokenpenaltysave %
- \looseness=\gre@loosenesssave %
- \tolerance=\gre@tolerancesave %
- \pretolerance=\gre@pretolerancesave %
- \emergencystretch=\gre@emergencystretchsave %
- \widowpenalty=\gre@widowpenaltysave %
- \clubpenalty=\gre@clubpenaltysave %
- \parskip=\gre@saved@parskip%
- \lineskip=\gre@saved@lineskip%
- \baselineskip=\gre@saved@baselineskip%
- \lineskiplimit=\gre@saved@lineskiplimit%
+ \hyphenpenalty=\gre@saved@prescore@hyphenpenalty %
+ \exhyphenpenalty=\gre@saved@prescore@exhyphenpenalty %
+ \exhyphenchar=\gre@saved@prescore@exhyphenchar %
+ \doublehyphendemerits=\gre@saved@prescore@doublehyphendemerits %
+ \finalhyphendemerits=\gre@saved@prescore@finalhyphendemerits %
+ \brokenpenalty=\gre@saved@prescore@brokenpenalty %
+ \looseness=\gre@saved@prescore@looseness %
+ \tolerance=\gre@saved@prescore@tolerance %
+ \pretolerance=\gre@saved@prescore@pretolerance %
+ \emergencystretch=\gre@saved@prescore@emergencystretch %
+ \widowpenalty=\gre@saved@prescore@widowpenalty %
+ \clubpenalty=\gre@saved@prescore@clubpenalty %
+ \parskip=\gre@saved@prescore@parskip%
+ \lineskip=\gre@saved@prescore@lineskip%
+ \baselineskip=\gre@saved@prescore@baselineskip%
+ \lineskiplimit=\gre@saved@prescore@lineskiplimit%
\gre@trace@end%
}%
@@ -114,7 +132,7 @@
%% macros for the typesetting of spaces
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Independent default distances are defined in gsp-default.tex. The distances defined here are calculated from those distances.
+% Independent default distances are defined in gregoriotex-gsp-default.tex. The distances defined here are calculated from those distances.
%%%%%%%%%%%%%%%%%
%% Global distances
@@ -148,35 +166,29 @@
% Messing with the staff line thickness directly is messy, so we provide the following interface to make life easier on the user:
% stafflineheight is the height of a staff line
-% = 1500 * stafflinefactor
+% = gre@dimen@stafflinethicknessbase * stafflinefactor
\newdimen\gre@dimen@stafflineheight\relax%
\def\gre@calculate@stafflineheight{%
\gre@trace{gre@calculate@stafflineheight}%
- \global\gre@dimen@stafflineheight=\dimexpr(1500 sp * \gre@stafflinefactor)\relax %
+ \global\gre@dimen@stafflineheight=\dimexpr(\gre@dimen@stafflinethicknessbase * \gre@stafflinefactor)\relax %
\gre@trace@end%
}%
% interstafflinespace is the space between two lines of staff
-% = (30000 - (stafflineheight/gre@factor - 1500)) * gre@factor = 31500 * gre@factor - stafflineheight
+% = (gre@dimen@interstafflinedistancebase + gre@dimen@stafflinethicknessbase) * gre@factor - gre@dimen@stafflinethicknessbase * gre@stafflinefactor
\newdimen\gre@dimen@interstafflinespace\relax%
\def\gre@calculate@interstafflinespace{%
\gre@trace{gre@calculate@interstafflinespace}%
- \global\gre@dimen@interstafflinespace=\dimexpr((31500sp * \gre@factor) %
- - \gre@dimen@stafflineheight)\relax%
+ \global\gre@dimen@interstafflinespace=\dimexpr((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) * \gre@factor - \gre@dimen@stafflinethicknessbase * \gre@stafflinefactor)\relax%
\gre@trace@end%
}%
% a distance to help place glyphs when the lines are not their default thickness
-% = (stafflineheight/gre@factor - 1500sp)/2 * gre@factor
+% = gre@dimen@stafflinethicknessbase * (gre@stafflinefactor - gre@factor) / 2
\newdimen\gre@dimen@stafflinediff\relax%
\def\gre@calculate@stafflinediff{%
\gre@trace{gre@calculate@stafflinediff}%
- \global\gre@dimen@stafflinediff = \dimexpr(%
- ( ( ( \gre@dimen@stafflineheight %
- / \gre@factor)%
- - 1500sp)%
- / 2)%
- * \gre@factor)\relax%
+ \global\gre@dimen@stafflinediff = \dimexpr( \gre@dimen@stafflinethicknessbase * (\gre@stafflinefactor - \gre@factor) / 2 )\relax%
\gre@trace@end%
}%
@@ -187,7 +199,7 @@
\newif\ifgre@scale@stafflinefactor%
\gre@scale@stafflinefactortrue
-% a macro for setting the thickness of the staff lines. This changes the stafflinefactor and then adjusts the spaces that are affected by the thicker staff lines.
+% a macro for setting the thickness of the staff lines. The changes to stafflinefactor will be automatically picked up when the staff lines are redrawn
\def\grechangestafflinethickness#1{%
\xdef\gre@stafflinefactor{#1}%
\relax %
@@ -199,7 +211,7 @@
% to calculate that, we take the bottom of the third line : it is at 200 in the fonts, and it must be at grespacelinestext + grespacebeneathtext + 2*greinterstafflinespace + 2*grestafflineheight + translationheight
\def\gre@calculate@constantglyphraise{%
\gre@trace{gre@calculate@constantglyphraise}%
- \global\gre@dimen@constantglyphraise = \dimexpr((-22000 sp * \gre@factor) %
+ \global\gre@dimen@constantglyphraise = \dimexpr((\gre@dimen@glyphraisebase * \gre@factor) %
+ \gre@dimen@additionalbottomspace %
+ \gre@space@dimen@spacebeneathtext %
+ \gre@space@dimen@spacelinestext %
@@ -563,10 +575,9 @@
\hbox to \gre@dimen@temp@four{#2\hss}%
}%
-\def\gresethyphenprotrusion#1{% DEPRECATED for removal in 5.1
- \gre@deprecated{\protect\gresethyphenprotrusion{percentage}}{\protect\gresetprotrusionfactor{eolhyphen}{factor}}% DEPRECATED for removal in 5.1
- \gresetprotrusionfactor{eolhyphen}{\directlua{tex.print(string.format(string.char(37)..'g', #1 / 100.0))}}% DEPRECATED for removal in 5.1
-}% DEPRECATED for removal in 5.1
+\def\gresethyphenprotrusion#1{% OBSOLETE
+ \gre@obsolete{\protect\gresethyphenprotrusion{percentage}}{\protect\gresetprotrusionfactor{eolhyphen}{factor}}% OBSOLETE
+}% OBSOLETE
% dimen keeping the shift computed with next function
\newdimen\gre@dimen@eolshift
@@ -794,7 +805,7 @@
\fi%
\fi%
\global\advance\gre@count@temp@three by -8 %
- \global\gre@dimen@glyphraisevalue = \dimexpr(15750 sp * \gre@factor * \gre@count@temp@three)\relax %
+ \global\gre@dimen@glyphraisevalue = \dimexpr(((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) / 2 ) * \gre@factor * \gre@count@temp@three)\relax %
\ifcase#2 %
\or\or\or%3: if it is a vertical episema on a line, we shift it a bit higher, so that it's more beautiful
\ifgre@isonaline%
@@ -898,16 +909,6 @@
% the one taken into account for above lines nabc height
\newdimen\gre@dimen@additionaltopspacenabc\relax%
-% backup demensions for the previous
-\newdimen\gre@saved@dimen@additionalbottomspace\relax%
-\newdimen\gre@saved@dimen@additionaltopspace\relax%
-\newdimen\gre@saved@dimen@additionaltopspacealt\relax%
-\newdimen\gre@saved@dimen@additionaltopspacenabc\relax%
-\newdimen\gre@saved@dimen@currenttranslationheight\relax%
-\newdimen\gre@saved@dimen@textlower\relax%
-\newdimen\gre@saved@dimen@currentabovelinestextheight\relax%
-\newdimen\gre@saved@dimen@constantglyphraise\relax%
-
\newcount\gre@space@count@additionaltopspacethreshold\relax%
\gre@space@count@additionaltopspacethreshold=2
@@ -939,29 +940,40 @@
\gre@trace@end%
}%
+% some backup demensions for use around discretionaries
+\newdimen\gre@saved@prediscretionary@dimen@additionalbottomspace\relax%
+\newdimen\gre@saved@prediscretionary@dimen@additionaltopspace\relax%
+\newdimen\gre@saved@prediscretionary@dimen@additionaltopspacealt\relax%
+\newdimen\gre@saved@prediscretionary@dimen@additionaltopspacenabc\relax%
+\newdimen\gre@saved@prediscretionary@dimen@currenttranslationheight\relax%
+\newdimen\gre@saved@prediscretionary@dimen@textlower\relax%
+\newdimen\gre@saved@prediscretionary@dimen@currentabovelinestextheight\relax%
+\newdimen\gre@saved@prediscretionary@dimen@constantglyphraise\relax%
+
+
\def\gre@save@additionalspaces{%
\gre@trace{gre@save@additionalspaces}%
- \global\gre@saved@dimen@additionalbottomspace=\gre@dimen@additionalbottomspace\relax%
- \global\gre@saved@dimen@additionaltopspace=\gre@dimen@additionaltopspace\relax%
- \global\gre@saved@dimen@additionaltopspacealt=\gre@dimen@additionaltopspacealt\relax%
- \global\gre@saved@dimen@additionaltopspacenabc=\gre@dimen@additionaltopspacenabc\relax%
- \global\gre@saved@dimen@currenttranslationheight=\gre@dimen@currenttranslationheight\relax%
- \global\gre@saved@dimen@textlower=\gre@dimen@textlower\relax%
- \global\gre@saved@dimen@currentabovelinestextheight=\gre@dimen@currentabovelinestextheight\relax%
- \global\gre@saved@dimen@constantglyphraise=\gre@dimen@constantglyphraise\relax%
+ \global\gre@saved@prediscretionary@dimen@additionalbottomspace=\gre@dimen@additionalbottomspace\relax%
+ \global\gre@saved@prediscretionary@dimen@additionaltopspace=\gre@dimen@additionaltopspace\relax%
+ \global\gre@saved@prediscretionary@dimen@additionaltopspacealt=\gre@dimen@additionaltopspacealt\relax%
+ \global\gre@saved@prediscretionary@dimen@additionaltopspacenabc=\gre@dimen@additionaltopspacenabc\relax%
+ \global\gre@saved@prediscretionary@dimen@currenttranslationheight=\gre@dimen@currenttranslationheight\relax%
+ \global\gre@saved@prediscretionary@dimen@textlower=\gre@dimen@textlower\relax%
+ \global\gre@saved@prediscretionary@dimen@currentabovelinestextheight=\gre@dimen@currentabovelinestextheight\relax%
+ \global\gre@saved@prediscretionary@dimen@constantglyphraise=\gre@dimen@constantglyphraise\relax%
\gre@trace@end%
}%
\def\gre@restore@additionalspaces{%
\gre@trace{gre@restore@additionalspaces}%
- \global\gre@dimen@additionalbottomspace=\gre@saved@dimen@additionalbottomspace\relax%
- \global\gre@dimen@additionaltopspace=\gre@saved@dimen@additionaltopspace\relax%
- \global\gre@dimen@additionaltopspacealt=\gre@saved@dimen@additionaltopspacealt\relax%
- \global\gre@dimen@additionaltopspacenabc=\gre@saved@dimen@additionaltopspacenabc\relax%
- \global\gre@dimen@currenttranslationheight=\gre@saved@dimen@currenttranslationheight\relax%
- \global\gre@dimen@textlower=\gre@saved@dimen@textlower\relax%
- \global\gre@dimen@currentabovelinestextheight=\gre@saved@dimen@currentabovelinestextheight\relax%
- \global\gre@dimen@constantglyphraise=\gre@saved@dimen@constantglyphraise\relax%
+ \global\gre@dimen@additionalbottomspace=\gre@saved@prediscretionary@dimen@additionalbottomspace\relax%
+ \global\gre@dimen@additionaltopspace=\gre@saved@prediscretionary@dimen@additionaltopspace\relax%
+ \global\gre@dimen@additionaltopspacealt=\gre@saved@prediscretionary@dimen@additionaltopspacealt\relax%
+ \global\gre@dimen@additionaltopspacenabc=\gre@saved@prediscretionary@dimen@additionaltopspacenabc\relax%
+ \global\gre@dimen@currenttranslationheight=\gre@saved@prediscretionary@dimen@currenttranslationheight\relax%
+ \global\gre@dimen@textlower=\gre@saved@prediscretionary@dimen@textlower\relax%
+ \global\gre@dimen@currentabovelinestextheight=\gre@saved@prediscretionary@dimen@currentabovelinestextheight\relax%
+ \global\gre@dimen@constantglyphraise=\gre@saved@prediscretionary@dimen@constantglyphraise\relax%
\gre@trace@end%
}%
@@ -977,28 +989,32 @@
\gre@num@max{#1}{\gre@pitch@cleftop}%
\gre@count@temp@one=\numexpr(\gre@count@temp@one - \gre@pitch@adjust@top - \gre@space@count@additionaltopspacethreshold)\relax %
\ifnum\gre@count@temp@one>0\relax %
- \global\gre@dimen@additionaltopspace=\dimexpr(15750 sp * \gre@count@temp@one * \gre@factor)\relax %
+ \global\gre@dimen@additionaltopspace=\dimexpr(((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) / 2 ) * \gre@count@temp@one * \gre@factor)\relax %
\else %
\global\gre@dimen@additionaltopspace=0 sp%
\fi %
\gre@num@max{#1}{\gre@pitch@cleftop}%
\gre@count@temp@one=\numexpr(\gre@count@temp@one - \gre@pitch@adjust@top - \gre@space@count@additionaltopspacealtthreshold)\relax %
\ifnum\gre@count@temp@one>0\relax %
- \global\gre@dimen@additionaltopspacealt=\dimexpr(15750 sp * \gre@count@temp@one * \gre@factor)\relax %
+ \global\gre@dimen@additionaltopspacealt=\dimexpr(((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) / 2 ) * \gre@count@temp@one * \gre@factor)\relax %
\else %
\global\gre@dimen@additionaltopspacealt=0 sp%
\fi %
\gre@num@max{#1}{\gre@pitch@cleftop}%
\gre@count@temp@one=\numexpr(\gre@count@temp@one - \gre@pitch@adjust@top - \gre@space@count@additionaltopspacenabcthreshold)\relax %
\ifnum\gre@count@temp@one>0\relax %
- \global\gre@dimen@additionaltopspacenabc=\dimexpr(15750 sp * \gre@count@temp@one * \gre@factor)\relax %
+ \global\gre@dimen@additionaltopspacenabc=\dimexpr(((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) / 2 ) * \gre@count@temp@one * \gre@factor)\relax %
\else %
\global\gre@dimen@additionaltopspacenabc=0 sp%
\fi %
\gre@num@min{#2}{\gre@pitch@clefbottom}%
\gre@count@temp@one=\numexpr(\gre@pitch@adjust@bottom - \gre@count@temp@one)\relax %
\ifnum\gre@count@temp@one>0\relax %
- \global\gre@dimen@additionalbottomspace=\dimexpr(\gre@space@dimen@noteadditionalspacelinestext * \gre@count@temp@one)\relax %
+ \ifgre@noteadditionalspacelinestext%
+ \global\gre@dimen@additionalbottomspace=\dimexpr(\gre@space@dimen@noteadditionalspacelinestext * \gre@count@temp@one)\relax%
+ \else%
+ \global\gre@dimen@additionalbottomspace=\dimexpr(((\gre@dimen@interstafflinedistancebase + \gre@dimen@stafflinethicknessbase) / 2 ) * \gre@factor * \gre@count@temp@one)\relax%
+ \fi%
\else %
\global\gre@dimen@additionalbottomspace=0 sp%
\fi %
@@ -1028,7 +1044,7 @@
\def\gre@calculate@textaligncenter#1#2#3#4{%
\gre@trace{gre@calculate@textaligncenter{#1}{#2}{#3}{#4}}%
\ifnum#4=0\relax%
- \gre@widthof{\gre@save@fixedtextformat{#1}\gre@fixedtextformat{#2#3}}%
+ \gre@widthof{\gre@saved@syllable@fixedtextformat{#1}\gre@fixedtextformat{#2#3}}%
\else %
\gre@widthof{\gre@fixedtextformat{#1}\gre@fixednexttextformat{#2#3}}%
\fi %
@@ -1100,8 +1116,9 @@
%% 3 : the middle letters of the next syllable
%% 4 : the end letters of the next syllable
%% 5 : the type of notes alignment
-\def\gre@calculate@nextbegindifference#1#2#3#4#5{%
- \gre@trace{gre@calculate@nextbegindifference{#1}{#2}{#3}{#4}{#5}}%
+%% 6 : alteration type (see gre@calculate@nextnotesaligncenter)
+\def\gre@calculate@nextbegindifference#1#2#3#4#5#6{%
+ \gre@trace{gre@calculate@nextbegindifference{#1}{#2}{#3}{#4}{#5}{#6}}%
\ifnum\gre@lastoflinecount=1\relax %
\global\gre@skip@nextbegindifference=0pt\relax%
\else %
@@ -1112,7 +1129,7 @@
\global\gre@skip@nextbegindifference=-\gre@dimen@textaligncenter\relax%
% caution: calculate@nextnotesaligncenter needs a properly set \gre@dimen@textaligncenter
% (corresponding to the text align center of the next syllable)
- \gre@calculate@nextnotesaligncenter{#5}% idem
+ \gre@calculate@nextnotesaligncenter{#5}{#6}% idem
\global\advance\gre@skip@nextbegindifference by \the\gre@dimen@notesaligncenter\relax%
\global\gre@dimen@textaligncenter=\gre@dimen@temp@two %
\global\gre@dimen@notesaligncenter=\gre@dimen@temp@four %
@@ -1176,7 +1193,7 @@
%
%In the new algorithm the bar and the text are set independently of each other based purely on the positions of the corresponding element in the previous and next syllable
% #1 is #4 from \GreBarSyllable (1 if bar is end of word, 0 if not)
-% #2 is #7 from \GreBarSyllable (alignment type of first next glyph)
+% #2 is #7:2 from \GreBarSyllable (alteration type of first next glyph)
\def\gre@calculate@barposition#1#2{%
\gre@trace{gre@calculate@barposition{#1}{#2}}%
% we start by finding the distance between the text and notes of the previous and the next syllable (as if this syllable didn't exist, for the moment)
@@ -1384,7 +1401,7 @@
\global\gre@skip@adjustednextbegindifference=\gre@skip@nextbegindifference %
% gre@skip@alterationshift is 0 or the punctum mora shift
\global\gre@skip@alterationshift=0pt\relax %
- \ifnum#1>19\ifnum\gre@insidediscretionary=0\relax % next is a flat, we're not in a clef change
+ \ifnum#1>0\ifnum\gre@insidediscretionary=0\relax % next is a flat, we're not in a clef change
\advance\gre@skip@adjustednextbegindifference by -\gre@space@dimen@alterationadjustmentbar %
\global\gre@skip@alterationshift=\gre@space@dimen@alterationadjustmentbar\relax %
\gre@debugmsg{barspacing}{adjustment for alteration: \gre@space@dimen@alterationadjustmentbar}%
@@ -1548,7 +1565,7 @@
%% This macro creates one dim (#1), setting its value to #2 and sets whether it should scale when the \gre@factor changes (#3, scalable or fixed). Checks that #1 can accept the kind of distance given in #2.
%% Note: the distances created by this function are stored as strings, not skip or dimension registers. This allows the user to specify a distance in em or ex units even though the font parameters may not be the same at the time the distance is specified and the time the distance is used.
\newif\ifgre@checklength%
-\def\grecreatedim#1#2#3{%
+\def\gre@createdim#1#2#3{%
\csname newif\expandafter\endcsname\csname ifgre@scale@#1\endcsname%
\IfStrEqCase{#3}{%
{scalable}%
@@ -1558,7 +1575,7 @@
{inherited}%
{\grescaledim{#1}{false}}%
}[% all other cases
- \gre@error{Unrecognized option "#3" for \protect\grecreatedim\MessageBreak Possible options are: 'scalable' and 'fixed'}%
+ \gre@error{Unrecognized option "#3" for \protect\gre@createdim\MessageBreak Possible options are: 'scalable' and 'fixed' and 'inherited'}%
]%
\gre@dimension{#1}{#2}{#3}%
}%
@@ -1599,31 +1616,16 @@
% all other cases
}[\gre@error{Unrecognized option "#3" for \protect\grechangedim\MessageBreak Possible options are: 'scalable', 'fixed', and 'inherited'}]%
\gre@dimension{#1}{#2}{#3}%
+ %If we are calling grechangedim from a space configuration file (greconffactor is not 0)
+ % and the space configuration file is designed for a \gre@factor other than the current
+ % one, then we need to rescale the distance being changed.
+ \ifnum\greconffactor=0\else%
+ \ifnum\the\gre@factor=\greconffactor\else%
+ \gre@changeonedimenfactor{#1}{\greconffactor}{\gre@factor} %
+ \fi%
+ \fi%
\else%
- \IfStrEqCase{#1}{% OBSOLETE
- {spacearoundsmallbars}% OBSOLETE
- {% OBSOLETE
- \gre@obsolete{spacearoundsmallbars}{bar@virgula or bar@minima}% OBSOLETE
- }% OBSOLETE
- {spacearoundminor}% OBSOLETE
- {% OBSOLETE
- \gre@obsolete{spacearoundminor}{bar@minor}% OBSOLETE
- }% OBSOLETE
- {spacearoundmaior}% OBSOLETE
- {% OBSOLETE
- \gre@obsolete{spacearoundmaior}{bar@maior}% OBSOLETE
- }% OBSOLETE
- {spacearoundfinalis}% OBSOLETE
- {% OBSOLETE
- \gre@obsolete{spacearoundfinalis}{bar@finalis}% OBSOLETE
- }% OBSOLETE
- {spacebeforefinalfinalis}% OBSOLETE
- {% OBSOLETE
- \gre@obsolete{spacebeforfinalfinalis}{bar@finalfinalis}% OBSOLETE
- }% OBSOLETE
- }[% OBSOLETE
- \gre@error{#1 is not a recognized distance.}% keep this line
- ]% OBSOLETE
+ \gre@error{#1 is not a recognized distance.}%
\fi%
}%
@@ -1802,13 +1804,24 @@
\newcount\greconffactor%
\def\greloadspaceconf#1{%
- \input gsp-#1.tex\relax %
- \ifnum\greconffactor=0\relax%
- \gre@error{gsp-#1.tex does not have an assigned staff size.\MessageBreak Please edit it to define \protect\greconffactor}%
- \fi %
- \ifnum\the\gre@factor=\greconffactor\else %If the space configuration file is designed for a \gre@factor other than the current one, then we need to rescale the distances.
- \gre@changedimenfactor{\greconffactor}{\gre@factor} %
- \fi%
+ \IfStrEq{#1}{default}{% load default spacings
+ \ifx\@onlypreamble\@notprerr%
+ \gre@debugmsg{preamble}{Not in preamble}%
+ \makeatletter%
+ \else%
+ \gre@debugmsg{preamble}{In preamble}%
+ \fi%
+ \input gregoriotex-gsp-default.tex%
+ \gre@changedimenfactor{\greconffactor}{\gre@factor}%
+ \ifx\@onlypreamble\@notprerr%
+ \makeatother%
+ \fi%
+ }{% load a custom spacing
+ \input gsp-#1.tex\relax %
+ \ifnum\greconffactor=0\relax%
+ \gre@error{gsp-#1.tex does not have an assigned staff size.\MessageBreak Please edit it to define \protect\greconffactor}%
+ \fi %
+ }
\greconffactor=0%
\relax %
}%
@@ -1896,11 +1909,13 @@
% Math
\gre@rubberpermit{#1}%
\ifgre@rubber%
+ \gre@debugmsg{gsp}{scaling a rubber}%
% if we have a rubber allowed length we create a temporary skip
\let\gre@scaledist\gre@skip@temp@one%
\edef\gre@convert{\csname gre@space@skip@#1\endcsname}%
\gre@scaledist=\glueexpr(\gre@convert * \number#3 / \number#2)\relax %
\else%
+ \gre@debugmsg{gsp}{scaling a fixed distance}%
% otherwise we create a temporary dimen
\let\gre@scaledist\gre@dimen@temp@one%
\edef\gre@convert{\csname gre@space@dimen@#1\endcsname}%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-syllable.tex b/support/gregoriotex/tex/luatex/gregoriotex-syllable.tex
index 137a6f901f..afff36cd64 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-syllable.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-syllable.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.
%
@@ -19,7 +19,7 @@
% this file contains definitions of the glyphs and the syllables
-\gre@declarefileversion{gregoriotex-syllable.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-syllable.tex}{6.0.0-beta1}% GREGORIO_VERSION
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% macros for the typesetting of the different glyphs
@@ -180,77 +180,54 @@
% this function is quite simple, it just sets \gre@box@temp@width with a box of the good width, watch the next function for the complete thing
% we define the different alignments possible, of course they depend on the font
% the first 10 (0-9) possible values are the same as in glyph
-%% 0: one-note glyph or more than two notes glyph except porrectus : here we must put the aligncenter in the middle of the first note
-%% 1: two notes glyph (podatus is considered as a one-note glyph) : here we put the aligncenter in the middle of the glyph
-%% 2: porrectus : has a special align center
-%% 3: initio-debilis : same as 1 but the first note is much smaller
-%% 4: case of a glyph starting with a quilisma
-%% 5: case of a glyph starting with an oriscus
-%% 6: case of a punctum inclinatum
-%% 7: case of a stropha
-%% 8: flexus with an ambitus of one
-%% 9: flexus deminutus
-%% 10: virgula
-%% 11: divisio minima
-%% 12: divisio minor
-%% 13: divisio maior
-%% 14: dominican bar
-%% 15 : divisio finalis
-%% 16 : no note
+% see the cases below
% there is a tricky here : if notesaligncenter is not 0, it means that there is a flat before, so we simply add notes aligncenter
% #2 is 0 if we are in the context of current syllable, 1 if we are in the context of next syllable
\def\gre@calculate@simplenotesaligncenter#1#2{%
\gre@trace{gre@calculate@simplenotesaligncenter{#1}{#2}}%
- \ifcase#1%
- %case of punctum
+ \ifcase#1% 0: punctum
+ % one-note glyph or more than two notes glyph except porrectus : here
+ % we must put the aligncenter in the middle of the first note
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPPunctum}%
- \or%
- %case of flexus
+ \or% 1: flexus
+ % two notes glyph (podatus is considered as a one-note glyph) : here
+ % we put the aligncenter in the middle of the glyph
\gre@handleclivisspecialalignment{\gre@font@music\GreCPPesQuadratumLongqueueThreeNothing}{\gre@font@music\GreCPPunctum}{#2}%
- \or%
- %case of porrectus (we consider it to have the same alignment as punctum)
+ \or% 2: porrectus
+ % we consider it to have the same alignment as punctum
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPPunctum}%
- \or%
- %case of a initio debilis
+ \or% 3: initio debilis
+ % same as 1 but the first note is much smaller
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPPunctumDeminutus}%
- \or %
- %case of a quilisma
+ \or% 4: glyph starting with a quilisma
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPQuilisma}%
- \or %
- %case of an oriscus
+ \or% 5: glyph starting with an oriscus
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPAscendensOriscus}%
- \or %
- %case of a punctum inclinatum
+ \or% 6: punctum inclinatum
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPDescendensPunctumInclinatum}%
- \or %
- %case of a stropha
+ \or% 7: stropha
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPStropha}%
- \or %
- % case of flexus with ambitus of one
+ \or% 8: flexus with ambitus of one
\gre@handleclivisspecialalignment{\gre@font@music\GreCPPesQuadratumLongqueueOneNothing}{\gre@font@music\GreCPPunctum}{#2}%
- \or %
- % case of flexus deminutus
+ \or% 9: flexus deminutus
\gre@handleclivisspecialalignment{\gre@font@music\GreCPFlexusTwoDeminutus}{\gre@font@music\GreCPPunctum}{#2}%
- \or %
- % case of virgula
+ \or% 10: virgula
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@virgula}%
- \or %
- % case of divisio minima
+ \or% 11: divisio minima
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiominima}%
- \or %
- % case of divisio minor
+ \or% 12: divisio minor
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiominor}%
- \or %
- % case of divisio maior
+ \or% 13: divisio maior
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiomaior}%
- \or %
- % case of dominican bar
+ \or% 14: dominican bar
\global\setbox\gre@box@temp@width=\hbox{\gre@font@music\GreCPDivisioDominican}%
- \or %
- % case of divisiofinalis
+ \or% 15: parenthesized virgula
+ \global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@virgulaparen}%
+ \or% 16: parenthesized divisio minima
+ \global\setbox\gre@box@temp@width=\hbox{\gre@font@music\gre@char@bar@divisiominimaparen}%
+ \or% 17: divisio finalis
\global\setbox\gre@box@temp@width=\hbox{\gre@fontchar@divisiofinalis}%
- \or %
- % case of no note
+ \or% 18: no note
\ifgre@newbarspacing%
\global\setbox\gre@box@temp@width=\hbox{}%
\else%
@@ -326,36 +303,33 @@
\gre@trace@end%
}%
-% this is the function that we call when we try to determine the next aligncenter of the notes. In this case we call this function with normal arguments if there is no flat nor natural ; we call it with argument + 20 if there is a flat and argument + 40 if there is a natural, +60 with a sharp
-\def\gre@calculate@nextnotesaligncenter#1{%
- \gre@trace{gre@calculate@nextnotesaligncenter{#1}}%
- \ifnum#1<20\relax %
- \gre@calculate@simplenotesaligncenter{#1}{1}%
- \gre@dimen@temp@five=\dimexpr(\wd\gre@box@temp@width / 2)\relax %
- \global\gre@dimen@notesaligncenter=\gre@dimen@temp@five %
- \else %\ifnum#1<20
- \gre@count@temp@three=#1 %
- \ifnum#1<40\relax%
- \advance\gre@count@temp@three by -20\relax %
- \gre@calculate@simplenotesaligncenter{\gre@count@temp@three}{1}%
- \gre@dimen@temp@five=\dimexpr(\wd\gre@box@temp@width / 2)\relax %
- \setbox\gre@box@temp@width=\hbox{\gre@fontchar@flat}%
- \else%\ifnum#1<40
- \ifnum#1<60\relax%
- \advance\gre@count@temp@three by -40\relax %
- \gre@calculate@simplenotesaligncenter{\gre@count@temp@three}{1}%
- \gre@dimen@temp@five=\dimexpr(\wd\gre@box@temp@width / 2)\relax %
- \setbox\gre@box@temp@width=\hbox{\gre@fontchar@natural}%
- \else%\ifnum#1<60
- \advance\gre@count@temp@three by -60\relax %
- \gre@calculate@simplenotesaligncenter{\gre@count@temp@three}{1}%
- \gre@dimen@temp@five=\dimexpr(\wd\gre@box@temp@width / 2)\relax %
- \setbox\gre@box@temp@width=\hbox{\gre@fontchar@sharp}%
- \fi%
- \fi %
+% this is the function that we call when we try to determine the next aligncenter of the notes.
+% #1 is the note type
+% #2 is the alteration style : 0 = none, 1 = flat, 2 = natural, 3 = sharp,
+% 4 = parenthesized flat, 5 = parenthesized natural,
+% 6 = parenthesized flat
+\def\gre@calculate@nextnotesaligncenter#1#2{%
+ \gre@trace{gre@calculate@nextnotesaligncenter{#1}{#2}}%
+ \gre@calculate@simplenotesaligncenter{#1}{1}%
+ \gre@dimen@temp@five=\dimexpr(\wd\gre@box@temp@width / 2)\relax %
+ \ifcase#2\relax% 0 - none
+ \or % 1 - flat
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@flat}%
+ \or % 2 - natural
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@natural}%
+ \or % 3 - sharp
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@sharp}%
+ \or % 4 - parenthesized flat
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@flatparen}%
+ \or % 5 - parenthesized natural
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@naturalparen}%
+ \or % 6 - parenthesized sharp
+ \setbox\gre@box@temp@width=\hbox{\gre@fontchar@sharpparen}%
+ \fi %
+ \ifnum#2>0\relax %
\advance\gre@dimen@temp@five by \dimexpr(\wd\gre@box@temp@width+\gre@space@dimen@alterationspace)\relax %
- \global\gre@dimen@notesaligncenter=\gre@dimen@temp@five %
\fi %
+ \global\gre@dimen@notesaligncenter=\gre@dimen@temp@five %
\relax %
\gre@trace@end%
}%
@@ -397,8 +371,8 @@
\global\gre@count@lastglyphiscavum=0\relax %
\global\gre@firstglyphtrue%
\global\gre@boxingtrue%
- \let\ifgre@lastendswithmorasave\ifgre@lastendswithmora%
- \xdef\gre@savedlastoflinecount{\number\gre@lastoflinecount\relax }%
+ \let\ifgre@saved@prenotes@lastendswithmora\ifgre@lastendswithmora%
+ \xdef\gre@saved@prenotes@lastoflinecount{\number\gre@lastoflinecount\relax }%
\ifgre@shownotes%
\setbox\gre@box@syllablenotes=\hbox{#1}%
\else%
@@ -406,7 +380,6 @@
\fi%
\gre@debugmsg{spacing}{Width of notes: \the\wd\gre@box@syllablenotes}%
\global\gre@boxingfalse%
- \global\gre@lastoflinecount=\gre@savedlastoflinecount\relax %
\global\gre@firstglyphtrue%
% now gre@lastendswithmora is true if this syllable ends with a
% punctum mora, but we still want to keep gre@lastendswithmora if we
@@ -419,7 +392,8 @@
\else %
\gre@thisendswithmorafalse %
\fi %
- \let\ifgre@lastendswithmora\ifgre@lastendswithmorasave %
+ \let\ifgre@lastendswithmora\ifgre@saved@prenotes@lastendswithmora%
+ \global\gre@lastoflinecount=\gre@saved@prenotes@lastoflinecount\relax %
\global\gre@count@lastglyphiscavum=0\relax %
\global\gre@skip@bar@lastskip=0pt\relax %
\global\gre@endofscorefalse %
@@ -773,18 +747,18 @@
\gre@trace@end%
}%
-\let\gre@save@endsyllablepart\gre@nothing\relax %
-\let\gre@save@fixedtextformat\gre@textnormal\relax %
-\let\gre@save@pointandclick\gre@nothing\relax %
+\let\gre@saved@syllable@endsyllablepart\gre@nothing\relax %
+\let\gre@saved@syllable@fixedtextformat\gre@textnormal\relax %
+\let\gre@saved@syllable@pointandclick\gre@nothing\relax %
\def\gre@push@endsyllable#1{%
\gre@trace{gre@push@endsyllable{#1}}%
- \let\gre@save@endsyllablepart\gre@nothing\relax %
- \let\gre@save@fixedtextformat\gre@textnormal\relax %
- \let\gre@save@pointandclick\gre@nothing\relax %
+ \let\gre@saved@syllable@endsyllablepart\gre@nothing\relax %
+ \let\gre@saved@syllable@fixedtextformat\gre@textnormal\relax %
+ \let\gre@saved@syllable@pointandclick\gre@nothing\relax %
\gre@if@rewritesyllable{%
- \let\gre@save@endsyllablepart\gre@endsyllablepart\relax %
- \let\gre@save@fixedtextformat\gre@fixedtextformat\relax %
- \xdef\gre@save@pointandclick{#1}%
+ \let\gre@saved@syllable@endsyllablepart\gre@endsyllablepart\relax %
+ \let\gre@saved@syllable@fixedtextformat\gre@fixedtextformat\relax %
+ \xdef\gre@saved@syllable@pointandclick{#1}%
}{}%
\relax %
\gre@trace@end%
@@ -792,15 +766,15 @@
\def\gre@emit@syllabletext#1{%
\gre@trace{gre@emit@syllabletext{#1}}%
- \ifx\gre@save@endsyllablepart\gre@nothing %
+ \ifx\gre@saved@syllable@endsyllablepart\gre@nothing %
\gre@fixedtextformat{#1}%
\else %
- \ifx\gre@save@fixedtextformat\gre@fixedtextformat %
+ \ifx\gre@saved@syllable@fixedtextformat\gre@fixedtextformat %
\gre@debugmsg{syllablerewriting}{merging format when prepending previous last syllable part}%
- \gre@fixedtextformat{\gre@pointandclick{\gre@save@endsyllablepart}{\gre@save@pointandclick}#1}%
+ \gre@fixedtextformat{\gre@pointandclick{\gre@saved@syllable@endsyllablepart}{\gre@saved@syllable@pointandclick}#1}%
\else %
\gre@debugmsg{syllablerewriting}{prepending previous last syllable part}%
- \gre@save@fixedtextformat{\gre@pointandclick{\gre@save@endsyllablepart}{\gre@save@pointandclick}}%
+ \gre@saved@syllable@fixedtextformat{\gre@pointandclick{\gre@saved@syllable@endsyllablepart}{\gre@saved@syllable@pointandclick}}%
\gre@fixedtextformat{#1}%
\fi %
\fi %
@@ -833,6 +807,9 @@
\gre@textclearedtrue%
}%
+\def\gre@arg@oftwo@first#1#2{#1}%
+\def\gre@arg@oftwo@second#1#2{#2}%
+
%% general macro : it will typeset the syllable : arguments are :
% #1 : macro setting the letters of this syllable
% #2 : reserved (unused)
@@ -843,7 +820,7 @@
% the three next parameters are to put an hyphen if necessary, they can be empty for end of words
% #5 : macros setting next syllable letters of the next syllable
% #6 : the line:char:column for a textedit link
-% #7 : alignment type of the first next glyph
+% #7 : alignment type of the first next glyph (this is a pair: alignment type and alteration type)
% #8 : other macros (translation, double text, etc.) that don't fit in the limitation of the number of arguments
%% with a special option for #7 : if it is a bar, we don't put a space at the end
%% at the end we wall \greendofword or \gre@endofsyllable with #7, to reduce the space in case of a flat or natural
@@ -878,7 +855,7 @@
#1%
\gre@firstglyphtrue%
\gre@dimen@bolextra = 0pt\relax%
- \gre@calculate@textaligncenter{\gre@save@endsyllablepart}{\gre@firstsyllablepart}{\gre@middlesyllablepart}{0}% we first get the width between the alignment point and the end of the syllable
+ \gre@calculate@textaligncenter{\gre@saved@syllable@endsyllablepart}{\gre@firstsyllablepart}{\gre@middlesyllablepart}{0}% we first get the width between the alignment point and the end of the syllable
\gre@syllablenotes{#9}% we put the notes in a box, so that we have the width of it
% now we calculate the begin difference, that is to say \gre@dimen@notesaligncenter - \gre@dimen@textaligncenter
\gre@dimen@begindifference=\dimexpr(\gre@dimen@notesaligncenter - \gre@dimen@textaligncenter)\relax %
@@ -927,7 +904,7 @@
% by default, gre@attr@dash will be 2
\gre@attr@dash=2\relax %
#5%
- \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}{#7}%
+ \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}#7%
\gre@unsetfixednexttextformat %
\ifgre@showlyrics%
\setbox\gre@box@syllabletext=\hbox{%
@@ -947,13 +924,14 @@
\gre@calculate@enddifference{\wd\gre@box@syllablenotes}{\wd\gre@box@syllabletext}{\gre@dimen@textaligncenter}{\gre@dimen@notesaligncenter}{1}%
% gre@count@temp@one holds 0 if next is a not bar, 1 if it is
\gre@count@temp@one=0%
- \ifnum#7>9\relax %
- \ifnum#7<20\relax %
+ \ifnum\gre@arg@oftwo@second#7=0\relax %
+ \ifnum\gre@arg@oftwo@first#7>9\relax %
\gre@count@temp@one=1\relax %
- \else %
- \gre@count@temp@one=2\relax %
\fi %
+ \else %
+ \gre@count@temp@one=2\relax %
\fi %
+ \gre@debugmsg{spacing}{ gre@count@temp@one = \the\gre@count@temp@one}%
\gre@calculate@syllablefinalskip{#4}{\gre@count@temp@one}%
\ifcase#4 %
% we enter here if the end of word is 0, so we must determine if we need to type a dash here
@@ -1013,7 +991,7 @@
\fi%
\fi %
% recomputing end difference and final skip with the final hyphen
- \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}{#7}%
+ \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}#7%
\gre@calculate@enddifference{\wd\gre@box@syllablenotes}{\wd\gre@box@syllabletext}{\gre@dimen@textaligncenter}{\gre@dimen@notesaligncenter}{0}%
\gre@calculate@syllablefinalskip{#4}{\gre@count@temp@one}%
\else %
@@ -1084,7 +1062,7 @@
\GreNoBreak %
\fi%
% we call end of syllable
- \gre@syllable@end{#7}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart\gre@nextmiddlesyllablepart\gre@nextendsyllablepart}}{#4}%
+ \gre@syllable@end#7{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart\gre@nextmiddlesyllablepart\gre@nextendsyllablepart}}{#4}%
\gre@push@endsyllable{#6}\relax %
\global\gre@dimen@notesaligncenter=0pt\relax% very important, see flat and natural
\gre@unsetfixedtextformat %
@@ -1123,15 +1101,16 @@
%% @desc Macro to make a few checks and call the right macros between
%% \endbeforebar, \endofword, \endofsyllable
-%% @arg#1 next syllable type (#7 of \GreSyllable)
-%% @arg#2 next syllable text
-%% @arg#3 end of word or not (#4 of \GreSyllable)
-\def\gre@syllable@end#1#2#3{%
- \gre@trace{gre@syllable@end{#1}{#2}{#3}}%
+%% @arg#1 next syllable alignment type (#7:1 of \GreSyllable)
+%% @arg#2 next syllable alteration type (#7:2 of \GreSyllable)
+%% @arg#3 next syllable text
+%% @arg#4 end of word or not (#4 of \GreSyllable)
+\def\gre@syllable@end#1#2#3#4{%
+ \gre@trace{gre@syllable@end{#1}{#2}{#3}{#4}}%
% gre@count@temp@one holds 0 if next is a not bar, 1 if it is
\gre@count@temp@one=0%
- \ifnum#1>9\relax %
- \ifnum#1<20\relax %
+ \ifnum#2=0\relax %
+ \ifnum#1>9\relax %
\gre@count@temp@one=1%
\fi %
\fi %
@@ -1141,7 +1120,7 @@
\gre@endofsyllable{0}{1}{1}%
\else %
% otherwise we call it with 1 only if there is no letters after (we can see it with nextbegindifference)
- \setbox\gre@box@temp@width=\hbox{#2}%
+ \setbox\gre@box@temp@width=\hbox{#3}%
\ifdim\wd\gre@box@temp@width=0pt\relax%
\gre@endofsyllable{0}{1}{1}%
\else %
@@ -1152,8 +1131,8 @@
\ifnum\gre@lastoflinecount=1\relax %
\global\gre@lastoflinecount=2\relax %
\fi %
- \gre@debugmsg{syllablespacing}{ calling endofsyllable with #3}%
- \gre@endofsyllable{1}{#3}{0}%
+ \gre@debugmsg{syllablespacing}{ calling endofsyllable with #4}%
+ \gre@endofsyllable{1}{#4}{0}%
\fi %
\gre@trace@end%
}
@@ -1243,6 +1222,7 @@
%a macro to typeset a syllable with only a bar inside
\def\GreBarSyllable#1#2#3#4#5#6#7#8#9{%
+ \gre@trace{GreBarSyllable{#1}{#2}{#3}{#4}{#5}{#6}{#7}{#8}{#9}}%
\gre@textclearedfalse%
\gre@debugmsg{general}{}%
\gre@debugmsg{general}{New bar syllable}%
@@ -1255,7 +1235,7 @@
% there are two different cases that have almost nothing in common : the case where there is something written under the bar, and the case where there is nothing.
% first of all we need to calculate previousenddifference, begindifference, enddifference and nextbegindifference.
#1%
- \gre@calculate@textaligncenter{\gre@save@endsyllablepart}{\gre@firstsyllablepart}{\gre@middlesyllablepart}{0}%
+ \gre@calculate@textaligncenter{\gre@saved@syllable@endsyllablepart}{\gre@firstsyllablepart}{\gre@middlesyllablepart}{0}%
\ifgre@showlyrics%
\setbox\gre@box@syllabletext=\hbox{%
\IfSubStr{\gre@debug}{,barspacing,}%
@@ -1272,7 +1252,7 @@
\setbox\gre@box@syllabletext=\box\voidb@x%
\fi%
\gre@debugmsg{barspacing}{Width of bar text: \the\wd\gre@box@syllabletext}%
- \global\let\gre@newlinecommonsaved\gre@newlinecommon %
+ \global\let\gre@saved@prelinedelay@newlinecommon\gre@newlinecommon %
\global\let\gre@newlinecommon\gre@newlinecommondelayed %
\xdef\gre@newlinearg{-1}%
\gre@syllablenotes{#9}%
@@ -1281,7 +1261,7 @@
\gre@dimen@begindifference=\dimexpr(\gre@dimen@notesaligncenter - \gre@dimen@textaligncenter)\relax%
\gre@calculate@enddifference{\wd\gre@box@syllablenotes}{\wd\gre@box@syllabletext}{\gre@dimen@textaligncenter}{\gre@dimen@notesaligncenter}{1}%
#5%
- \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}{#7}%
+ \gre@calculate@nextbegindifference{\gre@emit@endsyllablepartfornextsyllable}{\gre@evaluatenextsyllable{\gre@nextfirstsyllablepart}}{\gre@evaluatenextsyllable{\gre@nextmiddlesyllablepart}}{\gre@evaluatenextsyllable{\gre@nextendsyllablepart}}#7%
\gre@unsetfixednexttextformat %
\gre@debugmsg{barspacing}{previousenddifference: \the\gre@dimen@previousenddifference}%
\gre@debugmsg{barspacing}{begindifference: \the\gre@dimen@begindifference}%
@@ -1291,7 +1271,7 @@
%
% New bar spacing algorithm
%
- \gre@calculate@barposition{#4}{#7}%
+ \gre@calculate@barposition{#4}{\gre@arg@oftwo@second#7}%
\ifgre@textcleared%
\gre@clearsyllable{bar}%
\fi%
@@ -1335,7 +1315,7 @@
{\raise 12pt\hbox to 0pt{\rule{0.4pt}{12pt}\hss}}%
{}% do nothing if not debugging
\fi%
- \global\let\gre@newlinecommon\gre@newlinecommonsaved %
+ \global\let\gre@newlinecommon\gre@saved@prelinedelay@newlinecommon %
\GreNoBreak%
% get into position to place the penalty
\ifdim\gre@dimen@enddifference < 0pt\relax%
@@ -1418,7 +1398,7 @@
\gre@clearsyllable{bar}%
\fi%
% then we check if there is something to write
- \global\let\gre@newlinecommon\gre@newlinecommonsaved %
+ \global\let\gre@newlinecommon\gre@saved@prelinedelay@newlinecommon %
\gre@debugmsg{ifdim}{ wd(gre@box@syllabletext) = 0pt}%
\ifdim\wd\gre@box@syllabletext = 0 pt\relax %
% the most difficult case : when there is nothing to write
@@ -1544,6 +1524,7 @@
\gre@localrightbox{}%
\fi\fi %
\relax%
+ \gre@trace@end%
}
\newif\ifgre@newbarspacing%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-symbols.lua b/support/gregoriotex/tex/luatex/gregoriotex-symbols.lua
index 8e9f0a3194..19f915f105 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-symbols.lua
+++ b/support/gregoriotex/tex/luatex/gregoriotex-symbols.lua
@@ -1,6 +1,6 @@
--GregorioTeX Symbols Lua support file.
--
---Copyright (C) 2016-2019 The Gregorio Project (see CONTRIBUTORS.md)
+--Copyright (C) 2016-2021 The Gregorio Project (see CONTRIBUTORS.md)
--
--This file is part of Gregorio.
--
@@ -19,7 +19,7 @@
-- this file contains lua functions to support signs used by GregorioTeX.
--- GREGORIO_VERSION 5.2.1
+-- GREGORIO_VERSION 6.0.0-beta1
local err = gregoriotex.module.err
local warn = gregoriotex.module.warn
diff --git a/support/gregoriotex/tex/luatex/gregoriotex-symbols.tex b/support/gregoriotex/tex/luatex/gregoriotex-symbols.tex
index 61478295e0..d99afede5d 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex-symbols.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex-symbols.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 @@
\ifcsname gregoriotex@symbols@loaded\endcsname\endinput\fi%
\def\gregoriotex@symbols@loaded{}%
-\gre@declarefileversion{gregoriotex-symbols.tex}{5.2.1}% GREGORIO_VERSION
+\gre@declarefileversion{gregoriotex-symbols.tex}{6.0.0-beta1}% GREGORIO_VERSION
\RequireLuaModule{gregoriotex}%
diff --git a/support/gregoriotex/tex/luatex/gregoriotex.lua b/support/gregoriotex/tex/luatex/gregoriotex.lua
index f3ad902b5a..e16f193552 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex.lua
+++ b/support/gregoriotex/tex/luatex/gregoriotex.lua
@@ -1,6 +1,6 @@
--GregorioTeX Lua file.
--
---Copyright (C) 2008-2019 The Gregorio Project (see CONTRIBUTORS.md)
+--Copyright (C) 2008-2021 The Gregorio Project (see CONTRIBUTORS.md)
--
--This file is part of Gregorio.
--
@@ -24,16 +24,16 @@ local hpack, traverse, traverse_id, has_attribute, count, remove, insert_after,
gregoriotex = gregoriotex or {}
local gregoriotex = gregoriotex
-local internalversion = '5.2.1' -- GREGORIO_VERSION (comment used by VersionManager.py)
+local internalversion = '6.0.0-beta1' -- GREGORIO_VERSION (comment used by VersionManager.py)
local err, warn, info, log = luatexbase.provides_module({
name = "gregoriotex",
- version = '5.2.1', -- GREGORIO_VERSION
+ version = '6.0.0-beta1', -- GREGORIO_VERSION
greinternalversion = internalversion,
- date = "2019/04/06", -- GREGORIO_DATE_LTX
+ date = "2021/02/23", -- GREGORIO_DATE_LTX
description = "GregorioTeX module.",
author = "The Gregorio Project (see CONTRIBUTORS.md)",
- copyright = "2008-2019 - The Gregorio Project",
+ copyright = "2008-2021 - The Gregorio Project",
license = "GPLv3+",
})
@@ -146,7 +146,7 @@ local function gregorio_exe()
local exe_version
-- first look for one with the exact version
- real_gregorio_exe = 'gregorio-5_2_1' -- FILENAME_VERSION
+ real_gregorio_exe = 'gregorio-6_0_0-beta1' -- FILENAME_VERSION
local cmd = string.format([[%s -o "%%s" "%s"]], real_gregorio_exe,
test_snippet_filename)
exe_version = get_prog_output(cmd, '*line')
@@ -769,11 +769,10 @@ local function clean_old_gtex_files(file_withdir)
string.find(os.getenv("PATH"),";",1,true)
if onwindows then
sep = "\\"
- dirpath = string.match(file_withdir, "(.*)"..sep)
else
sep = "/"
- dirpath = string.match(file_withdir, "(.*)"..sep)
end
+ dirpath = string.match(file_withdir, "(.*)"..sep)
if dirpath then -- dirpath is nil if current directory
filename = "^"..file_withdir:match(".*/".."(.*)").."%-%d+_%d+_%d+[-%a%d]*%.gtex$"
for a in lfs.dir(dirpath) do
@@ -854,6 +853,37 @@ local function compile_gabc(gabc_file, gtex_file, glog_file, allow_deprecated)
end
end
+local function locate_file(filename)
+ local result
+ if not gre_input_path then
+ gre_input_path = {""}
+ end
+ for i,k in pairs(gre_input_path) do
+ log("Looking in %s", k)
+ if lfs.isfile(k .. filename) then
+ result = k..filename
+ if result == filename then
+ log("Found %s directly", filename)
+ else
+ log("Found %s in %s", filename, k)
+ end
+ break
+ end
+ end
+ if not result then
+ result = kpse.find_file(filename)
+ if result then
+ log("Found %s at\n%s using kpsewhich", filename, result)
+ if string.match(result," ") then
+ warn("%s contains a space in the path\nTeX will likely complain about this", filename)
+ end
+ else
+ log("Cannot find %s", filename)
+ end
+ end
+ return result
+end
+
local function include_score(input_file, force_gabccompile, allow_deprecated)
if string.match(input_file, "[#%%]") then
err("GABC filename contains invalid character(s): # %%\n"
@@ -872,15 +902,17 @@ local function include_score(input_file, force_gabccompile, allow_deprecated)
end
local cleaned_filename = input_name:gsub("[%s%+%&%*%?$@:;!\"\'`]", "-")
- local gabc_file = string.format("%s%s.gabc", file_dir, input_name)
- local gtex_file = string.format("%s%s-%s.gtex", file_dir, cleaned_filename,
+ local gabc_filename = string.format("%s%s.gabc", file_dir, input_name)
+ local gabc_file = locate_file(gabc_filename)
+ local gtex_filename = string.format("%s%s-%s.gtex", file_dir, cleaned_filename,
internalversion:gsub("%.", "_"))
+ local gtex_file = locate_file(gtex_filename)
local glog_file = string.format("%s%s-%s.glog", file_dir, cleaned_filename,
internalversion:gsub("%.", "_"))
- if not lfs.isfile(gtex_file) then
+ if not gtex_file then
clean_old_gtex_files(file_dir..cleaned_filename)
- log("The file %s does not exist. Searching for a gabc file", gtex_file)
- if lfs.isfile(gabc_file) then
+ log("The file %s does not exist. Will use gabc file", gtex_filename)
+ if gabc_file then
local gabc = io.open(gabc_file, 'r')
if gabc == nil then
err("\n Unable to open %s", gabc_file)
@@ -888,14 +920,18 @@ local function include_score(input_file, force_gabccompile, allow_deprecated)
else
gabc:close()
end
- compile_gabc(gabc_file, gtex_file, glog_file, allow_deprecated)
- tex.print(string.format([[\input %s\relax]], gtex_file))
+ compile_gabc(gabc_file, gtex_filename, glog_file, allow_deprecated)
+ tex.print(string.format([[\input %s\relax]], gtex_filename))
return
else
- err("The file %s does not exist.", gabc_file)
+ err("The file %s does not exist", gabc_filename)
return
end
end
+ if not gabc_file then
+ tex.print(string.format([[\input %s\relax]], gtex_file))
+ return
+ end
local gtex_timestamp = lfs.attributes(gtex_file).modification
local gabc_timestamp = lfs.attributes(gabc_file).modification
-- open the gabc file for reading so that LuaTeX records input from it
@@ -930,7 +966,7 @@ local function direct_gabc(gabc, header, allow_deprecated)
local f = io.open(snippet_filename, 'w')
-- trims spaces on both ends (trim6 from http://lua-users.org/wiki/StringTrim)
gabc = gabc:match('^()%s*$') and '' or gabc:match('^%s*(.*%S)')
- f:write('name:direct-gabc;\n'..(header or '')..'\n%%\n'..gabc:gsub('\\par ', '\n'))
+ f:write('name:direct-gabc;\n'..(header or '')..'\n%%\n'..gabc:gsub('\\par', '\n'))
f:close()
local cmd = string.format([[%s -W %s-o "%%s" -l "%s" "%s"]], gregorio_exe(),
deprecated, snippet_logname, snippet_filename)
@@ -959,8 +995,10 @@ local function direct_gabc(gabc, header, allow_deprecated)
end
glog:close()
end
- os.remove(snippet_filename)
- os.remove(snippet_logname)
+ if not (debug_types_activated['snippet'] or debug_types_activated['all']) then
+ os.remove(snippet_filename)
+ os.remove(snippet_logname)
+ end
end
local function get_gregoriotexluaversion()
diff --git a/support/gregoriotex/tex/luatex/gregoriotex.tex b/support/gregoriotex/tex/luatex/gregoriotex.tex
index a00003eba2..e50be69975 100644
--- a/support/gregoriotex/tex/luatex/gregoriotex.tex
+++ b/support/gregoriotex/tex/luatex/gregoriotex.tex
@@ -1,6 +1,6 @@
% GregorioTeX boostrap file for Plain TeX
%
-% Copyright (C) 2015-2019 The Gregorio Project (see CONTRIBUTORS.md)
+% Copyright (C) 2015-2021 The Gregorio Project (see CONTRIBUTORS.md)
%
% This file is part of Gregorio.
%
@@ -21,13 +21,14 @@
% 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.
-% [2019/04/06 v5.2.1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+% [2021/02/23 v6.0.0-beta1 GregorioTeX system.]% PARSE_VERSION_DATE_LTX
+\input iftex.sty
+\RequireLuaTeX%
\edef\greoldcatcode{\the\catcode`@}
\catcode`\@=11
-\input ifluatex.sty%
\input luatexbase.sty%
\input luamplib.sty%
\input luaotfload.sty%