summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2015-10-09 08:32:06 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2015-10-09 08:32:06 +0000
commitfee5243611f1fdbd9e8cc2406d4d862a715bcc8d (patch)
tree17928f12cd770d2a28d2a2a8535e9d944c72276e /Build
parent6c966bd17e55fd257fa07b6a04d4480c5768930f (diff)
gregorio 4.0.0-rc1
git-svn-id: svn://tug.org/texlive/trunk@38597 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/README2
-rw-r--r--Build/source/texk/gregorio/ChangeLog5
-rw-r--r--Build/source/texk/gregorio/config_.h.in3
-rwxr-xr-xBuild/source/texk/gregorio/configure113
-rw-r--r--Build/source/texk/gregorio/configure.ac1
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/patch-10-const38
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/.DS_Storebin6148 -> 0 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_gregorio.tex854
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/ChangeLog (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/ChangeLog)6
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/TL-Changes (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/TL-Changes)4
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/patch-01-protos24
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/.gregorio-version (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/.gregorio-version)2
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/CHANGELOG.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/CHANGELOG.md)16
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTING.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTING.md)13
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTORS.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTORS.md)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/COPYING.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/COPYING.md)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/Makefile.am (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/Makefile.am)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/README.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/README.md)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/UPGRADE.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/UPGRADE.md)58
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/VersionManager.py (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/VersionManager.py)2
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/build.sh (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/build.sh)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/configure.ac (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/configure.ac)6
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/900_gregorio.xml (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/900_gregorio.xml)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/Makefile.am (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/Makefile.am)2
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/README.md (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/README.md)0
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/LuaLaTeX+se.engine (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/LuaLaTeX+se.engine)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/gregorio.scpt (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/gregorio.scpt)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc-syntax.plist (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc-syntax.plist)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.lang (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.lang)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.vim (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.vim)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.xml (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.xml)0
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gprocess (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gprocess)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio-scribus.lua (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio-scribus.lua)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio.png (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio.png)bin916 -> 916 bytes
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.bat145
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.sh141
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.Debian8
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.md51
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/debian/build-deb.sh70
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/changelog158
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/compat1
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/control28
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/copyright152
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregorio.docs5
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.dirs5
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.docs2
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.install6
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/manpage.xml224
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/debian/rules90
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/source/format1
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/watch4
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Appendix_Font_Tables.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Appendix_Font_Tables.tex)76
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_User.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_User.tex)493
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_gregorio.tex886
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_internal.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_internal.tex)657
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Gabc.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Gabc.tex)68
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef-4_0_0-rc1.pdf (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef-4_0_0-beta2.pdf)bin274464 -> 274464 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef.tex)178
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef-4_0_0-rc1.pdf (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef-4_0_0-beta2.pdf)bin479456 -> 479456 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.lua (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.lua)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.tex)153
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Makefile.am (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Makefile.am)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/README.md19
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/factus.gabc (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/factus.gabc)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/veni.gabc (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/veni.gabc)0
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/doc_check.sh118
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/FactusEst.gabc (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/FactusEst.gabc)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/Makefile.am (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/Makefile.am)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/PopulusSion.gabc (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/PopulusSion.gabc)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/main-lualatex.tex (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/main-lualatex.tex)0
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/install-gtex.sh (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/install-gtex.sh)0
-rwxr-xr-xBuild/source/texk/gregorio/gregorio-4.0.0-rc1/install.sh (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/install.sh)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_compile_flag.m4 (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_compile_flag.m4)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_link_flag.m4 (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_link_flag.m4)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/pkg.m4 (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/pkg.m4)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/Makefile.am (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/Makefile.am)17
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/bool.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/bool.h)4
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.c)541
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.h)12
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config_.h.in (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config_.h.in)3
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/dump/dump.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/dump/dump.c)5
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/encode_utf8strings.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/encode_utf8strings.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-elements-determination.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-elements-determination.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-glyphs-determination.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-glyphs-determination.c)38
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination-l.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination-l.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination.l (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination.l)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.c)357
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.h)1
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.l (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.l)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.y (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.y)39
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-write.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-write.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregorio-utils.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregorio-utils.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-position.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-position.c)10
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-write.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-write.c)36
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/plugins.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/plugins.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.c)103
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.h)11
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h.in (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h.in)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.l (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.l)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.y (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.y)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.c (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.c)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.h (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.h)0
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.md22
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.txt16
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-32.bmpbin0 -> 4150 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-image.bmpbin0 -> 154542 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-resources.rc (renamed from Build/source/texk/gregorio/gregorio-4.0.0-beta2/windows/gregorio-resources.rc)4
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.icobin0 -> 282350 bytes
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.iss187
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-mt.lua132
-rw-r--r--Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-tl.lua189
-rw-r--r--Build/source/texk/gregorio/version.ac2
132 files changed, 4328 insertions, 2289 deletions
diff --git a/Build/source/texk/README b/Build/source/texk/README
index f7516579a26..58ac518b355 100644
--- a/Build/source/texk/README
+++ b/Build/source/texk/README
@@ -62,7 +62,7 @@ dvipsk - maintained here, by us
dvisvgm 1.11 - checked 29sep15
http://dvisvgm.bplaced.net/Downloads
-gregorio 4.0.0-beta2
+gregorio 4.0.0-rc1 - checked 9oct15
https://github.com/gregorio-project/gregorio/releases/
gsftopk - from Paul Vojta's xdvi?
diff --git a/Build/source/texk/gregorio/ChangeLog b/Build/source/texk/gregorio/ChangeLog
index a57cafab1a5..c85f961dc3c 100644
--- a/Build/source/texk/gregorio/ChangeLog
+++ b/Build/source/texk/gregorio/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import gregorio-4.0.0-rc1.
+ * configure.ac, version.ac: Adapted.
+
2015-09-02 Peter Breitenlohner <peb@mppmu.mpg.de>
Import gregorio-4.0.0-beta2.
diff --git a/Build/source/texk/gregorio/config_.h.in b/Build/source/texk/gregorio/config_.h.in
index 1522aa9beda..bf689b3817f 100644
--- a/Build/source/texk/gregorio/config_.h.in
+++ b/Build/source/texk/gregorio/config_.h.in
@@ -106,9 +106,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
/* Define to the sub-directory where libtool stores uninstalled libraries. */
#undef LT_OBJDIR
diff --git a/Build/source/texk/gregorio/configure b/Build/source/texk/gregorio/configure
index 9b4d57339cf..3a024fe7fa4 100755
--- a/Build/source/texk/gregorio/configure
+++ b/Build/source/texk/gregorio/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for ChkTeX (TeX Live) 4.0.0-beta2.
+# Generated by GNU Autoconf 2.69 for ChkTeX (TeX Live) 4.0.0-rc1.
#
# Report bugs to <tex-k@tug.org>.
#
@@ -590,12 +590,12 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ChkTeX (TeX Live)'
PACKAGE_TARNAME='chktex--tex-live-'
-PACKAGE_VERSION='4.0.0-beta2'
-PACKAGE_STRING='ChkTeX (TeX Live) 4.0.0-beta2'
+PACKAGE_VERSION='4.0.0-rc1'
+PACKAGE_STRING='ChkTeX (TeX Live) 4.0.0-rc1'
PACKAGE_BUGREPORT='tex-k@tug.org'
PACKAGE_URL=''
-ac_unique_file="gregorio-4.0.0-beta2/src/gregorio-utils.c"
+ac_unique_file="gregorio-4.0.0-rc1/src/gregorio-utils.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
@@ -1329,7 +1329,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ChkTeX (TeX Live) 4.0.0-beta2 to adapt to many kinds of systems.
+\`configure' configures ChkTeX (TeX Live) 4.0.0-rc1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1400,7 +1400,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ChkTeX (TeX Live) 4.0.0-beta2:";;
+ short | recursive ) echo "Configuration of ChkTeX (TeX Live) 4.0.0-rc1:";;
esac
cat <<\_ACEOF
@@ -1519,7 +1519,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ChkTeX (TeX Live) configure 4.0.0-beta2
+ChkTeX (TeX Live) configure 4.0.0-rc1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2175,7 +2175,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ChkTeX (TeX Live) $as_me 4.0.0-beta2, which was
+It was created by ChkTeX (TeX Live) $as_me 4.0.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -7860,7 +7860,7 @@ fi
# Define the identity of the package.
PACKAGE='chktex--tex-live-'
- VERSION='4.0.0-beta2'
+ VERSION='4.0.0-rc1'
cat >>confdefs.h <<_ACEOF
@@ -13464,93 +13464,6 @@ fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5
-$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; }
-if ${ac_cv_header_stdbool_h+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
- #include <stdbool.h>
- #ifndef bool
- "error: bool is not defined"
- #endif
- #ifndef false
- "error: false is not defined"
- #endif
- #if false
- "error: false is not 0"
- #endif
- #ifndef true
- "error: true is not defined"
- #endif
- #if true != 1
- "error: true is not 1"
- #endif
- #ifndef __bool_true_false_are_defined
- "error: __bool_true_false_are_defined is not defined"
- #endif
-
- struct s { _Bool s: 1; _Bool t; } s;
-
- char a[true == 1 ? 1 : -1];
- char b[false == 0 ? 1 : -1];
- char c[__bool_true_false_are_defined == 1 ? 1 : -1];
- char d[(bool) 0.5 == true ? 1 : -1];
- /* See body of main program for 'e'. */
- char f[(_Bool) 0.0 == false ? 1 : -1];
- char g[true];
- char h[sizeof (_Bool)];
- char i[sizeof s.t];
- enum { j = false, k = true, l = false * true, m = true * 256 };
- /* The following fails for
- HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */
- _Bool n[m];
- char o[sizeof n == m * sizeof n[0] ? 1 : -1];
- char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1];
- /* Catch a bug in an HP-UX C compiler. See
- http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html
- http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html
- */
- _Bool q = true;
- _Bool *pq = &q;
-
-int
-main ()
-{
-
- bool e = &s;
- *pq |= q;
- *pq |= ! q;
- /* Refer to every declared value, to avoid compiler optimizations. */
- return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l
- + !m + !n + !o + !p + !q + !pq);
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdbool_h=yes
-else
- ac_cv_header_stdbool_h=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5
-$as_echo "$ac_cv_header_stdbool_h" >&6; }
- ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default"
-if test "x$ac_cv_type__Bool" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE__BOOL 1
-_ACEOF
-
-
-fi
-
-
for ac_header in stdalign.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "stdalign.h" "ac_cv_header_stdalign_h" "$ac_includes_default"
@@ -13789,7 +13702,7 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
esac
-GREGORIO_TREE=gregorio-4.0.0-beta2
+GREGORIO_TREE=gregorio-4.0.0-rc1
PERL5='/usr/bin/env perl'
@@ -14208,7 +14121,7 @@ Usage: $0 [OPTIONS]
Report bugs to <bug-libtool@gnu.org>."
lt_cl_version="\
-ChkTeX (TeX Live) config.lt 4.0.0-beta2
+ChkTeX (TeX Live) config.lt 4.0.0-rc1
configured by $0, generated by GNU Autoconf 2.69.
Copyright (C) 2011 Free Software Foundation, Inc.
@@ -15795,7 +15708,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ChkTeX (TeX Live) $as_me 4.0.0-beta2, which was
+This file was extended by ChkTeX (TeX Live) $as_me 4.0.0-rc1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15861,7 +15774,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-ChkTeX (TeX Live) config.status 4.0.0-beta2
+ChkTeX (TeX Live) config.status 4.0.0-rc1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/texk/gregorio/configure.ac b/Build/source/texk/gregorio/configure.ac
index 527c4d41661..06f1cfa3a00 100644
--- a/Build/source/texk/gregorio/configure.ac
+++ b/Build/source/texk/gregorio/configure.ac
@@ -23,7 +23,6 @@ dnl Common code for all programs using libkpathsea.
KPSE_COMMON([gregorio])
dnl Checks for header files.
-AC_CHECK_HEADER_STDBOOL
AC_CHECK_HEADERS([stdalign.h])
AC_C_BIGENDIAN
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/patch-10-const b/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/patch-10-const
deleted file mode 100644
index 4e216037190..00000000000
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/patch-10-const
+++ /dev/null
@@ -1,38 +0,0 @@
- Replace string constant by non-const char array to avoid warning.
-
-diff -ur gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination.y gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.y
---- gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination.y 2015-08-25 20:17:26.000000000 +0200
-+++ gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.y 2015-09-02 10:45:09.000000000 +0200
-@@ -340,7 +340,8 @@
- }
-
- if (!got_language) {
-- gregorio_set_centering_language("Latin");
-+ static char lang_Latin[] = "Latin";
-+ gregorio_set_centering_language(lang_Latin);
- }
- }
-
-diff -ur gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination-y.c gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.c
---- gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination-y.c 2015-08-26 22:44:34.000000000 +0200
-+++ gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.c 2015-09-02 10:46:15.000000000 +0200
-@@ -414,7 +414,8 @@
- }
-
- if (!got_language) {
-- gregorio_set_centering_language("Latin");
-+ static char lang_Latin[] = "Latin";
-+ gregorio_set_centering_language(lang_Latin);
- }
- }
-
-diff -ur gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination-y.h gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.h
---- gregorio-4.0.0-beta2.orig/src/gabc/gabc-score-determination-y.h 2015-08-26 22:44:34.000000000 +0200
-+++ gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.h 2015-09-02 10:46:15.000000000 +0200
-@@ -1,5 +1,6 @@
- /* A Bison parser, made by GNU Bison 3.0.4. */
-
-+/* Make sure this file is newer than gabc-score-determinatio.y */
- /* Bison interface for Yacc-like parsers in C
-
- Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/.DS_Store b/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/.DS_Store
deleted file mode 100644
index 5008ddfcf53..00000000000
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/.DS_Store
+++ /dev/null
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_gregorio.tex b/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_gregorio.tex
deleted file mode 100644
index 801d2967ccd..00000000000
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_gregorio.tex
+++ /dev/null
@@ -1,854 +0,0 @@
-% !TEX root = GregorioRef.tex
-% !TEX program = LuaLaTeX+se
-\section{Gregorio Controls}
-
-These functions are the ones written by Gregorio to the gtex file.
-While one could, in theory, use/change them to alter the appearance of
-elements of the score, it is far better to make your changes in the
-gabc file and let Gregorio make the changes to the gtex file.
-
-\macroname{\textbackslash GreAnnotationLines}{\#1\#2}{gregoriotex-main.tex}
-A wrapper macro for placing annotations above the initial. The
-arguments are provided by the \texttt{gabc} file in the
-\texttt{annotation} header field. This macro tests for the presence
-of the annotation box which means that the annotation is explicitly
-defined in the \texttt{main.tex} file. If so, this macro does nothing,
-respecting the annotation value in the \texttt{main.tex} file.
-
-\begin{argtable}
- \#1 & string & First line text to place above the initial.\\
- \#2 & string & Second line text to place above the initial.\\
-\end{argtable}
-
-\macroname{\textbackslash GreBeginScore}{\#1\#2\#3\#4\#5\#6}{gregoriotex-main.tex}
-Macro to start a score.
-
-\begin{argtable}
- \#1 & string & a unique identifier for the score (currently an SHA-1-based digest of the gabc file)\\
- \#2 & integer & the height number of the top pitch of the entire score, including signs\\
- \#3 & integer & the height number of the bottom pitch of the entire score, including signs\\
- \#4 & 0 & there is no translation line in the score\\
- & 1 & there is a translation line somewhere in the score\\
- \#5 & 0 & there is no above lines text in the score\\
- & 1 & there is above lines text somewhere in the score\\
- \#6 & string & the absolute filename of the gabc file if point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GreEndScore}{}{gregoriotex-main.tex}
-Macro to end a score.
-
-\macroname{\textbackslash GreAccentus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting an accentus.
-
-\begin{argtable}
- \#1 & integer & height number of episemus\\
- \#2 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreAdditionalLine}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro to typeset the additional line above or below the staff.
-
-\begin{argtable}
- \#1 & string & See \nameref{EpisemusSpecial}.\\
- \#2 & integer & The ambitus of the porrectus or porrectus flexus if the first references these glyph types; ignored otherwise.\\
- \#3 & integer & Set horizontal episemus (0), horizontal episemus under a note (1), line at top of staff (2), line at bottom of staff (3), choral sign (4).\\
-\end{argtable}
-
-\macroname{\textbackslash GreAdjustSecondLine}{}{gregoriotex.tex}
-%didn't actually find this one in gregoriotex-write.c, classified it here based on it’s related function GreAdjustThirdLine
-Macro to call before first syllable, but after \verb=\GreSetInitialClef=.
-
-\macroname{\textbackslash GreAdjustThirdLine}{}{gregoriotex-main.tex}
-Macro to call during the second line.
-
-\macroname{\textbackslash GreAugmentumDuplex}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for typesetting an augmentum duplex (a pair of punctum mora)
-
-\begin{argtable}
- \#1 & integer & Height number for first punctum mora.\\
- \#2 & integer & Height number for second punctum mora.\\
- \#3 & integer & First punctum mora occurs before last note of a podatus, prorectus, or toculus resupinus (1), or not (0).\\
-\end{argtable}
-
-\macroname{\textbackslash GreBarBrace}{\#1}{gregoriotex-signs.tex}
-Macro for typesetting a bar brace.
-
-\begin{argtable}
- \#1 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreBarSyllable}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-syllable.tex}
-Macro for typesetting a bar syllable.
-
-\begin{argtable}
- \#1 & string & First part of syllable text associated with the bar.\\
- \#2 & string & Middle part of the syllable text associated with the bar.\\
- \#3 & string & End part of the syllable text associated with the bar.\\
- \#4 & & Not used.\\
- \#5 & \TeX\ code & Code to execute before calculating \texttt{nextbegindifference}.\\
- \#6 & & Not used.\\
- \#7 & $0 <$ integer $< 19$ & the type of notes alignment. See \nameref{notesalign}.\\
- & $20 <$ integer $< 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\
- & $40 <$ integer $< 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.\\
- \#8 & \TeX\ code & Code to execute before printing anything.\\
- \#9 & \TeX\ code & The bar line (usually a \textit{writebar} call).
-\end{argtable}
-
-\macroname{\textbackslash GreBarVEpisemus}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a vertical episemus around a bar.
-
-\begin{argtable}
- \#1 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreBeginEUOUAE}{}{gregoriotex-main.tex}
-Macro to mark the beginning of a EUOUAE block. Alters spacings and prohibits a line break until the end of the block.
-
-\macroname{\textbackslash GreBeginNLBArea}{\#1\#2}{gregoriotex-main.tex}
-Macro called at beginning of a no line break area.
-
-\begin{argtable}
- \#1 & 0 & Not in the neumes.\\
- & 1 & In the neumes.\\
- \#2 & 0 & Call didn't come from translation centering.\\
- & 1 & Call came from translation centering.
-\end{argtable}
-
-\macroname{\textbackslash GreBeginNotes}{}{gregoriotex.tex}
-Macro to draw the staff lines. Comes after the initial but before the clef.
-
-\macroname{\textbackslash GreBold}{\#1}{gregoriotex.sty and gregoriotex.tex}
-Makes argument bold. Accesses \LaTeX\ \verb=\textbf= (\textit{gregoriotex.sty}) or Plain\TeX\ \verb=\bf= (\textit{gregoriotex.tex}) as appropriate. Corresponds to ``<b></b>'' tags in gabc.
-
-\begin{argtable}
- \#1 & string & Text to be typeset in bold.\\
-\end{argtable}
-
-\macroname{\textbackslash GreChangeClef}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
-Macro called when key changes
-
-\begin{argtable}
- \#1 & character & Type of new clef (c or f).\\
- \#2 & integer & Line of new clef.\\
- \#3 & 0 & Print space before clef.\\
- & 1 & Do not print space before clef.\\
- \#4 & integer & Height number of flat in key (`0' for no flat).\\
-\end{argtable}
-
-\macroname{\textbackslash GreCirculus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting a circulus.
-
-\begin{argtable}
- \#1 & integer & Height number of circulus.\\
- \#2 & string & Type of glyph the circulus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreColored}{\#1}{gregoriotex.sty and gregoriotex.tex}
-Colors argument (a string) in \verb=gregoriocolor.= Corresponds to ``<c></c>'' tags in gabc. Does nothing in Plain\TeX\ because color is not supported there.
-
-\macroname{\textbackslash GreCPVirgaReversaAscendensOnDLine}{\#1}{gregoriotex-main.tex}
-Allows the Dominican rule set to force long stems to be used for virga
-reversa ascendens neumes on the ``d'' (lowest) line. This macro is
-defined and re-defined by the \verb=\gresetgregoriofont= macro.
-
-\begin{argtable}
- \#1 & \TeX{} code & The \TeX{} code to use when long stems are not forced.\\
-\end{argtable}
-
-\macroname{\textbackslash GreCP...}{}{gregoriotex-main.tex}
-A class of macros which point to the individual characters in a Gregoiro\TeX\ compatible font. This class of macros is dynamically mapped from the glyph names embedded in the \texttt{ttf} file via a Lua script to ensure that the code points match up with the installed font.
-
-\macroname{\textbackslash GreCustos}{\#1}{gregoriotex-signs.tex}
-Typesets a custos.
-
-\begin{argtable}
- \#1 & integer & Height number of custos.\\
-\end{argtable}
-
-\macroname{\textbackslash GreDagger}{}{gregoriotex-symbols.tex}
-Macro to typeset a dagger (\GreDagger).
-
-\macroname{\textbackslash GreDiscretionary}{\#1\#2}{gregoriotex-signs.tex}
-A GregorioTeX specific discretionary used to avoid clef change at beginning or end of line, or even with more complex data (z0::c3 for instance). We require a special function because in the normal discretionary function you cannot use \verb=\hskip= (but you can use \verb=\kern=) and you cannot use \verb=\penalty= (which is useless indeed). This macro corrects for these two limitations.
-
-\macroname{\textbackslash GreDivisioFinalis}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a divisio finalis.
-
-\begin{argtable}
- \#1 & code & Macros which may happen before the skip but after the divisio finalis (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreDivisioMaior}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a divisio maior.
-
-\begin{argtable}
- \#1 & code & Macros which may happen before the skip but after the divisio maior (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreDivisioMinima}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a divisio minima.
-
-\begin{argtable}
- \#1 & code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreDivisioMinor}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a divisio minor.
-
-\begin{argtable}
- \#1 & code & Macros which may happen before the skip but after the divisio minor (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreDominica}{\#1\#2}{gregoriotex-signs.tex}
-Macro to typeset a dominican bar.
-
-\begin{argtable}
- \#1 & integer 1-- 6& Type of dominican bar. Corresponds to bar types 6--11 in \verb=\grewritebar=.\\
- \#2 & code & Macros which may happen before the skip but after the divisio dominica (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreEndEUOUAE}{\#1}{gregoriotex-main.tex}
-Macro to mark the end of a EUOUAE block.
-
-\begin{argtable}
- \#1 & 0 & ending element\\
- & 1 & ending syllable\\
- & 2 & ending score\\
- & 3 & before bar
-\end{argtable}
-
-\macroname{\textbackslash GreEndOfElement}{\#1\#2}{gregoriotex-main.tex}
-Macro to end elements.
-
-\begin{argtable}
- \#1 & 0 & Default space.\\
- & 1 & Larger space.\\
- & 2 & Glyph space.\\
- & 3 & Zero-width space.\\
- \#2 & 0 & Space is breakable.\\
- & 1 & Space is unbreakable.\\
-\end{argtable}
-
-\macroname{\textbackslash GreEndNLBArea}{\#1\#2}{gregoriotex-main.tex}
-Macro to end a no line break area.
-
-\begin{argtable}
- \#1 & 0 & ending element\\
- & 1 & ending syllable\\
- & 2 & ending score\\
- & 3 & before bar\\
- \#2 & 0 & ??\\ %I can’t tell what this flag is for
- & else & ??
-\end{argtable}
-
-\macroname{\textbackslash GreEndOfGlyph}{\#1}{gregoriotex-main.tex}
-Macro to end a glyph without ending the element.
-
-\begin{argtable}
- \#1 & 0 & Default space.\\
- & 1 & Zero-width space.\\
- & 2 & Space between flat or natural and a note.\\
- & 3 & Space between two puncta inclinata.\\
- & 4 & Space between bivirga or trivirga.\\
- & 5 & space between bistropha or tristropha.\\
- & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
- & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
- & 8 & Space between two puncta inclinata debilis.\\
- & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
- & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
- & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).\\
-\end{argtable}
-
-\macroname{\textbackslash GreFinalDivisioFinalis}{\#1}{gregoriotex-signs.tex}
-Macro to end a score with a divisio finalis.
-
-\begin{argtable}
- \#1 & 0 & Something does not need to be placed after the divisio finalis.\\
- & 1 & Something needs to be placed after the divisio finalis.\\
-\end{argtable}
-
-\macroname{\textbackslash GreFinalDivisioMaior}{\#1}{gregoriotex-signs.tex}
-Macro to end a score with a divisio maior.
-
-\begin{argtable}
- \#1 & 0 & Something does not need to be placed after the divisio maior.\\
- & 1 & Something needs to be placed after the divisio maior.\\
-\end{argtable}
-
-\macroname{\textbackslash GreFirstSyllable}{\{\#1\}}{gregoriotex-syllble.tex}
-A macro which is called with the text of the first syllable, excluding the
-initial of the score. This macro may be redefined to style the first syllable
-appropriately. This macro may be called up to three times: for the letters
-before the centered letters, for the centered letters, and for the letters
-after the centered letters.
-
-\begin{argtable}
- \#1 & string & Text from the first syllable.
-\end{argtable}
-
-\macroname{\textbackslash GreFirstSyllableInitial}{\{\#1\}}{gregoriotex-syllble.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.
-
-\begin{argtable}
- \#1 & string & The first letter of the first syllable which is not the
- initial of the score.
-\end{argtable}
-
-\macroname{\textbackslash GreFlat}{\#1\#2}{gregoriotex-signs.tex}
-Macro to typeset a flat.
-
-\begin{argtable}
- \#1 & integer & Height number of the flat.\\
- \#2 & 0 & No flat for a key change.\\
- & 1 & Indicates the flat for a key change.\\
-\end{argtable}
-
-\macroname{\textbackslash GreFuseTwo}{\#1\#2}{gregoriotex-main.tex}
-Macro for fusing two glyphs to create a larger neume.
-
-\begin{argtable}
- \#1 & Gregorio\TeX\ glyph & The first glyph in the sequence.\\
- \#2 & Gregorio\TeX\ glyph & The second.
-\end{argtable}
-
-\macroname{\textbackslash GreGlyph}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-syllable.tex}
-Macro to typeset a glyph.
-
-\begin{argtable}
- \#1 & character & the character that it must call\\
- \#2 & integer & The number for where the glyph is located. \texttt{a} in gabc is 1, \texttt{b} is 2, \etc\\
- \#3 & integer & height number of the next note\\
- \#4 & 0 & One-note glyph or more than two notes glyph except porrectus: \ie, we must put the aligncenter in the middle of the first note\\
- & 1 & Two notes glyph (podatus is considered as a one-note glyph): \ie, 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\\
- \#5 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\
- \#6 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\
- \#7 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled
-\end{argtable}
-
-\macroname{\textbackslash GreGlyphHeights}{\#1\#2}{gregoriotex-syllable.tex}
-Passes the glyph height limits. Currently does nothing, but will eventually be part of dynamic vertical spacing.
-
-\begin{argtable}
- \#1 & integer & the high height\\
- \#2 & integer & the low height
-\end{argtable}
-
-\macroname{\textbackslash GregorioTeXAPIVersion}{\#1}{gregoriotex-main.tex}
-Checks to see if Gregorio\TeX\ API is version specified by argument (and
-therefore compatible with the score.
-
-\begin{argtable}
- \#1 & string & Version number for Gregorio\TeX.\\
-\end{argtable}
-
-\macroname{\textbackslash GreHEpisemus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a episemus.
-
-\begin{argtable}
- \#1 & integer & Height number of the episemus.\\
- \#2 & string & See \nameref{EpisemusSpecial}.\\
- \#3 & integer & The ambitus for a two note episemus at the diagonal stroke of a
- porrectus, porrectus flexus, orculus resupinus, or torculus resupinus
- flexus.\\
- \#4 & 0 & an horizontal episemus\\
- & 1 & an horizontal episemus under a note\\
- & 2 & a line at the top\\
- & 3 & a line at the bottom\\
- \#5 & f & a normal episemus\\
- & l & a small episemus aligned left\\
- & c & a small episemus aligned center\\
- & r & a small episemus aligned right\\
- \#6 & integer & Replacement for \#1 if a bridge causes a height substitution.\\
-\end{argtable}
-
-\macroname{\textbackslash GreHEpisemusBridge}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro to typeset a bridge episemus father the last note of a glyph
-(element, syllable) if the next episemus is at the same height.
-
-\begin{argtable}
- \#1 & integer & Height number of the episemus.\\
- \#2 & 0 & Episemus above the note.\\
- & 1 & Episemus below the note.\\
- \#3 & 0 & Default space.\\
- & 1 & Zero-width space.\\
- & 2 & Space between flat or natural and a note.\\
- & 3 & Space between two puncta inclinata.\\
- & 4 & Space between bivirga or trivirga.\\
- & 5 & space between bistropha or tristropha.\\
- & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
- & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
- & 8 & Space between two puncta inclinata debilis.\\
- & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
- & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
- & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).
-\end{argtable}
-
-\macroname{\textbackslash GreHighChoralSign}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for typesetting high choral signs.
-
-\begin{argtable}
- \#1 & integer & Height number of the sign.\\
- \#2 & string & The choral sign.\\
- \#3 & 0 & Choral sign does not occur before last note of podatus, porrectus, or torculus resupinus.\\
- & 1 & Choral sign occurs before last note of podatus, porrectus, or torculus resupinus.\\
-\end{argtable}
-
-\macroname{\textbackslash GreHyph}{}{gregoriotex-main.tex}
-Macro used for end of line hyphens. Defaults to \verb=\grenormalhyph=.
-
-\macroname{\textbackslash GreInDivisioFinalis}{\#1}{gregoriotex-signs.tex}
-Same as \verb=\GreDivisioFinalis= except inside a syllable.
-
-\macroname{\textbackslash GreInDivisioMaior}{\#1}{gregoriotex-signs.tex}
-Same as \verb=\GreDivisioMaior= except inside a syllable.
-
-\macroname{\textbackslash GreInDivisioMinima}{\#1}{gregoriotex-signs.tex}
-Same as \verb=\GreDivisioMinima= except inside a syllable.
-
-\macroname{\textbackslash GreInDivisioMinor}{\#1}{gregoriotex-signs.tex}
-Same as \verb=\GreDivisioMinor= except inside a syllable.
-
-\macroname{\textbackslash GreInDominica}{\#1\#2}{gregoriotex-signs.tex}
-Same as \verb=\GreDominica= except inside a syllable.
-
-\macroname{\textbackslash GreInVirgula}{\#1\#2}{gregoriotex-signs.tex}
-Same as \verb=\GreVirgula= 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
-in gabc.
-
-\begin{argtable}
- \#1 & string & Text to be typeset in italic font.\\
-\end{argtable}
-
-\macroname{\textbackslash GreLastOfLine}{}{gregoriotex-main.tex}
-Macro to set \verb=\gre@lastoflinecount= to 1 (\ie, mark that this syllable is the last of the line).
-
-\macroname{\textbackslash GreLastOfScore}{}{gregoriotex-main.tex}
-Macro to mark the syllable as the last of the score.
-
-\macroname{\textbackslash GreLinea}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for typesetting a linea.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
-\end{argtable}
-
-\macroname{\textbackslash GreLineaPunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a linea punctum cavum.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GreLowChoralSign}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for typesetting low choral signs.
-
-\begin{argtable}
- \#1 & integer & Height number of the sign.\\
- \#2 & string & The choral sign.\\
- \#3 & 0 & Choral sign does not occur before last note of podatus, porrectus, or torculus resupinus.\\
- & 1 & Choral sign occurs before last note of podatus, porrectus, or torculus resupinus.\\
-\end{argtable}
-
-\macroname{\textbackslash GreManualCustos}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a custos manually.
-
-\begin{argtable}
- \#1 & integer & height number of the custos.
-\end{argtable}
-
-\macroname{\textbackslash GreMode}{\#1}{gregoriotex-main.tex}
-If the gabc file contains a mode in the header, then this function
-places said mode as the first (top) annotation. If the user has
-manually added a first annotation in the \TeX\ file, then this
-function does nothing. Also, if the \texttt{annotation} header field
-is used, then this function does nothing.
-
-\begin{argtable}
- \#1 & 1--8 & The mode. Other values are ignored.\\
-\end{argtable}
-
-\macroname{\textbackslash GreNatural}{\#1\#2}{gregoriotex-signs.tex}
-Macro to typeset a natural.
-
-\begin{argtable}
- \#1 & integer & Height number of the natural.\\
- \#2 & 0 & No flat for a key change.\\
- & 1 & Indicates the flat for a key change.\\
-\end{argtable}
-
-\macroname{\textbackslash GreNewLine}{}{gregoriotex-main.tex}
-Macro to call if you want to go to the next line.
-
-\macroname{\textbackslash GreNewParLine}{}{gregoriotex-main.tex}
-Same as \verb=\GreNewLine= except line is not justified.
-
-\macroname{\textbackslash GreNextCustos}{\#1}{gregoriotex-signs.tex}
-Sets the pitch to use for the next custos if it were to happen at the point
-where this macro is called.
-
-\begin{argtable}
- \#1 & integer & Height number of the custos.\\
-\end{argtable}
-
-\macroname{\textbackslash GreNoInitial}{}{gregoriotex-main.tex}
-Macro called when no initial is being set.
-
-\macroname{\textbackslash GreOverBrace}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
-Macro to typeset a round brace above the lines.
-
-\begin{argtable}
- \#1 & length & The width of the brace.\\
- \#2 & length & A vertical shift.\\
- \#3 & length & A horizontal shift.\\
- \#4 & 0 & Don't shift before starting the brace.\\
- & 1 & Shift back a punctum's width before starting the brace.
-\end{argtable}
-
-\macroname{\textbackslash GreOverCurlyBrace}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
-Macro to typeset a curly brace above the lines.
-
-\begin{argtable}
- \#1 & length & The width of the brace.\\
- \#2 & length & A vertical shift.\\
- \#3 & length & A horizontal shift.\\
- \#4 & 0 & Don't shift before starting the brace.\\
- & 1 & Shift back a punctum's width before starting the brace.\\
- \#5 & 0 & No accentus above the brace.\\
- & 1 & Typeset an accentus above the brace.
-\end{argtable}
-
-\macroname{\textbackslash GrePunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GrePunctumCavumInclinatum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum inclinatus.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GrePunctumCavumInclinatumAuctus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
-Macro to typeset a punctum cavum inclinatus auctus.
-
-\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
-\end{argtable}
-
-\macroname{\textbackslash GrePunctumMora}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
-Macro for typesetting punctum mora.
-
-\begin{argtable}
- \#1 & integer & Height number of punctum mora.\\
- \#2 & 1 & Go back to end of punctum.\\
- & 2 & Shift left width of 1 punctum.\\
- & 3 & Shift left width of 1 punctum and ambitus of 1.\\
- \#3 & 0 & Punctum mora does not occur before last note of podatus, porrectus, or torculus resupinus.\\
- & 1 & Punctum mora occurs before last note of podatus, porrectus, or torculus resupinus.\\
- \#4 & 0 & No punctum inclinatum.\\
- & 1 & Punctum inclinatum.\\
-\end{argtable}
-
-\macroname{\textbackslash GreReversedAccentus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting a reversed accentus.
-
-\begin{argtable}
- \#1 & integer & Height number of accentus.\\
- \#2 & string & Type of glyph the accentus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreReversedSemicirculus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting a reversed semicirculus.
-
-\begin{argtable}
- \#1 & integer & Height number of semicirculus.\\
- \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreScoreReference}{\#1}{gregoriotex-main.tex}
-Currently does nothing.
-
-\macroname{\textbackslash GreSemicirculus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting a semicirculus.
-
-\begin{argtable}
- \#1 & integer & Height number of semicirculus.\\
- \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreSetBigInitial}{}{gregoriotex-main.tex}
-Macro which indicates that a 2-line initial is desired.
-
-\macroname{\textbackslash GreSetFixedNextTextFormat}{\#1}{gregoriotex-syllable.tex}
-Same as \verb=\GreSetFixedTextFormat= except for next syllable.
-
-\macroname{\textbackslash GreSetFixedTextFormat}{\#1}{gregoriotex-syllable.tex}
-Macro to specify a text which is different from \verb=#1#2#3= (of \verb=\GreSyllable=). It is useful for styles, for instance with:
-\par\medskip
-\begin{gabccode}
- <i>ffj</i>(gh)
-\end{gabccode}
-
-we will have
-
-\begin{latexcode}
- #1 = \textit{f}
- #2 = \textit{f}
- #3 = \textit{j}
-\end{latexcode}
-
-and thus \verb=#1#2#3= will be \verb=\textit{f}\textit{f}\textit{j}=, which won't typeset
-ligatures. In this example we should call \verb=\grefixedtext{\textit{ffj}}=.
-
-\begin{argtable}
- \#1 & 0 & nothing (normal text)\\
- & 1& italic\\
- & 2 & bold\\
- & 3 & small caps\\
- & 4 & typewriter\\
- & 5 & underline
-\end{argtable}
-
-\macroname{\textbackslash GreSetInitial}{\#1}{gregoriotex-main.tex}
-Macro to set the initial in the score.
-
-\begin{argtable}
- \#1 & character & The initial letter of the score.\\
-\end{argtable}
-
-\macroname{\textbackslash GreSetInitialClef}{\#1\#2\#3}{gregoriotex-signs.tex}
-Macro for writing initial key.
-
-\begin{argtable}
- \#1 & \texttt{c} or \texttt{f} & Type of clef.\\
- \#2 & 1--4 & Line of key.\\
- \#3 & integer & Height number of flat in key (\texttt{0} for no flat).\\
-\end{argtable}
-
-\macroname{\textbackslash GreSetLinesClef}{\#1\#2\#3\#4}{gregoriotex-main.tex}
-Macro to define the clef that will appear at the beginning of the lines.
-
-\begin{argtable}
- \#1 & \texttt{c} or \texttt{f} & Type of clef.\\
- \#2 & 1--4 & Line of key.\\
- \#3 & 0 & No space after clef.\\
- & 1 & Space after clef.\\
- \#4 & integer & Height of flat in key (\texttt{0} for no flat).\\
-\end{argtable}
-
-\macroname{\textbackslash GreSetNextSyllable}{\#1\#2\#3}{gregoriotex-syllable.tex}
-Macro to set the text of the next syllable for spacing purposes.
-
-\begin{argtable}
- \#1 & string & the first letters of the syllable, that don't count for the alignment\\
- \#2 & string & the middle letters of the syllable, we must align in the middle of them\\
- \#3 & string & the end letters, they don't count for alignment\\
-\end{argtable}
-
-\macroname{\textbackslash GreSetTextAboveLines}{\#1}{gregoriotex-main.tex}
-Macro to place argument above the lines and empty
-\verb=\gre@currenttextabovelines= when done.
-
-\begin{argtable}
- \#1 & string & Text to be placed above the lines.\\
-\end{argtable}
-
-\macroname{\textbackslash GreSharp}{\#1\#2}{gregoriotex-signs.tex}
-Macro to typeset a sharp.
-
-\begin{argtable}
- \#1 & integer & Height number of the sharp.\\
- \#2 & 0 & No flat for a key change.\\
- & 1 & Indicates the flat for a key change.\\
-\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
-in gabc.
-
-\begin{argtable}
- \#1 & string & Text to be typeset in small caps font.\\
-\end{argtable}
-
-\macroname{\textbackslash GreStar}{}{gregoriotex-symbol.tex}
-Macro to typeset an asterisk (\GreStar).
-
-\macroname{\textbackslash GreSyllable}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-syllable.tex}
-Macro to typeset the syllable.
-
-\begin{argtable}
- \#1 & string & the first letters of the syllable, that don't count for the alignment\\
- \#2 & string & the middle letters of the syllable, we must align in the middle of them\\
- \#3 & string & the end letters, they don't count for alignment\\
- \#4 & 0 & this syllable is not the end of a word\\
- & 1 & this syllable is the end of a word\\
- \#5 & \TeX\ code & macros setting next syllable letters of 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\\
- \#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}
-
-\macroname{\textbackslash GreTilde}{}{gregoriotex-main.tex}
-Macro to print $\sim$.
-
-\macroname{\textbackslash GreTranslationCenterEnd}{}{gregoriotex-main.tex}
-Macro to end the centering of the translation text.
-
-\macroname{\textbackslash GreTypewriter}{\#1}{gregoriotex.sty and gregoriotex.tex}
-Makes argument typewriter font. Accesses \LaTeX\ \verb=\texttt= or
-Plain\TeX\ \verb=\tt= as appropriate.
-
-\begin{argtable}
- \#1 & string & Text to typeset in typewriter font.\\
-\end{argtable}
-
-\macroname{\textbackslash GreUnderBrace}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
-Macro to typeset a round brace below the lines.
-
-\begin{argtable}
- \#1 & length & The width of the brace.\\
- \#2 & length & A vertical shift.\\
- \#3 & length & A horizontal shift.\\
- \#4 & 0 & Don't shift before starting the brace.\\
- & 1 & Shift back a punctum's width before starting the brace.
-\end{argtable}
-
-\macroname{\textbackslash GreUnderline}{\#1}{gregoriotex.sty and gregoriotex.tex}
-Makes argument underlined under \LaTeX\ using \verb=\underline=. Does
-nothing in Plain\TeX.
-
-\begin{argtable}
- \#1 & string & Text to typeset underlined.\\
-\end{argtable}
-
-\macroname{\textbackslash GreVarBraceLength}{\#1}{gregoriotex-signs.tex}
-Returns the computed length of the given brace.
-
-\begin{argtable}
- \#1 & string & unique identifier for the brace within the score.
-\end{argtable}
-
-\macroname{\textbackslash GreVarBraceSavePos}{\#1\#2\#3}{gregoriotex-signs.tex}
-Records positions to compute the lengths of variable-sized braces.
-
-\begin{argtable}
- \#1 & string & unique identifier for the brace within the score.\\
- \#2 & 0 & Don't shift before recording the position.\\
- & 1 & Shift back a punctum's width before recording the position.\\
- \#3 & 1 & Position to save is the start of brace.\\
- & 2 & Position to save is the end of brace.
-\end{argtable}
-
-\macroname{\textbackslash GreVEpisemus}{\#1\#2}{gregoriotex-signs.tex}
-Macro for typesetting the vertical episemus.
-
-\begin{argtable}
- \#1 & integer & Height number of episemus.\\
- \#2 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
-\end{argtable}
-
-\macroname{\textbackslash GreVirgula}{\#1}{gregoriotex-signs.tex}
-Macro to typeset a virgula.
-
-\begin{argtable}
- \#1 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisemus=).\\
-\end{argtable}
-
-\macroname{\textbackslash GreWriteTranslation}{\#1}{gregoriotex-main.tex}
-Macro to typeset argument in the translation position.
-
-\begin{argtable}
- \#1 & string & Text to typeset in the translation.\\
-\end{argtable}
-
-\macroname{\textbackslash GreWriteTranslationWithCenterBeginning}{\#1}{gregoriotex-main.tex}
-Macro to typeset argument (a string) in the translation position (at
-the beginning of a line?).
-
-\begin{argtable}
- \#1 & string & Text to typeset in the translation (at the beginning of a line).\\
-\end{argtable}
-
-\macroname{\textbackslash GreZeroHyph}{}{gregoriotex-main.tex}
-Macro to typeset a zero-width hyphen (the hyphen is visible, it is only
-treated as if it had 0 width). Used for fine tuning spacing
-(especially at line endings).
-
-\macroname{\textbackslash GreForceBreak}{}{gregoriotex-spaces.tex}
-Macro used to force a line break to occur at a given position.
-
-\macroname{\textbackslash GreNoBreak}{}{gregoriotex-spaces.tex}
-Macro used to prevent a line break from occurring at a given position.
-
-\macroname{\textbackslash GreScoreId}{}{gregoriotex-main.tex}
-A Lua\TeX\ attribute which designates a unique identifier for each score.
-
-\macroname{\textbackslash GreNABCNeumes}{\#1\#2}{gregoriotex-nabc.tex}
-Macro to print a nabc character above the lines.
-
-\begin{argtable}
- \#1 & int & the line on which the character should appear (currently unused)\\
- \#2 & string & The \texttt{nabc} syntax which indicates what neumes are to be printed\\
-\end{argtable}
-
-\macroname{\textbackslash GreNABCChar}{\#1}{gregoriotex-nabc.tex}
-Macro to print a nabc character.
-
-\begin{argtable}
- \#1 & string & The \texttt{nabc} syntax which indicates what neumes are to be printed\\
-\end{argtable}
-
-\macroname{\textbackslash GreScoreNABCLines}{\#1}{gregoriotex-nabc.tex}
-Macro which sets the number of \texttt{nabc} lines in the score.
-
-\begin{argtable}
- \#1 & int & the number of \texttt{nabc} lines (currently only 1 is supported)\\
-\end{argtable}
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "GregorioRef"
-%%% End:
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/ChangeLog b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/ChangeLog
index 7c25687fa7c..6a754d2b4cf 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/ChangeLog
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-09 Peter Breitenlohner <peb@mppmu.mpg.de>
+
+ Import gregorio-4.0.0-rc1.
+ * patch-10-const (removed): Included upstream.
+ * patch-01-protos (new): Ansi C prototypes.
+
2015-09-02 Peter Breitenlohner <peb@mppmu.mpg.de>
Import gregorio-4.0.0-beta2.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/TL-Changes b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/TL-Changes
index 1f2f0d1d7e3..e9cce6960b8 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2-PATCHES/TL-Changes
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/TL-Changes
@@ -1,5 +1,6 @@
-Changes applied to the gregorio-4.0.0-beta2 tree as obtained from:
+Changes applied to the gregorio-4.0.0-rc1 tree as obtained from:
https://github.com/gregorio-project/gregorio/releases/download/v4.0.0-beta2/
+ https://github.com/gregorio-project/gregorio/releases/tag/v4.0.0-rc1/
Remove:
Makefile.in
@@ -10,6 +11,7 @@ Remove:
doc/Makefile.in
examples/Makefile.in
fonts/Makefile.in
+ macosx/
src/Makefile.in
src/config_.h.in
tex/Makefile.in
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/patch-01-protos b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/patch-01-protos
new file mode 100644
index 00000000000..80db4ed859a
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1-PATCHES/patch-01-protos
@@ -0,0 +1,24 @@
+diff -ur gregorio-4.0.0-rc1.orig/src/gabc/gabc-score-determination.y gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.y
+--- gregorio-4.0.0-rc1.orig/src/gabc/gabc-score-determination.y 2015-10-09 09:55:06.879752526 +0200
++++ gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.y 2015-10-09 09:50:00.000000000 +0200
+@@ -412,7 +412,7 @@
+ current_syllable->translation_type = TR_NORMAL;
+ }
+
+-static void rebuild_characters()
++static void rebuild_characters(void)
+ {
+ bool has_initial = score->initial_style != NO_INITIAL;
+
+diff -ur gregorio-4.0.0-rc1.orig/src/gabc/gabc-score-determination-y.c gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.c
+--- gregorio-4.0.0-rc1.orig/src/gabc/gabc-score-determination-y.c 2015-10-09 09:55:07.343739207 +0200
++++ gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.c 2015-10-09 09:50:07.000000000 +0200
+@@ -486,7 +486,7 @@
+ current_syllable->translation_type = TR_NORMAL;
+ }
+
+-static void rebuild_characters()
++static void rebuild_characters(void)
+ {
+ bool has_initial = score->initial_style != NO_INITIAL;
+
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/.gregorio-version b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/.gregorio-version
index b3df69eb99d..da280b9dbd1 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/.gregorio-version
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/.gregorio-version
@@ -1,4 +1,4 @@
-4.0.0-beta2
+4.0.0-rc1
*** Do not modify this file. ***
Use VersionManager.py to change the version.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CHANGELOG.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CHANGELOG.md
index 98ec3ee35ad..2fefd9cb9a0 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CHANGELOG.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CHANGELOG.md
@@ -3,7 +3,23 @@ All notable changes to this project will be documented in this file.
As of v3.0.0 this project adheres to [Semantic Versioning](http://semver.org/). It follows [some conventions](http://keepachangelog.com/).
## [Unreleased][unreleased]
+### Fixed
+- Deactivating the end of line shifts now prevents lyrics from stretching under the custos at the end of the line.
+- All of the keywords for `\grescaledim` were now work as described in the documentation.
+
+### Changed
+- `\grecreatedim` and `\grechangedim` now take keywords for their third argument (`scalable` and `fixed`( instead of integers (`1` and `0`) to make the more in keeping with the overall user command conventions.
+- `\grescaledim` now accepts `scalable` as a keyword to turn on scalable (in keeping with the above change)
+- Alterations are partially ignored when aligning lines on the notes (i.e. `\gresetbolshifts{enabled}`). They are not allowed to get any closer to the clef than `beforealterationspace` and the lyrics are not allowed to get any closer to the left-hand margin than `minimalspaceatlinebeginning`, but other than that GregorioTeX will shift them left as much as possible to make the notes align `spaceafterlineclef` away from the clef. Note that for the default values of these distances, only the natural is small enough to acheive true alignment.
+- `gregoriotex.sty` and `gregoriosyms.sty` now check to make sure that they are not both loaded. If `gregoriotex` detects that `gregoriosyms` is loaded, then an error is raised. If `gregoriosyms` detects that `gregoriotex` is loaded, then the loading of `gregoriosyms` is silently aborted and compilation proceeds.
+- Liquescence on a bistropha or tristropha will only appear on the note(s) marked by `<` in gabc, rather than on all notes in the figure. This means that a figure like `(gsss<)` will only have a liquescent "tail" on the final note. If you would like all notes to be liquescent for some reason, you can use a figure like `(gs<gs<gs<)` instead.
+### Added
+- New distance, `initialraise`, which will lift (or lower, if negative) the initial.
+- The first word of the score is now passed to a macro that allow it to be styled from TeX. The first word is passed to `\GreFirstWord#1` and is styled by changing the `firstword` style.
+- A new type of lyric centering, enabled with `\gresetlyriccentering{firstletter}`, which aligns the neume with the first letter of each syllable.
+- `\greornamentation` allows access to the two ornamentation glyphs. The ability to access these two glyphs via `{\gregoriosymbolfont \char 75}` was broken by the new interface to the glyphs in greextra.
+- The missing liquescent salicus glyphs.
## [4.0.0-beta2] - 2015-08-26
### Fixed
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTING.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTING.md
index 25df4499442..a70eb74467f 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTING.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTING.md
@@ -44,13 +44,14 @@ are the same under GNU/Linux and Mac OSX:
Gregorio targets the following:
- * C standard: [ISO C99 Standard](http://en.wikipedia.org/wiki/C99)
+ * C standard: [ISO C89 Standard](http://en.wikipedia.org/wiki/ANSI_C#C89)
* compilers: [gcc](https://gcc.gnu.org/) and [clang](http://clang.llvm.org/)
* architectures: `i586`, `amd64`, `arm`, `arm64`
* under Linux, only [`glibc`](http://www.gnu.org/software/libc/)
* must compile under Mac OSX natively, and under [mingw32](http://www.mingw.org/) and [mingw_w64](https://sourceforge.net/projects/mingw-w64/)
+ * for inclusion with TeX Live, must compile under VisualStudio 2010 for Windows.
-Specific C extensions (GNU extensions, C11, etc.) working for all the above targets are allowed on a case-by-case basis. Patches for other compilers, architectures or libraries can be accepted if they are clean, small and non-intrusive.
+Specific C extensions (GNU extensions, etc.) working for all the above targets are allowed on a case-by-case basis. Patches for other compilers, architectures or libraries can be accepted if they are clean, small and non-intrusive.
Use indent on your code before commiting it, with the `.indent.pro` file in the repository: `indent path/to/my/file.c`.
@@ -66,7 +67,13 @@ TeX code must use LuaTeX (more than TeX + eTeX + Omega + PDFTeX) primitives as m
### Tests
-When your changes are significant, please provide a test demonstrating the change. See [test documentation](tests/).
+Before submitting a change, please run the tests in [gregorio-test](gregorio-project/gregorio-test) against your resulting code.
+
+When your changes are significant, please provide a test demonstrating the change. See [test documentation](https://github.com/gregorio-project/gregorio-test/blob/master/README.md).
+
+If your change breaks some of the existing tests, then please either fix the existing tests or propose the new results be accepted as more "correct" than the old ones.
+
+If you are submitting a new or modified test, please create a new branch in the test repository (preferably with a name which matches the name of the branch your changes are on in the main repository) where you can make these changes. Then create a pull request in the test repository which explains your changes and make sure to reference the corresponding pull request in the main repository. This way those reveiwing your changes can also see what you expect the new test results to be.
### Documentation
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTORS.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTORS.md
index 586d97762b4..586d97762b4 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/CONTRIBUTORS.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/CONTRIBUTORS.md
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/COPYING.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/COPYING.md
index e4e2580e978..e4e2580e978 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/COPYING.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/COPYING.md
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/Makefile.am b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/Makefile.am
index 53b9ca918f3..53b9ca918f3 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/Makefile.am
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/README.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/README.md
index f59a0be3b91..f59a0be3b91 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/README.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/README.md
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/UPGRADE.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/UPGRADE.md
index 0ae4f748d56..7cc757a5d40 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/UPGRADE.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/UPGRADE.md
@@ -3,6 +3,15 @@
This file contains instructions to upgrade to a new release of Gregorio.
## 4.0
+
+### Font changes
+
+The music fonts (greciliae, gregorio, and parmesan) have changed with this release. If the neumes do not appear or look strange in the output, you may need to clear your LuaTeX font cache by using `luaotfload-tool --cache=erase`.
+
+### GregorioTeX and fontspec
+
+Changes to the LaTeX kernel have made it so that if you use the fontspec and gregoriotex pacakges, you must load the fontspec package first.
+
### Command Name Systemization
A naming scheme for GregorioTeX commands has been established and so most commands have had their names changed in order to bring them into line with the new scheme. Some have also had their syntax changed. Briefly, user commands all now have a `\gre` prefix (to prevent name colisions with other packages) and groups of commands which altered a single setting have been replaced by a single command which takes an argument specifying the value of the setting. The notable exception to this are the two main commands: `\gregorioscore` (replaces `\includescore`) and `\gabcsnippet`. See GregorioRef for the complete list of new command names and their syntax.
@@ -15,7 +24,7 @@ Additionally a new package option has been added. The option `deprecated=false`
### Barred letters
-If you use barred letters and a font other than libertine in your document, you must adjust the horizontal placement of the bar on the letter. To do so, use the `\gresimpledefbarglyph` macro. For example, use `\gresimpledefbarredsymbol{A}{0.3em}` in your preamble, tweaking the second argument to have a good result (same for R and V). If using LaTeX, you can alternately use the `\grelatexsimpledefbarredsymbol` macro, which allows control over bold and italic versions of the barred letter. See the documentation of `\gresimpledefbarredsymbol` and `\grelatexsimpledefbarredsymbol` in the PDF documentation for more details.
+If you use barred letters and a font other than Linux Libertine in your document, you must adjust the horizontal placement of the bar on the letter. To do so, use the `\gresimpledefbarglyph` macro. For example, use `\gresimpledefbarredsymbol{A}{0.3em}` in your preamble, tweaking the second argument to have a good result (same for R and V). If using LaTeX, you can alternately use the `\grelatexsimpledefbarredsymbol` macro, which allows control over bold and italic versions of the barred letter. See the documentation of `\gresimpledefbarredsymbol` and `\grelatexsimpledefbarredsymbol` in the PDF documentation for more details.
If you were using `\Vbarsmall`, `\greletterbar`, and `\greletteraltbar`, you must use `\gresimpledefbarredsymbol` to redefine your barred letters (see PDF documentation for details).
@@ -29,7 +38,7 @@ If you are using custom spacings, please update the values of `interwordspacetex
### Euouae blocks
-You are advised to surround you *Euouae* blocks by the new `<eu>` tag. For instance,
+You are advised to surround your *Euouae* blocks by the new `<eu>` tag. For instance,
E(i) u(i) o(i) u(h) a(h) e(fe..)
@@ -37,7 +46,7 @@ can become
<eu>E(i) u(i) o(i) u(h) a(h) e</eu>(fe..)
-This will prevent line breaking, so if you were using so called *no linebreak areas* (with `{` in gabc) just for Euouae blocks, you can switch to this new tag, it will make things clearer and allow further spacing customization.
+This will prevent line breaking, so if you were using so-called *no linebreak areas* (with `{` in gabc) just for Euouae blocks, you can switch to this new tag, which will make things clearer and allow further spacing customization.
### Horizontal episema improvements
@@ -56,14 +65,14 @@ Note: `3`, `4`, and `5` encompass a new feature and are listed here only for com
- `beforechoralsignspace` has been renamed to `beforelowchoralsignspace`.
- `lowchoralsignshift` has been renamed to `choralsigndownshift`.
-- `highchoralsignshift` has been renamed to `choralsignupshift` and its sign inverted.
+- `highchoralsignshift` has been renamed to `choralsignupshift` and its sign (direction of shift) inverted.
### Styling score elements
-Changing the styling of text elements of the score (the initial, translations, etc.) formerly required the user to redefine a command which took an argument while changing the styling of the staff lines had a command specialized to that purpose. All formats can now be changed via the `\grechangestyle` command. This command takes two or three arguments. The first argument, required, is the format to be altered. The defined formats are:
+Changing the styling of text elements of the score (the initial, translations, etc.) formerly required the user to redefine a command which took an argument, while changing the styling of the staff lines had a command specialized to that purpose. All formats can now be changed via the `\grechangestyle` command. This command takes two or three arguments. The first argument, required, is the name of the format to be altered. The defined formats are:
-- `greinitial`: normal initials
-- `grebiginitial`: big (2-line) initials
+- `initial`: normal initials
+- `biginitial`: big (2-line) initials
- `translation`: translation text
- `abovelinestext`: above lines text (`alt` in gabc)
- `normalstafflines`: the full length staff lines
@@ -71,10 +80,13 @@ Changing the styling of text elements of the score (the initial, translations, e
- `lowchoralsign`: low choral signs
- `highchoralsign`: high choral signs
- `modeline`: the mode annotation above the initial if the content of the mode header in gabc is rendered.
+- `firstword`: the first word of the score (excluding the score initial)
+- `firstsyllable`: the first syllable of the first word of the score (excluding the score initial).
+- `firstsyllableinitial`: the first letter of the first word of the score which is not the score initial.
-The second argument, also required, is the code necessary to turn on the styling. The third argument, optional and enclosed in square braces (`[` and `]`), is the code necessary to turn off the styling (e.g. if the code to turn on the styling contains a `\begin{environment}` then the code to turn it off must have the matching `\end{environment}`. The third argument is optional because not all styling commands have explicit off switches.
+The second argument, also required, is the code necessary to turn on the styling. The third argument, optional and enclosed in square braces (`[` and `]`), is the code necessary to turn off the styling (e.g. if the code to turn on the styling contains a `\begin{environment}` then the code to turn it off must have the matching `\end{environment}`). The third argument is optional because not all styling commands have explicit off switches.
-While the old way of changing the styles is still supported, you should switch to this new method to future proof your scores.
+While the old way of changing the styles is still supported, you should switch to this new method to future-proof your scores.
Examples: Let's say you previously had the following in your LaTeX document:
@@ -92,19 +104,19 @@ Using the gabc header will, in this release, do that for you, but it will produc
### Annotations
-Support for annotations with an arbitrary number of lines has been added. To facilite this, the old functions which added annotations to specific lines (either the first or the second) are consolidated into a single function `\greannotation` which builds the annotations line by line. If you used the old functions for adding annotations, then you should switch out those functions for the new one.
+Support for annotations with an arbitrary number of lines has been added. To facilite this, the old functions which added annotations to specific lines (either the first or the second) are consolidated into a single function `\greannotation` which builds the annotations line by line. If you used the old functions for adding annotations, then you should switch out those functions for the new one.
-The distance associated with the annotations has also been renamed (from `aboveinitialseparation` to `annotationseparation`) and added a new one (`annotationraise`). The first still controls the spacing between the lines of the annoation. The second controls the position of the annotation relative to the score, and thus replaces the second argument in the old functions. By default, annotations are positioned so that the baseline of the first line is aligned with the top line of the staff. Positive values of `annotationraise` will push the annotation up while negative values will push it down. If you were previously using the second argument to `\gresetfirstlineaboveinitial` to adjust the spacing, you will need to convert this to call:
+The distance associated with the annotations has also been renamed (from `aboveinitialseparation` to `annotationseparation`) and supplemented by a new distance (`annotationraise`). The first still controls the spacing between the lines of the annoation. The second controls the position of the annotation relative to the score, and thus replaces the second argument in the old functions. By default, annotations are positioned so that the baseline of the first line is aligned with the top line of the staff. Positive values of `annotationraise` will push the annotation up while negative values will push it down. If you were previously using the second argument to `\gresetfirstlineaboveinitial` to adjust the spacing, you will need to convert this to call:
\grechangedim{annotationraise}{0.1cm}{1}
-
-You will need to play with the vaule of the distance a bit to acheive the desired positioning.
-As is normal, calls to the deprecated command names will raise a warning but still work. However there is one caveat: the old functions will always add the annotations to the bottom of the annotation list, regardless of the order in which they are called. Previously, you could call `\gresetsecondannotation` before `\gresetfirstannotation` and still have the first annotation appear on top. Which annotation appears on top is now determined by the order in which the functions are called.
-
+Since the baseline position of annotations is a change from the old behavior, you will need to adjust the value of the distance a bit to achieve the desired positioning.
+
+As is normal, calls to the deprecated command names will raise a warning but still work. However, there is one caveat: the old functions will always add the annotations to the bottom of the annotation list, regardless of the order in which they are called. Previously, you could call `\gresetsecondannotation` before `\gresetfirstannotation` and still have the first annotation appear on top. Which annotation appears on top is now determined by the order in which the functions are called.
+
#### The Annotation Header
-The `annotation` header in gabc files now passes its value(s) to gregoriotex for placement above the inital letter of the score. Up to two `annotation` field are supported, the first for the first line above the initial, and the second field for the second line.
+The `annotation` header in gabc files now passes its value(s) to gregoriotex for placement above the inital letter of the score. Up to two `annotation` fields are supported, the first for the first line above the initial, and the second field for the second line.
annotation: 1 Ant.;
annotation: VII a;
@@ -114,11 +126,11 @@ Full TeX markup is also accepted:
annotation: {\color{red}1 Ant.};
annotation: {\color{red}VII a};
-If the user already defined annotation(s) in the main TeX file via `\greannotation` then the `annotation` header field will not overwrite that definition.
+If you define annotation(s) in the main TeX file via `\greannotation`, then the `annotation` header field in the gabc file will *not* overwrite that definition.
#### Variable Height Line Spacing
-Gregorio is now able to make individual lines of a score taller, when the position of the note require extra space, without affecting the rest of the lines. This is the new default behavior. If you prefer the uniform line heights of earlier versions, use:
+Gregorio is now able to make individual lines of a score taller when the position of the note requires extra space, without affecting the rest of the lines. This is the new default behavior. If you prefer the uniform line heights of earlier versions, use:
\gresetlineheightexpansion{uniform}
@@ -126,7 +138,7 @@ Within a TeX document, you can switch back to variable line heights by using:
\gresetlineheightexpansion{variable}
-You can freely switch between the two behaviors within a TeX document.
+You can freely switch between the two behaviors within a TeX document, but only between scores.
This new behavior requires two passes (two runs of lualatex) in order to do the calculation correctly. On the first pass, lualatex will warn you with the message
@@ -150,6 +162,14 @@ Within a TeX document, you can switch back to MetaPost brace rendering by using:
You can freely switch between the two behaviors within a TeX document.
+#### Keyword argument for `\grecreatedim` and `\grechangedim`
+
+In order to better match the new command naming conventions, the third argument of `\grecreatedim` and `\grechangedim` should now be `scaling` or `fixed` instead of `1` or `0`, respectively.
+
+#### Liquescence on bistropha and tristropha
+
+In order to be more consistent, making a bistropha or tristropha liquescent by adding `<` in gabc will now only affect the note thus marked. This means that a tristropha like `(gsss<)` will only show the final stropha as liquescent, which is different from the older behavior of making every stropha liquescent. If you prefer the old behavior, mark every note explicitly as liquescent with something like `(gs<gs<gs<)`.
+
## 3.0
### TeX Live 2013
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/VersionManager.py b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/VersionManager.py
index bb270c1b20c..9b7bfa17706 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/VersionManager.py
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/VersionManager.py
@@ -55,6 +55,8 @@ GREGORIO_FILES = ["configure.ac",
"tex/gregoriotex-symbols.tex",
"tex/gregoriotex-syllable.tex",
"tex/gregoriotex-main.tex",
+ "tex/gregoriosyms.sty",
+ "fonts/squarize.py",
]
def get_parser():
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/build.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/build.sh
index 9625bc85ec3..9625bc85ec3 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/build.sh
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/build.sh
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/configure.ac b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/configure.ac
index db1a3e538d2..6ebc78e04ef 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/configure.ac
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/configure.ac
@@ -16,8 +16,8 @@ dnl
dnl You should have received a copy of the GNU General Public License
dnl along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([gregorio],[4.0.0-beta2],[gregorio-devel@gna.org])
-FILENAME_VERSION="4_0_0-beta2"
+AC_INIT([gregorio],[4.0.0-rc1],[gregorio-devel@gna.org])
+FILENAME_VERSION="4_0_0-rc1"
AC_SUBST(FILENAME_VERSION)
MK=""
AC_SUBST(MK)
@@ -54,8 +54,6 @@ AX_CHECK_LINK_FLAG([-pie], [LDFLAGS+=" -pie"])
AC_HEADER_STDC
-AC_CHECK_HEADER_STDBOOL
-
# linux has integer types in stdint.h, solaris, vms in inttypes.h
AC_CHECK_HEADERS([stdint.h])
AC_CHECK_HEADERS([stdalign.h])
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/900_gregorio.xml b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/900_gregorio.xml
index 72d9c438f28..72d9c438f28 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/900_gregorio.xml
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/900_gregorio.xml
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/Makefile.am b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/Makefile.am
index c560fa63b1f..86279d62983 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/Makefile.am
@@ -15,4 +15,4 @@
# You should have received a copy of the GNU General Public License
# along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
-EXTRA_DIST = gprocess gabc.xml gabc.lang gabc.vim 900_gregorio.xml gregorio-scribus.lua gregorio.png gabc-syntax.plist README.md TeXShop
+EXTRA_DIST = gprocess gabc.xml gabc.lang gabc.vim 900_gregorio.xml gregorio-scribus.lua gregorio.png gabc-syntax.plist README.md TeXShop system-setup.sh system-setup.bat
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/README.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/README.md
index c4e43da23f9..c4e43da23f9 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/README.md
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/README.md
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/LuaLaTeX+se.engine b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/LuaLaTeX+se.engine
index a1fb7c72d06..a1fb7c72d06 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/LuaLaTeX+se.engine
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/LuaLaTeX+se.engine
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/gregorio.scpt b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/gregorio.scpt
index 36fafce2923..36fafce2923 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/TeXShop/gregorio.scpt
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/TeXShop/gregorio.scpt
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc-syntax.plist b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc-syntax.plist
index 39396b46089..39396b46089 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc-syntax.plist
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc-syntax.plist
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.lang b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.lang
index 08258507fc0..08258507fc0 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.lang
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.lang
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.vim b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.vim
index 654c06bab90..654c06bab90 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.vim
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.vim
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.xml b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.xml
index e84ec8975f2..e84ec8975f2 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gabc.xml
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gabc.xml
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gprocess b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gprocess
index 91f603e4db0..91f603e4db0 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gprocess
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gprocess
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio-scribus.lua b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio-scribus.lua
index 0bc11aa7b1c..0bc11aa7b1c 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio-scribus.lua
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio-scribus.lua
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio.png b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio.png
index d58efff6a27..d58efff6a27 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/contrib/gregorio.png
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/gregorio.png
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.bat b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.bat
new file mode 100755
index 00000000000..597cd798ff3
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.bat
@@ -0,0 +1,145 @@
+@echo off
+SETLOCAL ENABLEEXTENSIONS
+
+set output="%TEMP%\system-setup.log"
+
+echo Gregorio Windows Setup Diagnostic Tool
+echo (C) 2015 The Gregorio Project.
+echo.
+echo Gregorio is free software: you can redistribute it and/or modify
+echo it under the terms of the GNU General Public License as published by
+echo the Free Software Foundation, either version 3 of the License, or
+echo (at your option) any later version.
+echo.
+echo This program is distributed in the hope that it will be useful,
+echo but WITHOUT ANY WARRANTY; without even the implied warranty of
+echo MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+echo GNU General Public License for more details.
+echo.
+echo You should have received a copy of the GNU General Public License
+echo along with this program. If not, see http://www.gnu.org/licenses/.
+echo.
+echo Creating system-setup.log...
+
+echo ### Gregorio Windows Setup Results > %output%
+echo #### Created: %date% >> %output%
+echo ----------------------------------------------------------------------------- >> %output%
+echo. >> %output%
+echo. >> %output%
+
+echo ### Windows Version >> %output%
+ver >> %output%
+echo. >> %output%
+echo. >> %output%
+echo ----------------------------------------------------------------------------- >> %output%
+echo. >> %output%
+echo. >> %output%
+
+echo ### LuaTeX Setup >> %output%
+echo #### Version >> %output%
+echo. >> %output%
+luatex -v >> %output% 2>&1
+echo. >> %output%
+echo #### Location >> %output%
+echo. >> %output%
+@for %%e in (%PATHEXT%) do @for %%i in (luatex%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i >> %output% 2>&1
+echo. >> %output%
+echo. >> %output%
+echo #### TEXMFLOCAL >> %output%
+echo. >> %output%
+for /f "delims=" %%i in ('kpsewhich --var-value TEXMFLOCAL') do set texmflocal=%%i
+echo %texmflocal% >> %output% 2>&1
+set texmflocal=%texmflocal:/=\%
+IF NOT EXIST %texmflocal% ECHO Folder does not exist >> %output% 2>&1
+echo. >> %output%
+echo #### TEXINPUTS.lualatex >> %output%
+kpsewhich --var-value=TEXINPUTS.lualatex >> %output% 2>&1
+echo. >> %output%
+echo #### LUAINPUTS.lualatex >> %output%
+kpsewhich --var-value=LUAINPUTS.lualatex >> %output% 2>&1
+echo. >> %output%
+echo #### shell_escape >> %output%
+kpsewhich --var-value=shell_escape >> %output% 2>&1
+echo. >> %output%
+echo #### Shell Escape Commands >> %output%
+kpsewhich --var-value=shell_escape_commands >> %output% 2>&1
+echo. >> %output%
+echo #### openout_any >> %output%
+kpsewhich --var-value=openout_any >> %output% 2>&1
+echo. >> %output%
+echo #### openin_any >> %output%
+kpsewhich --var-value=openin_any >> %output% 2>&1
+echo. >> %output%
+echo. >> %output%
+echo ----------------------------------------------------------------------------- >> %output%
+echo. >> %output%
+echo. >> %output%
+
+echo ### Gregorio Setup >> %output%
+echo #### Version >> %output%
+echo. >> %output%
+gregorio -V >> %output% 2>&1
+echo. >> %output%
+echo #### Location >> %output%
+echo. >> %output%
+@for %%e in (%PATHEXT%) do @for %%i in (gregorio%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i >> %output% 2>&1
+echo. >> %output%
+echo #### GregorioTeX Locations >> %output%
+echo. >> %output%
+
+set files=gregoriotex.sty ^
+gregoriosyms.sty ^
+gregoriotex.tex ^
+gregoriotex-main.tex ^
+gregoriotex-chars.tex ^
+gregoriotex-ictus.tex ^
+gregoriotex-signs.tex ^
+gregoriotex-signs.lua ^
+gregoriotex-symbols.tex ^
+gregoriotex-spaces.tex ^
+gregoriotex-syllable.tex ^
+gregoriotex-nabc.tex ^
+gregoriotex-nabc.lua ^
+gregoriotex.lua ^
+gsp-default.tex ^
+gregorio-vowels.dat ^
+greciliae.ttf ^
+greciliae-op.ttf ^
+greextra.ttf ^
+gregorio.ttf ^
+gregorio-op.ttf ^
+gresym.ttf ^
+parmesan.ttf ^
+parmesan-op.ttf ^
+gregall.ttf ^
+gregsmodern.ttf
+
+for %%G in (%files%) do (
+ echo ##### %%G >> %output%
+ kpsewhich -all %%G >> %output% 2>&1
+)
+echo. >> %output%
+echo #### kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty >> %output%
+kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty >> %output% 2>&1
+echo. >> %output%
+echo #### kpsewhich --all -engine luatex gregoriotex.tex >> %output%
+kpsewhich --all -engine luatex gregoriotex.tex >> %output% 2>&1
+echo. >> %output%
+echo. >> %output%
+echo ----------------------------------------------------------------------------- >> %output%
+echo. >> %output%
+echo. >> %output%
+
+echo.
+echo.
+echo system-setup.log created and saved in a temporary location.
+echo Upon exiting this script, the log will be opened in Notepad for you.
+echo Please save the file to a convenient location and email it to
+echo gregorio-users@gna.org as part of your bug report.
+echo.
+echo You can also create an issue at
+echo http://github.org/gregorio-project/gregorio/issues
+echo and copy-paste the content of this file into the description.
+echo.
+pause
+start notepad %output%
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.sh
new file mode 100755
index 00000000000..3c320d0927c
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/contrib/system-setup.sh
@@ -0,0 +1,141 @@
+#!/usr/bin/env bash
+
+HERE=`pwd`
+OUTPUT=$HERE/system-setup.log
+
+echo "Gregorio Unix Setup Diagnostic Tool"
+echo "(C) 2015 The Gregorio Project."
+echo ""
+echo "Gregorio is free software: you can redistribute it and/or modify"
+echo "it under the terms of the GNU General Public License as published by"
+echo "the Free Software Foundation, either version 3 of the License, or"
+echo "(at your option) any later version."
+echo ""
+echo "This program is distributed in the hope that it will be useful,"
+echo "but WITHOUT ANY WARRANTY; without even the implied warranty of"
+echo "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"
+echo "GNU General Public License for more details."
+echo ""
+echo "You should have received a copy of the GNU General Public License"
+echo "along with this program. If not, see http://www.gnu.org/licenses/."
+echo ""
+echo "Creating system-setup.log..."
+
+echo "### Gregorio Unix Setup Results" > $OUTPUT
+echo "#### Created: `date`" >> $OUTPUT
+echo "-----------------------------------------------------------------------------" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+
+echo "### OS Version" >> $OUTPUT
+uname -v >> $OUTPUT
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "-----------------------------------------------------------------------------" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+
+echo "### LuaTeX Setup" >> $OUTPUT
+echo "#### Version" >> $OUTPUT
+echo "" >> $OUTPUT
+luatex -v >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### Location" >> $OUTPUT
+echo "" >> $OUTPUT
+which -a luatex >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "#### TEXMFLOCAL" >> $OUTPUT
+echo "" >> $OUTPUT
+kpsewhich --var-value TEXMFLOCAL >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### TEXINPUTS.lualatex" >> $OUTPUT
+kpsewhich --var-value=TEXINPUTS.lualatex >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### LUAINPUTS.lualatex" >> $OUTPUT
+kpsewhich --var-value=LUAINPUTS.lualatex >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### shell_escape" >> $OUTPUT
+kpsewhich --var-value=shell_escape >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### Shell Escape Commands" >> $OUTPUT
+kpsewhich --var-value=shell_escape_commands >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### openout_any" >> $OUTPUT
+kpsewhich --var-value=openout_any >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### openin_any" >> $OUTPUT
+kpsewhich --var-value=openin_any >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "-----------------------------------------------------------------------------" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+
+echo "### Gregorio Setup" >> $OUTPUT
+echo "#### Version" >> $OUTPUT
+echo "" >> $OUTPUT
+gregorio -V >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### Location" >> $OUTPUT
+echo "" >> $OUTPUT
+which -a gregorio >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### GregorioTeX Locations" >> $OUTPUT
+echo "" >> $OUTPUT
+
+files="gregoriotex.sty
+gregoriosyms.sty
+gregoriotex.tex
+gregoriotex-main.tex
+gregoriotex-chars.tex
+gregoriotex-ictus.tex
+gregoriotex-signs.tex
+gregoriotex-signs.lua
+gregoriotex-symbols.tex
+gregoriotex-spaces.tex
+gregoriotex-syllable.tex
+gregoriotex-nabc.tex
+gregoriotex-nabc.lua
+gregoriotex.lua
+gsp-default.tex
+gregorio-vowels.dat
+greciliae.ttf
+greciliae-op.ttf
+greextra.ttf
+gregorio.ttf
+gregorio-op.ttf
+gresym.ttf
+parmesan.ttf
+parmesan-op.ttf
+gregall.ttf
+gregsmodern.ttf"
+
+for f in $files
+do
+ echo "##### $f" >> $OUTPUT
+ kpsewhich -all $f >> $OUTPUT 2>&1
+done
+
+echo "" >> $OUTPUT
+echo "#### kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty" >> $OUTPUT
+kpsewhich --all -engine luatex -progname lualatex gregoriotex.sty >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "#### kpsewhich --all -engine luatex gregoriotex.tex" >> $OUTPUT
+kpsewhich --all -engine luatex gregoriotex.tex >> $OUTPUT 2>&1
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "-----------------------------------------------------------------------------" >> $OUTPUT
+echo "" >> $OUTPUT
+echo "" >> $OUTPUT
+
+echo ""
+echo ""
+echo "system-setup.log created and saved the working directory from which you"
+echo "ran this script. Please email it to gregorio-users@gna.org as part of"
+echo "your bug report."
+echo ""
+echo "You can also create an issue at "
+echo "http://github.org/gregorio-project/gregorio/issues"
+echo "and copy-paste the content of this file into the description."
+echo ""
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.Debian b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.Debian
new file mode 100644
index 00000000000..b9637094cb6
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.Debian
@@ -0,0 +1,8 @@
+README file for Gregorio under DEBIAN GNU/Linux systems
+
+After the installation of gregorio, if you want to benefit from the macros
+compiling directly gabc fils in GregorioTeX (like \includescore), you
+have to add gregorio to the list of programs allowed to run from TeX
+by TeXLive. To do so, you have to modify /etc/texmf/texmf.cnf and add
+gregorio to the list 'shell_escape_commands'.
+
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.md
new file mode 100644
index 00000000000..fad207258d0
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/README.md
@@ -0,0 +1,51 @@
+# Building Gregorio for Debian
+
+This directory contains the files to build the deb packages for Gregorio. It requires a Debian-based Linux distribution (Debian, Ubuntu, Mint, etc.).
+
+### Simple build
+
+If you just want `.deb` packages for personal use, simply run
+
+ ./build-deb.sh
+
+This will create the deb files in `build/`.
+
+### Using the PPA
+
+The Gregorio Project has set up a custom Ubuntu repository where recent versions of Gregorio are uploaded: [https://launchpad.net/~gregorio-project/+archive/ubuntu/gregorio](https://launchpad.net/~gregorio-project/+archive/ubuntu/gregorio). The previous link contains information on how to use it.
+
+#### Building package for the PPA
+
+First, if you want to upload packages for the PPA, create a [Launchpad](https://launchpad.net/) account and ask a member of the [gregorio team](https://launchpad.net/~gregorio-project) to invite you.
+
+To prepare packages for Launchpad you need some specific settings:
+
+ * Launchpad automatically builds the binary packages, so only source packages has to be uploaded
+ * it doesn't accept non-Ubuntu distribution, so you have to put an Ubuntu version in the source package
+ * you need to sign the package; for this, you need to have a GPG key (`gpg --gen-key` shoud be enough), and have it uploaded on your launchpad account
+
+Once you know what you're doing, run
+
+ ./build-deb.sh --source --email=*youremail* --fullname=*yourfullname* --version=*ubuntuversion*
+
+where *youremail* and *yourfullname* are the email and full name associated to your gpg key, and *ubuntuversion* is a valid Ubuntu version (e.g. `trusty`).
+
+It should build the necessary packages in `build/`.
+
+#### Uploading
+
+To upload the packages, from Ubuntu run
+
+ dput ppa:gregorio-project/gregorio build/gregorio*.changes
+
+or from Debian, create a `.dput.cf` file in your home directory containing
+
+ [ppa-gregorio]
+ fqdn = ppa.launchpad.net
+ method = ftp
+ incoming = ~gregorio-project/gregorio
+ login = anonymous
+
+and run
+
+ dput ppa-gregorio build/gregorio*.changes
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/build-deb.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/build-deb.sh
new file mode 100755
index 00000000000..65293667529
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/build-deb.sh
@@ -0,0 +1,70 @@
+#!/usr/bin/env bash
+#
+# This is a very simple and naive script to build the debian packages, in case
+# it can be useful.
+
+DEBFULLNAME='Gregorio Builder'
+DEBEMAIL='gregorio-devel@gna.org'
+DEBVERSION='UNRELEASED'
+
+until [ -z "$1" ]; do
+ case "$1" in
+ --clean ) CLEAN=TRUE ;;
+ --lint ) LINT=TRUE ;;
+ --git ) GIT=TRUE ;;
+ --source ) SOURCE=TRUE ;;
+ --fullname=* ) DEBFULLNAME=`echo $1 | sed 's/--fullname=\(.*\)/\1/' ` ;;
+ --version=* ) DEBVERSION=`echo $1 | sed 's/--version=\(.*\)/\1/' ` ;;
+ --email=* ) DEBEMAIL=`echo $1 | sed 's/--email=\(.*\)/\1/' ` ;;
+ * ) echo "ERROR: invalid build.sh parameter: $1"; exit 1 ;;
+ esac
+ shift
+done
+
+VERSION=`cd .. && ./VersionManager.py --get-current`
+if [ "$GIT" = "TRUE" ]
+then
+ DEBIAN_VERSION=`cd .. && ./VersionManager.py --get-debian-git`
+else
+ DEBIAN_VERSION=`cd .. && ./VersionManager.py --get-debian-stable`
+fi
+
+if [ "$CLEAN" = "TRUE" ]
+then
+ rm -rf build/
+else
+ if [ "$LINT" = "TRUE" ]
+ then
+ lintian gregorio_$DEBIAN_VERSION*.changes
+ else
+ rm -rf build/
+ mkdir -p build
+ cd ..
+ autoreconf -f -i
+ ./configure
+ make dist
+ mv gregorio-$VERSION.tar.bz2 debian/build/
+ cd debian/build
+ tar xjf gregorio-$VERSION.tar.bz2
+ mv gregorio-$VERSION.tar.bz2 gregorio_$DEBIAN_VERSION.orig.tar.bz2
+ cd gregorio-$VERSION
+ ./configure
+ mkdir -p debian/
+ cp ../../../debian/* debian/
+ cp -R ../../../debian/source debian/
+ rm debian/README.md debian/build-deb.sh
+ sed -i "s/UNRELEASED/$DEBVERSION/g" debian/changelog
+ echo "gregorio ($DEBIAN_VERSION-1) $DEBVERSION; urgency=low
+
+ * Auto build.
+ -- $DEBFULLNAME <$DEBEMAIL> $(date -R)
+
+$(cat debian/changelog)" > debian/changelog
+ if [ "$SOURCE" = "TRUE" ]
+ then
+ dpkg-buildpackage -S
+ else
+ dpkg-buildpackage
+ fi
+ fi
+fi
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/changelog b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/changelog
new file mode 100644
index 00000000000..3e26decfbcc
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/changelog
@@ -0,0 +1,158 @@
+gregorio (3.0.0-1) UNRELEASED; urgency=low
+
+ * New upstream version:
+ - New incompatible format of space configuration files (`gsp-xxx.tex`)
+ - Possibility to scale or not distances with staff size
+ - Clivis stem length follow Solesmes' books conventions
+ - \setstafflinethickness controls the thickness of the staff lines
+ - New PDF documentation for GregorioTeX (UserManual.pdf)
+ - \includescore has super powers deprecating previous score include macros
+ - Added <nlba> markup in gabc to get areas with no line breaks
+ - Added <c> markup in gabc to denote a change of color
+ - Pressus maior liquescens: `hof~`
+ - Torculus liquescent deminutus and quilisma version, gabc dfec~ and dwfec~
+ - Virga aucta (for liquescent salicus), gabc "iv>"
+ - \gremanualinitialwidth` macro to specify width of all initials
+ - English centering scheme now available as GregorioTeX option
+ - Fixing glyphs disapearing when importing into Illustrator
+ - Quilisma was melting too much with next note when in a second interval
+ - Low episemus ("_0") under consecutive notes are now aligned correctly
+ - gabc "mode" and "anotation-line" now do their job
+ - Reducing flat stem length
+ - Reducing horizontal episemus width
+ - Clivis alignment follows Solesmes' conventions more closely
+ * New watch file for github
+ * New documentation files
+ * Bump Standards-Version to 3.9.6
+ * Update gregorio.docs
+ * Updating Vcs-Browser and Vcs-Git (formerly Vcs-Svn) fields
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Sun, 22 Mar 2015 17:45:45 +0200
+
+gregorio (2.3-1) unstable; urgency=low
+
+ * New upstream version:
+ - fixing absolute path handling
+ - fixing several segfaults
+ - fixing height of automatic custo
+ - fixing height of the bars in some cases
+ - fixing italic and bold automatic hyphen and ligatures
+ - cs: field now accepts non-ascii characters
+ - missing additional lines on porrectus
+ - braces over the notes should now work as documented
+ - vertical spaces are resetted between scores
+ - errors now affect the return value
+ - adapting to LuaTeX >= 0.75
+ - droppint support for TeXLive < 2010
+ - dropping support for Aleph/Omega
+ - font system is now based on ttf files
+ - fixing lintian warnings and errors
+ * New watch file
+ * Bump Standards-Version to 3.9.4.0
+ * Build-Depends on dh-autoreconf and dpkg-dev
+ * Bump compat to 9
+ * New maintainer (Closes: #675755)
+ * Adding Vcs-Browser and Vcs-Svn fields
+ * Switch to dpkg-source 3.0 (quilt) format
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Sat, 22 Jun 2013 14:50:45 +0200
+
+gregorio (2.0-1.2) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * tex-common v3 transition:
+ . build-depend on tex-common (>= 3)
+ (debian/control)
+ . remove obsolete conffile updmap.d/20gregoriotex.cfg
+ (debian/gregoriotex.maintscript)
+
+ -- Norbert Preining <preining@debian.org> Fri, 23 Mar 2012 11:26:28 +0900
+
+gregorio (2.0-1.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Empty dependency_libs (Closes: #621334).
+
+ -- Luk Claes <luk@debian.org> Sat, 18 Jun 2011 19:29:34 +0200
+
+gregorio (2.0-1) unstable; urgency=low
+
+ * New upstream release
+ * New maintainer
+ * Bump Standards-Version to 3.9.1.0
+ * [gregoriotex] Add dependency on texlive-latex-extra
+ * debian/gregorio.{postinst,postrm}: remove
+ * debian/rules: fix calls to dh_clean
+
+ -- Jérôme Marant <jerome@debian.org> Wed, 05 Jan 2011 22:19:35 +0100
+
+gregorio (1.0-1) unstable; urgency=low
+
+ * New upstream version:
+ - fixing a lot of bugs
+ - changing the number of arguments of some TeX function
+ - changing the glyph names
+ - improving the spacings
+ - better management of the penalty in TeX so that the line changes
+ are more consistent
+ - adding the possibility to put a flat after the clef
+ - adding the possibility to put a custo before a clef change
+ - changing the markup system in gabc to be more natural
+ - adaptation to TeXLive 2010 for LuaTeX
+
+ * Adding instructions about adding gregorio to the list of the
+ programs allowed to be executed from TeX in the README.Debian
+ * Closing bug #572470 (depending on autopoint)
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Sat, 29 May 2010 14:50:45 +0200
+
+gregorio (0.9.2-1) unstable; urgency=low
+
+ * New upstream version:
+ - fixing a lot of bugs
+ - changing the number of arguments of some TeX function
+ - changing the glyph names
+ - LuaTeX additional functionalities
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Sun, 27 Dec 2008 11:19:26 +0200
+
+gregorio (0.9.1-1) unstable; urgency=low
+
+ * New upstream version:
+ - fixing a lot of small bugs
+ - changing the number of arguments of some TeX functions
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Sun, 23 Nov 2008 16:19:26 +0200
+
+gregorio (0.9-1) unstable; urgency=low
+
+ * New upstream version:
+ - stabilizing the TeX API
+ - adding support for Cygwin compilation
+ - adding too many new features to be listed
+
+ -- Elie Roux <elie.roux@telecom-bretagne.eu> Fri, 25 Jul 2008 14:19:26 +0200
+
+gregorio (0.3-1) unstable; urgency=low
+
+ * New upstream version:
+ - adding support for end of lines
+ - changing the architecture of libraries and plugins
+ - adding support for compilation on MAC OSX
+
+ -- Elie Roux <elie.roux@enst-bretagne.fr> Fri, 18 Jan 2008 10:06:46 +0200
+
+gregorio (0.2.2-1) unstable; urgency=low
+
+ * New upstream version:
+ - adding support for styled text
+ - correcting small bugs in OpusTeX output
+ - changing GregorioXML on the text
+
+ -- Elie Roux <elie.roux@enst-bretagne.fr> Thu, 14 Jun 2007 19:28:46 +0200
+
+gregorio (0.2.1-1) unstable; urgency=low
+
+ * Initial debian release
+
+ -- Elie Roux <elie.roux@enst-bretagne.fr> Mon, 04 Jun 2007 22:47:32 +0200
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/compat b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/compat
new file mode 100644
index 00000000000..ec635144f60
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/control b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/control
new file mode 100644
index 00000000000..ab2996dd1e7
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/control
@@ -0,0 +1,28 @@
+Source: gregorio
+Section: x11
+Priority: optional
+Maintainer: Elie Roux <elie.roux@telecom-bretagne.eu>
+Build-Depends: dpkg-dev (>= 1.16.2), debhelper (>= 9), dh-autoreconf, autotools-dev, docbook-to-man, xsltproc, docbook-xsl, autopoint, libkpathsea-dev, pkg-config, tex-common
+Standards-Version: 3.9.6
+Homepage: http://gregorio-project.github.io/
+Vcs-Browser: https://github.com/gregorio-project/gregorio/
+Vcs-Git: https://github.com/gregorio-project/gregorio.git
+
+Package: gregorio
+Architecture: any
+Depends: libkpathsea6, ${misc:Depends}
+Recommends: gregoriotex
+Description: command-line tool to convert gabc scores into GregorioTeX
+ Gregorio is a software application for engraving Gregorian Chant scores on a
+ computer. Gregorio's main job is to convert a gabc file (simple text
+ representation of a score) into a GregorioTeX file, which makes TeX able to
+ create a PDF of your score.
+
+Package: gregoriotex
+Architecture: all
+Depends: luatex, texlive-luatex, ${misc:Depends}
+Recommends: gregorio
+Description: LuaTeX style for Gregorian chant scores
+ GregorioTeX is a LuaTeX style for writing Gregorian chant scores.
+ The code to write for a score is quite complex and should be written directly
+ by the gregorio software.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/copyright b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/copyright
new file mode 100644
index 00000000000..b86d8a68c55
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/copyright
@@ -0,0 +1,152 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Gregorio
+Upstream-Contact: Elie Roux <elie.roux@telecom-bretagne.eu>
+Source: https://github.com/gregorio-project/gregorio/releases
+
+Files: *
+Copyright: 2008-2015 The Gregorio Project
+License: GPL-3+
+
+Files: fonts/gregorio*
+Copyright: 2008-2015 The Gregorio Project
+License: GPL-3font+
+
+Files: fonts/parmesan*
+Copyright: 2008-2015 Juergen Reuter, the Gregorio Project
+License: GPL-3font+
+
+Files: fonts/greciliae*
+Copyright: 2007 Matthew Spencer with Reserved Font Name Caeciliae
+License: OFL-1.1
+
+License: OFL-1.1
+ PREAMBLE
+ .
+ The goals of the Open Font License (OFL) are to stimulate worldwide
+ development of collaborative font projects, to support the font creation
+ efforts of academic and linguistic communities, and to provide a free and
+ open framework in which fonts may be shared and improved in partnership
+ with others.
+ .
+ The OFL allows the licensed fonts to be used, studied, modified and
+ redistributed freely as long as they are not sold by themselves. The
+ fonts, including any derivative works, can be bundled, embedded,
+ redistributed and/or sold with any software provided that any reserved
+ names are not used by derivative works. The fonts and derivatives,
+ however, cannot be released under any other type of license. The
+ requirement for fonts to remain under this license does not apply
+ to any document created using the fonts or their derivatives.
+ .
+ DEFINITIONS
+ .
+ "Font Software" refers to the set of files released by the Copyright
+ Holder(s) under this license and clearly marked as such. This may
+ include source files, build scripts and documentation.
+ .
+ "Reserved Font Name" refers to any names specified as such after the
+ copyright statement(s).
+ .
+ "Original Version" refers to the collection of Font Software components as
+ distributed by the Copyright Holder(s).
+ .
+ "Modified Version" refers to any derivative made by adding to, deleting,
+ or substituting — in part or in whole — any of the components of the
+ Original Version, by changing formats or by porting the Font Software to a
+ new environment.
+ .
+ "Author" refers to any designer, engineer, programmer, technical
+ writer or other person who contributed to the Font Software.
+ .
+ PERMISSION & CONDITIONS
+ .
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of the Font Software, to use, study, copy, merge, embed, modify,
+ redistribute, and sell modified and unmodified copies of the Font
+ Software, subject to the following conditions:
+ .
+ 1) Neither the Font Software nor any of its individual components,
+ in Original or Modified Versions, may be sold by itself.
+ .
+ 2) Original or Modified Versions of the Font Software may be bundled,
+ redistributed and/or sold with any software, provided that each copy
+ contains the above copyright notice and this license. These can be
+ included either as stand-alone text files, human-readable headers or
+ in the appropriate machine-readable metadata fields within text or
+ binary files as long as those fields can be easily viewed by the user.
+ .
+ 3) No Modified Version of the Font Software may use the Reserved Font
+ Name(s) unless explicit written permission is granted by the corresponding
+ Copyright Holder. This restriction only applies to the primary font name as
+ presented to the users.
+ .
+ 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
+ Software shall not be used to promote, endorse or advertise any
+ Modified Version, except to acknowledge the contribution(s) of the
+ Copyright Holder(s) and the Author(s) or with their explicit written
+ permission.
+ .
+ 5) The Font Software, modified or unmodified, in part or in whole,
+ must be distributed entirely under this license, and must not be
+ distributed under any other license. The requirement for fonts to
+ remain under this license does not apply to any document created
+ using the Font Software.
+ .
+ TERMINATION
+ .
+ This license becomes null and void if any of the above conditions are
+ not met.
+ .
+ DISCLAIMER
+ .
+ THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
+ OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
+ COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
+ DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
+ OTHER DEALINGS IN THE FONT SOFTWARE.
+
+License: GPL-3+
+ This program 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.
+ .
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in the file `/usr/share/common-licenses/GPL'.
+
+License: GPL-3font+
+ This program 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.
+ .
+ This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License can be found in the file `/usr/share/common-licenses/GPL'.
+ .
+ As a special exception, if you create a document which uses this font,
+ and embed this font or unaltered portions of this font into the document,
+ this font does not by itself cause the resulting document to be covered by
+ the GNU General Public License. This exception does not however invalidate
+ any other reasons why the document might be covered by the GNU General
+ Public License. If you modify this font, you may extend this exception to
+ your version of the font, but you are not obligated to do so. If you do not
+ wish to do so, delete this exception statement from your version.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregorio.docs b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregorio.docs
new file mode 100644
index 00000000000..abe86141691
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregorio.docs
@@ -0,0 +1,5 @@
+README.md
+CONTRIBUTING.md
+CONTRIBUTORS.md
+CHANGELOG.md
+UPGRADE.md
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.dirs b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.dirs
new file mode 100644
index 00000000000..f011872104f
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.dirs
@@ -0,0 +1,5 @@
+usr/share/texmf/tex/luatex/gregoriotex
+usr/share/texmf/source/luatex/gregoriotex
+usr/share/texmf/doc/luatex/gregoriotex
+usr/share/texmf/fonts/truetype/public/gregoriotex
+usr/share/texmf/fonts/source/public/gregoriotex
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.docs b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.docs
new file mode 100644
index 00000000000..76535e86342
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.docs
@@ -0,0 +1,2 @@
+fonts/README.md
+doc/GregorioRef-*.pdf
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.install b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.install
new file mode 100644
index 00000000000..302de68a3ea
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/gregoriotex.install
@@ -0,0 +1,6 @@
+tex/gregorio*.tex /usr/share/texmf/tex/luatex/gregoriotex
+tex/gsp-default.tex /usr/share/texmf/tex/luatex/gregoriotex
+tex/gregorio*.lua /usr/share/texmf/tex/luatex/gregoriotex
+tex/gregorio*.sty /usr/share/texmf/tex/luatex/gregoriotex
+fonts/*.ttf /usr/share/texmf/fonts/truetype/public/gregoriotex
+fonts/*.sfd /usr/share/texmf/fonts/source/public/gregoriotex
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/manpage.xml b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/manpage.xml
new file mode 100644
index 00000000000..59ff7e056eb
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/manpage.xml
@@ -0,0 +1,224 @@
+<?xml version='1.0' encoding='ISO-8859-1'?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
+
+<!--
+
+Process this file with an XSLT processor: `xsltproc \
+-''-nonet /usr/share/xml/docbook/stylesheet/nwalsh/\
+manpages/docbook.xsl manpage.xml'. A manual page
+<package>.<section> will be generated. You may view the
+manual page with: nroff -man <package>.<section> | less'. A
+typical entry in a Makefile or Makefile.am is:
+
+DB2MAN=/usr/share/xml/docbook/stylesheet/nwalsh/manpages/\
+docbook.xsl
+XP=xsltproc -''-nonet
+
+manpage.1: manpage.xml
+ $(XP) $(DB2MAN) $<
+
+The xsltproc binary is found in the xsltproc package. The
+XSL files are in docbook-xsl. Please remember that if you
+create the nroff version in one of the debian/rules file
+targets (such as build), you will need to include xsltproc
+and docbook-xsl in your Build-Depends control field.
+
+-->
+
+ <!ENTITY dhfirstname "<firstname>Elie</firstname>">
+ <!ENTITY dhsurname "<surname>Roux</surname>">
+ <!-- Please adjust the date whenever revising the manpage. -->
+ <!ENTITY dhdate "<date>juin 4, 2007</date>">
+ <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
+ allowed: see man(7), man(1). -->
+ <!ENTITY dhsection "<manvolnum>1</manvolnum>">
+ <!ENTITY dhemail "<email>elie.roux@enst-bretagne.fr</email>">
+ <!ENTITY dhusername "Elie Roux">
+ <!ENTITY dhucpackage "<refentrytitle>GREGORIO</refentrytitle>">
+ <!ENTITY dhpackage "gregorio">
+
+ <!ENTITY debian "<productname>Debian</productname>">
+ <!ENTITY gnu "<acronym>GNU</acronym>">
+ <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
+]>
+
+<refentry>
+ <refentryinfo>
+ <address>
+ &dhemail;
+ </address>
+ <author>
+ &dhfirstname;
+ &dhsurname;
+ </author>
+ <copyright>
+ <year>2007</year>
+ <holder>&dhusername;</holder>
+ </copyright>
+ &dhdate;
+ </refentryinfo>
+ <refmeta>
+ &dhucpackage;
+
+ &dhsection;
+ </refmeta>
+ <refnamediv>
+ <refname>&dhpackage;</refname>
+
+ <refpurpose>tool for gregorian chant typesetting</refpurpose>
+ </refnamediv>
+ <refsynopsisdiv>
+ <cmdsynopsis>
+ <command>&dhpackage;</command>
+
+ <arg><option>-hvVWsSL</option></arg>
+
+ <arg><option>-o <replaceable>file</replaceable></option></arg>
+
+ <arg><option>-f <replaceable>format</replaceable></option></arg>
+
+ <arg><option>-F <replaceable>format</replaceable></option></arg>
+
+ <arg><option>-l <replaceable>error-file</replaceable></option></arg>
+
+ <arg><option><replaceable>file</replaceable></option></arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+ <refsect1>
+ <title>DESCRIPTION</title>
+
+ <para>This manual page documents briefly the
+ <command>&dhpackage;</command> command.</para>
+
+ <para><command>&dhpackage;</command> is the software of the gregorio project, that comes with a lot of functionalities. The goal is to describe and typeset a gregorian chant score very simply. The <command>&dhpackage;</command> command is there to read and write the formats handled by the Gregorio project. See FORMATS for details.</para>
+
+ </refsect1>
+ <refsect1>
+ <title>OPTIONS</title>
+
+ <para>These programs follow the usual &gnu; command line syntax,
+ with long options starting with two dashes (`-'). A summary of
+ options is included below.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term><option>-h</option>
+ </term>
+ <listitem>
+ <para>Show summary of options.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-V</option>
+ </term>
+ <listitem>
+ <para>Show version of program.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-L</option>
+ </term>
+ <listitem>
+ <para>Show licence of program.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-v</option>
+ </term>
+ <listitem>
+ <para>Set the program in verbose mode.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-W</option>
+ </term>
+ <listitem>
+ <para>Show all warnings.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-s</option>
+ </term>
+ <listitem>
+ <para>Read stdin as input.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-S</option>
+ </term>
+ <listitem>
+ <para>Write output to stdout.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-F </option><replaceable>format</replaceable>
+ </term>
+ <listitem>
+ <para>Sets the format of the produced file, where format is one of gabc, xml, otex, gtex, dump. See FORMATS for details. Default is gtex.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>-f </option><replaceable>format</replaceable>
+ </term>
+ <listitem>
+ <para>Sets the format of the file to read, where format is one of gabc, xml. See FORMATS for details. Default it gabc.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+ <refsect1>
+ <title>FORMATS</title>
+ <variablelist>
+ <varlistentry>
+ <term><option>gabc</option></term>
+ <listitem>
+ <para>Gregorian abc. The most interesting part of the Gregorio project, it is a very simple language made to describe briefly and simply a gregorian chant score. The syntax is quite close to abc language.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>xml</option></term>
+ <listitem>
+ <para>GregorioXML is a XML language describing a gregorian chant score.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>gtex</option></term>
+ <listitem>
+ <para>GregorioTeX is the TeX style made by the Gregorio project. You must install the <command>gregoriotex</command> environment to use it (it usually comes with gregorio).</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>otex</option></term>
+ <listitem>
+ <para>OpusTeX is the most used TeX style to typeset a gregorian chant score. Install the <command>opustex</command> environment to use it.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><option>dump</option></term>
+ <listitem>
+ <para>This output simply dumps the internal <command>gregorio</command> structure. Only for debugging.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </refsect1>
+ <refsect1>
+ <title>EXAMPLE</title>
+ <variablelist>
+ <varlistentry>
+ <term><command>gregorio myfile.gabc</command></term>
+ <listitem>
+ <para>converts the gabc file into GregorioTeX, and writes the result to <command>myfile.tex</command>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
+ <refsect1>
+ <title>SEE ALSO</title>
+
+ <para>http://home.gna.org/gregorio for a complete description of the formats.</para>
+
+ </refsect1>
+</refentry>
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/rules b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/rules
new file mode 100755
index 00000000000..8bfff91b518
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/rules
@@ -0,0 +1,90 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+export DEB_LDFLAGS_MAINT_APPEND = -Wl,-z,defs
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+deb:
+ debuild -i
+
+config.status:
+ dh_testdir
+ dh_autoreconf
+ dh_auto_configure -- --with-kpathsea
+
+build: build-stamp
+
+build-stamp: config.status
+ dh_testdir
+ $(MAKE)
+ xsltproc --nonet /usr/share/xml/docbook/stylesheet/nwalsh/manpages/docbook.xsl debian/manpage.xml
+ touch $@
+
+clean:
+ dh_testdir
+ dh_testroot
+ dh_auto_clean
+ dh_autoreconf_clean
+ rm -f build-stamp
+ [ ! -f Makefile ] || $(MAKE) distclean
+ rm -f build-aux/config.sub
+ rm -f build-aux/config.guess
+ dh_clean
+
+install: build
+ dh_testdir
+ dh_testroot
+ dh_prep
+ $(MAKE) DESTDIR=$(CURDIR)/debian/gregorio install
+
+# Build architecture-independent files here.
+binary-indep: build install
+ dh_testdir -i
+ dh_testroot -i
+ dh_installchangelogs -i
+ dh_installexamples -i examples/*.tex examples/*.gabc
+ dh_installtex -pgregoriotex -i
+ dh_install -i
+ dh_installdocs -i
+ dh_compress -i
+ dh_fixperms -i
+ dh_installdeb -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
+
+# Build architecture-dependent files here.
+binary-arch: build install
+ dh_testdir -a
+ dh_testroot -a
+ dh_installchangelogs -a
+ dh_installexamples -i examples/*.gabc
+ dh_lintian -a
+ dh_installman -a gregorio.1
+ dh_installdocs -a
+ dh_strip -a
+ dh_compress -a
+ dh_fixperms -a
+# dh_makeshlibs -a
+ dh_shlibdeps -a
+ dh_installdeb -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
+
+binary: binary-indep binary-arch
+
+%:
+ dh $@ --with tex --with autoreconf --with autotools-dev
+
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/source/format b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/source/format
new file mode 100644
index 00000000000..163aaf8d82b
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/watch b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/watch
new file mode 100644
index 00000000000..4e3d6319312
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/debian/watch
@@ -0,0 +1,4 @@
+version=3
+opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/gregorio-$1\.tar\.gz/ \
+ https://github.com/gregorio-project/gregorio/tags .*/v?(\d\S*)\.tar\.gz
+# Elie Roux <elie.roux@telecom-bretagne.eu> Mon, 23 Mar 2015 16:25:47 +0200
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Appendix_Font_Tables.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Appendix_Font_Tables.tex
index d5e2c4cabbb..2eaddd777f6 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Appendix_Font_Tables.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Appendix_Font_Tables.tex
@@ -20,36 +20,36 @@ horizontal episema (activated using {\ttfamily\char`_} in gabc) are excluded fro
this table.
\newcommand\ScoreFontTable[1]{%
- \begin{longtable}{llccccccc}
- \caption{Score Glyphs}\\
- &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
- \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
- {\bfseries Glyph Name}&%
- {\scriptsize\bfseries gabc}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries parmesan}&%
- {\scriptsize\bfseries Name}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries parmesan}\\
- \hline
- \endfirsthead
- &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
- \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
- {\bfseries Glyph Name}&%
- {\scriptsize\bfseries gabc}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries parmesan}&%
- {\scriptsize\bfseries Name}&%
- {\scriptsize\bfseries greciliae}&%
- {\scriptsize\bfseries gregorio}&%
- {\scriptsize\bfseries parmesan}\\
- \hline
- \endhead
- \directlua{GregorioRef.emit_score_glyphs(#1)}
- \end{longtable}
+ \begin{longtable}{llccccccc}
+ \caption{Score Glyphs}\\
+ &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
+ \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
+ {\bfseries Glyph Name}&%
+ {\scriptsize\bfseries gabc}&%
+ {\scriptsize\bfseries greciliae}&%
+ {\scriptsize\bfseries gregorio}&%
+ {\scriptsize\bfseries parmesan}&%
+ {\scriptsize\bfseries Name}&%
+ {\scriptsize\bfseries greciliae}&%
+ {\scriptsize\bfseries gregorio}&%
+ {\scriptsize\bfseries parmesan}\\
+ \hline
+ \endfirsthead
+ &&&&&\multicolumn{4}{c}{\bfseries Variants}\\
+ \hhline{>{\arrayrulecolor{lightgray}}----->{\arrayrulecolor{black}}----}
+ {\bfseries Glyph Name}&%
+ {\scriptsize\bfseries gabc}&%
+ {\scriptsize\bfseries greciliae}&%
+ {\scriptsize\bfseries gregorio}&%
+ {\scriptsize\bfseries parmesan}&%
+ {\scriptsize\bfseries Name}&%
+ {\scriptsize\bfseries greciliae}&%
+ {\scriptsize\bfseries gregorio}&%
+ {\scriptsize\bfseries parmesan}\\
+ \hline
+ \endhead
+ \directlua{GregorioRef.emit_score_glyphs(#1)}
+ \end{longtable}
}%
\ScoreFontTable{'greciliae','gregorio','parmesan'}
@@ -69,14 +69,14 @@ used in the verses or in the \TeX{} document, and miscellaneous glyphs like
decorative lines for more specialized use.
\begin{longtable}{lc|lc}
- \caption{Extra Glyphs}\\
- {\bfseries Glyph Name}&{\bfseries Glyph}&{\bfseries Glyph Name}&{\bfseries Glyph}\\
- \hline
- \endfirsthead
- {\bfseries Glyph Name}&{\bfseries Glyph}&{\bfseries Glyph Name}&{\bfseries Glyph}\\
- \hline
- \endhead
- \directlua{GregorioRef.emit_extra_glyphs('greextra')}
+ \caption{Extra Glyphs}\\
+ {\bfseries Glyph Name}&{\bfseries Glyph}&{\bfseries Glyph Name}&{\bfseries Glyph}\\
+ \hline
+ \endfirsthead
+ {\bfseries Glyph Name}&{\bfseries Glyph}&{\bfseries Glyph Name}&{\bfseries Glyph}\\
+ \hline
+ \endhead
+ \directlua{GregorioRef.emit_extra_glyphs('greextra')}
\end{longtable}
\end{landscape}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_User.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_User.tex
index 15d1760e935..a3d97274a6e 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_User.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_User.tex
@@ -9,7 +9,7 @@ to any \verb=.tex= file. Do not add them to any \verb=.gtex= or
\subsection{Using the Package}
-To use the Gregorio\TeX\ package, include \verb=\usepackage{gregoriotex}=
+To use the Gregorio\TeX\ package in a \LaTeX\ document, include \verb=\usepackage{gregoriotex}=
in the document preamble. This macro has the following form:
\macroname{\textbackslash usepackage}{[\optional{(options)}]\{gregoriotex\}}{gregoriotex.sty}
@@ -18,29 +18,37 @@ The optional arguments are:
\bigskip\rowcolors{1}{lightgray}{lightgray}
\begin{tabular}{lp{10cm plus .5cm}}
- Argument & Description \\
- \hline
- debug & Debug messages will be printed to the output log. \\
- \hline
- nevercompile & Default. The classic behavior of Gregorio\TeX. The user is %
- responsible for compiling gabc scores into gtex files.\\
- autocompile & Gregorio\TeX\ will automatically compile gtex files from gabc %
- files when necessary. If the gabc has been modified, or the %
- gtex has an outdated version, or the gtex file does not exist, %
- THEN Gregorio\TeX\ will compile a new gtex file.\\
- forcecompile & Gregorio\TeX\ will compile all scores from their gabc files.\\
- \hline
- deprecated=false & Force all deprecated commands to raise a package error %
- rather than a warning. This allows the user to ensure that their file is %
- compliant with the current version of Gregorio\TeX.\\
+ Argument & Description \\
+ \hline
+ debug & Debug messages will be printed to the output log. Can also be specified as \verb:debug={<types>}:, in which case only messages of the types listed will be printed to the output log.\\
+ \hline
+ nevercompile & Default. The classic behavior of Gregorio\TeX. The user is %
+ responsible for compiling gabc scores into gtex files.\\
+ autocompile & Gregorio\TeX\ will automatically compile gtex files from gabc %
+ files when necessary. If the gabc has been modified, or the %
+ gtex has an outdated version, or the gtex file does not exist, %
+ THEN Gregorio\TeX\ will compile a new gtex file.\\
+ forcecompile & Gregorio\TeX\ will compile all scores from their gabc files.\\
+ \hline
+ allowdeprecated=false & Force all deprecated commands to raise a package error %
+ rather than a warning. This allows the user to ensure that their file is %
+ compliant with the current version of Gregorio\TeX.\\
\end{tabular}\bigskip
\textbf{Note:} \verb=nevercompile=, \verb=autocompile=, and
\verb=forcecompile= conflict with eachother. Only one should be
specified in the options list.\bigskip
+To use the package in a Plain\TeX\ document, include \verb=\input gregoriotex.tex= near the top of the document (the area which would correspond to the preamble in \LaTeX).
+
+To use the \texttt{debug} option in Plain\TeX, you'll need to define \verb=\gre@debug= manually as a string listing the kinds of messages you want printed (or as \verb=all= if you want all messages printed).
+
+To use the \texttt{allowdeprecated=false} option, you'll need \verb=\gre@allowdeprecatedfalse=.
+
+The compilation options can be set using \verb=\gresetcompilegabc= (see below).
+
\textbf{Important:} Gregorio\TeX{} may require up to two passes (runs of
-\texttt{lualatex}) to compute the line heights correctly. If a second
+\texttt{lualatex} or \texttt{luatex}) to compute the line heights correctly. If a second
pass is required, Gregorio\TeX{} will emit the following
warning:\par\medskip
@@ -52,9 +60,18 @@ Module gregoriotex warning: Line heights or variable brace lengths may have chan
Gregorio\TeX{} two-pass processing is compatible with \texttt{latexmk}.
+If you only need the special symbols which Gregorio\TeX\ contains, and not the ability to include scores or musical glyphs, then you can load \texttt{gregoriosyms} instead of \texttt{gregoriotex}. It supports all of the above options except those specifically related to scores. \textbf{You should not try to load both packages}.
+
+\subsubsection{Gregorio\TeX\ and \texttt{fontspec}}
+Due to recent changes (September 2015) in the \LaTeX\ kernel and the resulting updates to \texttt{fontspec} and Gregorio\TeX, these two packages must now be loaded in order: \texttt{fontspec} first and then \texttt{gregoirotex} (or \texttt{gregoriosyms}). If you attempt to load them the other way around, you will get an error about undefined control sequences and will be unable to compile your document.
+
+Gregorio\TeX\ does not require \texttt{fontspec}, so documents which do not use \texttt{fontspec} are not affected by these changes.
+
+\textit{Nota bene:} Some font packages (such as \texttt{libertine}) make use of \texttt{fontspec} and thus must also be loaded before \texttt{gregoriotex}.
+
\subsection{Commands}
-In general, commands should not be modified. Exceptions are noted below.
+Once you've included the package in your document (as explained above) the following commands allow you to insert scores and manipulate the way they appear in the document.
\subsubsection{Including scores}
@@ -62,27 +79,27 @@ In general, commands should not be modified. Exceptions are noted below.
Macro for including scores. Works on both gabc and tex files.
\begin{argtable}
- \#1 & \texttt{n} & Optional. \#2 will be included as is. \\
- & \texttt{a} & Optional. Gregorio\TeX\ will automatically compile gabc files if necessary.\\
- & \texttt{f} & Optional. Forces Gregorio\TeX\ to compile the gabc file.\\
- \#2 & string & Relative or absolute path to the score.\\
+ \#1 & \texttt{n} & Optional. \#2 will be included as is. \\
+ & \texttt{a} & Optional. Gregorio\TeX\ will automatically compile gabc files if necessary.\\
+ & \texttt{f} & Optional. Forces Gregorio\TeX\ to compile the gabc file.\\
+ \#2 & string & Relative or absolute path to the score.\\
\end{argtable}
Example:\par\medskip
\begin{latexcode}
- \includescore[n]{TecumPrincipium.tex}
- \includescore{Chant/VirgoVirginum.gabc}
- \includescore{/home/user/chant/AdTeLevavi}
- \includescore[a]{AveMaria}
-
- %The following lines include the same score:
- \includescore{Christus}
- \includescore{Christus.gtex}
- \includescore{./Christus}
- \includescore{./Christus.gabc}
-
- %With the optional arg [f], #2 must be a file usable by TeX.
- \includescore[f]{TecumPrincipium.gabc} % Wrong
+ \includescore[n]{TecumPrincipium.tex}
+ \includescore{Chant/VirgoVirginum.gabc}
+ \includescore{/home/user/chant/AdTeLevavi}
+ \includescore[a]{AveMaria}
+
+ %The following lines include the same score:
+ \includescore{Christus}
+ \includescore{Christus.gtex}
+ \includescore{./Christus}
+ \includescore{./Christus.gabc}
+
+ %With the optional arg [f], #2 must be a file usable by TeX.
+ \includescore[f]{TecumPrincipium.gabc} % Wrong
\end{latexcode}
\textbf{Important:} For the sake of clarity it is recommended that the
@@ -103,7 +120,7 @@ compiled are:
\begin{itemize}
\item If a gtex file does not exist.
\item If the modification time of the gabc file is newer than its
- corresponding gtex file.
+ corresponding gtex file.
\item If the version of the gtex file is outdated.
\end{itemize}
@@ -120,32 +137,32 @@ A macro to change the behavior of the way Gregorio\TeX\ includes scores. This i
\begin{argtable}
- \#1 & force & all later calls of \verb=\includescore= will compile the gabc
+ \#1 & force & all later calls of \verb=\includescore= will compile the gabc
file into a gtex file.\\
- & auto & all later calls of \verb=\includescore= will use Gregorio\TeX's
+ & auto & all later calls of \verb=\includescore= will use Gregorio\TeX's
automatic compilation of gabc files.\\
- & never & all later calls of \verb=\includescore= will include the score
+ & never & all later calls of \verb=\includescore= will include the score
without doing anything else.
\end{argtable}
\medskip This macro can be combined in the same document with different arguments to
switch between different includescore behaviors: \par\medskip
\begin{latexcode}
- \usepackage{gregoriotex} % [nevercompile] is the default.
- ----
- \includescore{TecumPrincipium} % gabc never compiled.
- \includescore[f]{TecumPrincipium} % gabc always compiled.
- \includescore[a]{TecumPrincipium} % gabc auto compiled.
-
- \gresetcompilegabc{auto}
- \includescore{TecumPrincipium} % gabc auto compiled.
- \includescore[n]{TecumPrincipium} % gabc never compiled.
- \includescore[f]{TecumPrincipium} % gabc always compiled.
-
- \gresetcompilegabc{force}
- \includescore{TecumPrincipium} % gabc always compiled.
- \includescore[n]{TecumPrincipium} % gabc never compiled.
- \includescore[a]{TecumPrincipium} % gabc auto compiled.
+ \usepackage{gregoriotex} % [nevercompile] is the default.
+ ----
+ \includescore{TecumPrincipium} % gabc never compiled.
+ \includescore[f]{TecumPrincipium} % gabc always compiled.
+ \includescore[a]{TecumPrincipium} % gabc auto compiled.
+
+ \gresetcompilegabc{auto}
+ \includescore{TecumPrincipium} % gabc auto compiled.
+ \includescore[n]{TecumPrincipium} % gabc never compiled.
+ \includescore[f]{TecumPrincipium} % gabc always compiled.
+
+ \gresetcompilegabc{force}
+ \includescore{TecumPrincipium} % gabc always compiled.
+ \includescore[n]{TecumPrincipium} % gabc never compiled.
+ \includescore[a]{TecumPrincipium} % gabc auto compiled.
\end{latexcode}
\macroname{\textbackslash gabcsnippet}{[\optional{\#1}]\{\#2\}}{gregoriotex-main.tex}
@@ -155,13 +172,13 @@ may be used to specify a gabc \texttt{initial-style}, which defaults to
\texttt{1}.
\begin{argtable}
- \#1 & number & Optional. The gabc \texttt{initial-style} value to use.\\
- \#2 & string & The gabc to insert into the document.\\
+ \#1 & number & Optional. The gabc \texttt{initial-style} value to use.\\
+ \#2 & string & The gabc to insert into the document.\\
\end{argtable}
\medskip For example:\par\medskip
\begin{latexcode}
- \gabcsnippet[0]{(c3) Al(eg~)le(gv.fhg)lu(efe___)ia(e.) (::)}
+ \gabcsnippet[0]{(c3) Al(eg~)le(gv.fhg)lu(efe___)ia(e.) (::)}
\end{latexcode}
@@ -191,8 +208,8 @@ disabled by default.
Macro to enable or disable the point-and-click feature.
\begin{argtable}
- \#1 & on & Enable point-and-click link generation.\\
- & off & Disable point-and-click link generation.
+ \#1 & on & Enable point-and-click link generation.\\
+ & off & Disable point-and-click link generation.
\end{argtable}
This feature may be switched on and off as desired between scores.
@@ -205,14 +222,14 @@ While the default size for Gregorio scores is designed to approximate that found
Macro to adjust the size of the staff.
\begin{argtable}
- \#1 & integer & The size of the staff lines. Default value is 17. Higher numbers yield larger staves.
+ \#1 & integer & The size of the staff lines. Default value is 17. Higher numbers yield larger staves.
\end{argtable}
\macroname{\textbackslash grechangestafflinethickness}{\{\#1\}}{gregoriotex-spaces.tex}
Macro to adjust the thickness of the staff lines.
\begin{argtable}
- \#1 & integer & The thickness of the staff lines. The default value is same as staff size.
+ \#1 & integer & The thickness of the staff lines. The default value is same as staff size.
\end{argtable}
@@ -223,44 +240,46 @@ In addition to providing control over the overall size of your scores, Gregorio\
Macro to create one of Gregorio\TeX’s distances. Used to initialize distances in a space configuration file.
\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 & 0 & Distance will not scale when staff size is changed.\\
- & 1 & Distance will scale when staff size is changed.
+ \#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 & fixed & Distance will not scale when staff size is changed.\\
+ & scalable & Distance will scale when staff size is changed.
\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.
\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 & 0 & Distance will not scale when staff size is changed.\\
- & 1 & Distance will scale when staff size is changed.
+ \#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 & fixed & Distance will not scale when staff size is changed.\\
+ & scalable & Distance will scale when staff size is changed.
\end{argtable}
\macroname{\textbackslash grescaledim}{\{\#1\}\{\#2\}}{gregoriotex-spaces.tex}
Macro to turn on or off scaling with the staff size for a particular distance.
\begin{argtable}
- \#1 & string & The name of the distance for which scaling it to changed. See \nameref{distances} below.\\
- \#2 & \texttt{yes}/\texttt{true}/\texttt{on} & Scale the distance when changing the size of the staff.\\
- & \textit{other} & Do not scale the distance when changing the size of the staff.
+ \#1 & string & The name of the distance for which scaling is to changed. See \nameref{distances} below.\\
+ \#2 & \texttt{yes}/\texttt{true}/\texttt{on}/\texttt{scalable} & Scale the distance when changing the size of the staff.\\
+ & \textit{other} & Do not scale the distance when changing the size of the staff.
\end{argtable}
+\textbf{Nota bene:} This macro also can be used to change whether or not the staff line thickness scales with the staff size by specifying \texttt{stafflinefactor} for the first argument.
+
\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. This function is \texttt{gre}-prefixed to highlight that it only loads distances for Gregorio\TeX.
\begin{argtable}
- \#1 & string & The identifier of the space configuration file.
+ \#1 & string & The identifier of the space configuration file.
\end{argtable}
Example:\par\medskip
\begin{latexcode}
- % loads gsp-default.tex, the default configuration file
- \greloadspaceconf{default}
- % loads a custom configuration called gsp-myspaces.tex
- \greloadspaceconf{myspaces}
+ % loads 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}
@@ -271,9 +290,9 @@ Macro to configure line height expansion behavior when notes appear
above or below the staff lines.
\begin{argtable}
- \#1 & \texttt{variable} & Expand lines within a score independently
- of each other \\
- & \texttt{uniform} & Expand all lines within a score uniformly
+ \#1 & \texttt{variable} & Expand lines within a score independently
+ of each other \\
+ & \texttt{uniform} & Expand all lines within a score uniformly
\end{argtable}
By default, Gregorio\TeX{} uses \texttt{variable} line expansion. This
@@ -293,14 +312,14 @@ necessary.
\begin{small}
\begin{framed}
- \textit{For experts only:}\bigskip
-
- It is possible to suppress the line height computation and just use
- whatever has been computed from the previous run. If you are sure
- that the score line heights haven't changed from the previous run,
- define the \verb=\greskipheightcomputation= control sequence before
- including the Gregorio\TeX{} package. This will save a little bit
- of time per run.
+ \textit{For experts only:}\bigskip
+
+ It is possible to suppress the line height computation and just use
+ whatever has been computed from the previous run. If you are sure
+ that the score line heights haven't changed from the previous run,
+ define the \verb=\greskipheightcomputation= control sequence before
+ including the Gregorio\TeX{} package. This will save a little bit
+ of time per run.
\end{framed}
\end{small}
@@ -312,31 +331,31 @@ necessary.
Macro for changing the color of the staff lines. The two most common colors you're going to want to use are \texttt{gregoriocolor} (see \nameref{colors}) and \texttt{black} (the default).
\begin{argtable}
- \#1 & \textit{color name} & The color of the staff lines
+ \#1 & \textit{color name} & The color of the staff lines
\end{argtable}
\macroname{\textbackslash gresetlines}{\{\#1\}}{gregoriotex-main.tex}
Macro for setting whether the staff lines should be rendered or not.
\begin{argtable}
- \#1 & visible & The staff lines should be printed (default)\\
- & invisible & The staff lines should not be printed
+ \#1 & visible & The staff lines should be printed (default)\\
+ & invisible & The staff lines should not be printed
\end{argtable}
\macroname{\textbackslash gresetlinesbehindpunctumcavum}{\{\#1\}}{gregoriotex-signs.tex}
Macro for setting whether the staff lines behind a punctum cavum should be shown or not.
\begin{argtable}
- \#1 & visible & The staff lines behind a punctum cavum should be printed (default)\\
- & invisible & The staff lines behind a punctum cavum should not be printed
+ \#1 & visible & The staff lines behind a punctum cavum should be printed (default)\\
+ & invisible & The staff lines behind a punctum cavum should not be printed
\end{argtable}
\macroname{\textbackslash gresetlinesbehindalteration}{\{\#1\}}{gregoriotex-signs.tex}
Macro for setting whether the staff lines behind an alternation (\ie, an accidental) should be shown or not.
\begin{argtable}
- \#1 & visible & The staff lines behind an alteration should be printed (default)\\
- & invisible & The staff lines behind an alteration should not be printed
+ \#1 & visible & The staff lines behind an alteration should be printed (default)\\
+ & invisible & The staff lines behind an alteration should not be printed
\end{argtable}
@@ -349,11 +368,11 @@ may be used to specify an alternate font/rule set. Currently, the only
available alternate font/rule set is \texttt{op} for Dominican neumes.
\begin{argtable}
- \#1 & \textit{(omitted)} & Use the normal font and rule set (default).\\
- & op & Use the alternate Dominican font/rule set.\\
- \#2 & greciliae & Use the Greciliae font (default).\\
- & gregorio & Use the Gregorio font.\\
- & parmesan & Use the Parmesan font.\\
+ \#1 & \textit{(omitted)} & Use the normal font and rule set (default).\\
+ & op & Use the alternate Dominican font/rule set.\\
+ \#2 & greciliae & Use the Greciliae font (default).\\
+ & gregorio & Use the Gregorio font.\\
+ & parmesan & Use the Parmesan font.\\
\end{argtable}
@@ -365,11 +384,11 @@ Substitutes the given Gregorio\TeX\ score glyph with the specified glyph
from the specified font.
\begin{argtable}
- \#1 & string & The name of the GregorioTeX glyph to replace.\\
- \#2 & string & The name of the font to use.\\
- \#3 & number & The code point of the glyph to use.\\
- & \texttt{.}string & The name of the variant (appended to \#1) to use.\\
- & string & (any other string) The name of the glyph to use.
+ \#1 & string & The name of the GregorioTeX glyph to replace.\\
+ \#2 & string & The name of the font to use.\\
+ \#3 & number & The code point of the glyph to use.\\
+ & \texttt{.}string & The name of the variant (appended to \#1) to use.\\
+ & string & (any other string) The name of the glyph to use.
\end{argtable}
\medskip If \texttt{\#1} has a wildcard (a \texttt{*}) in it, then
@@ -383,14 +402,14 @@ to be available in all score fonts.
\medskip For example, to use the old glyphs (from Caeciliae) for the
strophicus, use the following:\par\medskip
\begin{latexcode}
- \grechangeglyph{Stropha}{greciliae}{.caeciliae}
- \grechangeglyph{StrophaAucta}{greciliae}{.caeciliae}
+ \grechangeglyph{Stropha}{greciliae}{.caeciliae}
+ \grechangeglyph{StrophaAucta}{greciliae}{.caeciliae}
\end{latexcode}
\medskip To replace all torculus resupinus glyphs with their alternate
versions, use the following:\par\medskip
\begin{latexcode}
- \grechangeglyph{TorculusResupinus*}{*}{.alt}
+ \grechangeglyph{TorculusResupinus*}{*}{.alt}
\end{latexcode}
\macroname{\textbackslash greresetglyph}{\{\#1\}}{gregoriotex-main.tex}
@@ -398,7 +417,7 @@ Removes a GregorioTeX score glyph substitution, restoring it back to
its original form.
\begin{argtable}
- \#1 & string & The name of the GregorioTeX glyph to restore.\\
+ \#1 & string & The name of the GregorioTeX glyph to restore.\\
\end{argtable}
\medskip If \texttt{\#1} has a wildcard (a \texttt{*}) in it, then
@@ -407,14 +426,14 @@ all glyphs matching \texttt{\#1} will be restored.
\medskip For example, to restore the strophicus back to the new glyphs,
use the following:\par\medskip
\begin{latexcode}
- \greresetglyph{Stropha}
- \greresetglyph{StrophaAucta}
+ \greresetglyph{Stropha}
+ \greresetglyph{StrophaAucta}
\end{latexcode}
\medskip To restore all torculus resupinus glyphs to their original
form, use the following:\par\medskip
\begin{latexcode}
- \greresetglyph{TorculusResupinus*}
+ \greresetglyph{TorculusResupinus*}
\end{latexcode}
\macroname{\textbackslash gredefsymbol}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-symbols.tex}
@@ -422,10 +441,10 @@ Defines (or redefines) a TeX control sequence to be a non-score symbol.
If defined this way, the symbol will scale with the text font.
\begin{argtable}
- \#1 & string & The name of the TeX control sequence (without leading backslash).\\
- \#2 & string & The name of the font to use.\\
- \#3 & number & The code point of the glyph to use.\\
- & string & The name of the glyph to use.
+ \#1 & string & The name of the TeX control sequence (without leading backslash).\\
+ \#2 & string & The name of the font to use.\\
+ \#3 & number & The code point of the glyph to use.\\
+ & string & The name of the glyph to use.
\end{argtable}
\macroname{\textbackslash gredefsizedsymbol}{\{\#1\}\{\#2\}\{\#3\}}{gregoriotex-symbols.tex}
@@ -434,45 +453,45 @@ which requires a single numeric argument (in points) to which the symbol
will be scaled.
\begin{argtable}
- \#1 & string & The name of the TeX control sequence (without leading backslash).\\
- \#2 & string & The name of the font to use.\\
- \#3 & number & The code point of the glyph to use.\\
- & string & The name of the glyph to use.
+ \#1 & string & The name of the TeX control sequence (without leading backslash).\\
+ \#2 & string & The name of the font to use.\\
+ \#3 & number & The code point of the glyph to use.\\
+ & string & The name of the glyph to use.
\end{argtable}
\macroname{\textbackslash gresethepisemus}{\{\#1\}}{gregoriotex-signs.tex}
Determines whether Gregorio\TeX\ should join (bridge) horizontal episema on adjacent notes.
\begin{argtable}
- \#1 & bridge & Adjacent horizontal episema are joined together (default).\\
- & break & Adjacent horizontal episema are not joined.
+ \#1 & bridge & Adjacent horizontal episema are joined together (default).\\
+ & break & Adjacent horizontal episema are not joined.
\end{argtable}
\macroname{\textbackslash gresetpunctumcavum}{\{\#1\}}{gregoriotex-signs.tex}
A shortcut for switching to the alternative punctum cavum and back.
\begin{argtable}
- \#1 & alternate & use the alternate punctum cavum\\
- & normal & use the normal punctum cavum
+ \#1 & alternate & use the alternate punctum cavum\\
+ & normal & use the normal punctum cavum
\end{argtable}
Using the alternate punctum cavum is the equivalent of issuing the following commands:
\begin{latexcode}
- \grechangeglyph{PunctumCavum}{greciliae}{.caeciliae}%
- \grechangeglyph{LineaPunctumCavum}{greciliae}{.caeciliae}%
- \grechangeglyph{PunctumCavumHole}{greciliae}{.caeciliae}%
- \grechangeglyph{LineaPunctumCavumHole}{greciliae}{.caeciliae}%
+ \grechangeglyph{PunctumCavum}{greciliae}{.caeciliae}%
+ \grechangeglyph{LineaPunctumCavum}{greciliae}{.caeciliae}%
+ \grechangeglyph{PunctumCavumHole}{greciliae}{.caeciliae}%
+ \grechangeglyph{LineaPunctumCavumHole}{greciliae}{.caeciliae}%
\end{latexcode}
\macroname{\textbackslash gresetglyphstyle}{\{\#1\}}{gregoriotex-chars.tex}
Gregorio\TeX\ supports several glyph styles which can be changed with this macro. These style replace some non-note glyphs with alternatives.
\begin{argtable}
- \#1 & default & Use the default style\\
- & medicaea & Use a Medicaea style\\
- & hufnagel & Use the hufnagel style\\
- & mensural & Use the mensural style
+ \#1 & default & Use the default style\\
+ & medicaea & Use a Medicaea style\\
+ & hufnagel & Use the hufnagel style\\
+ & mensural & Use the mensural style
\end{argtable}
%%% Should there be a table here or in the appendix which shows the affected glyphs in each of the styles?
@@ -484,8 +503,8 @@ Gregorio\TeX\ supports several glyph styles which can be changed with this macro
Redefines a \TeX\ control sequence to be a a barred symbol.
\begin{argtable}
- \#1 & character & must be \texttt{A}, \texttt{R}, or \texttt{V}.\\
- \#2 & dimension & how much the bar will be shifted left.\\
+ \#1 & character & must be \texttt{A}, \texttt{R}, or \texttt{V}.\\
+ \#2 & dimension & how much the bar will be shifted left.\\
\end{argtable}
Gregorio does not have precomposed barred letters, instead, it has bars that you
@@ -495,7 +514,7 @@ simple version.
For example:
\medskip \begin{latexcode}
- \gresimpledefbarglyph{A}{0.3em}
+ \gresimpledefbarglyph{A}{0.3em}
\end{latexcode}
Will define \texttt{\textbackslash Abar} to be a A with a bar shifted right
@@ -507,12 +526,12 @@ certainly have to change this value by calling the \texttt{gresimpledefbarglyph}
Redefines a \TeX\ control sequence to be a barred symbol.
\begin{argtable}
- \#1 & string & the name of the command you want to define.\\
- \#2 & string & command to typeset the text.\\
- \#3 & string & symbol of the bar (must be defined through \texttt{gredefsizedsymbol}).\\
- \#4 & number & the size of greextra to use (in pt).\\
- \#5 & dimension & horizontal right shift of the bar.\\
- \#6 & dimension & vertical shift of the bar glyph.\\
+ \#1 & string & the name of the command you want to define.\\
+ \#2 & string & command to typeset the text.\\
+ \#3 & string & symbol of the bar (must be defined through \texttt{gredefsizedsymbol}).\\
+ \#4 & number & the size of greextra to use (in pt).\\
+ \#5 & dimension & horizontal right shift of the bar.\\
+ \#6 & dimension & vertical shift of the bar glyph.\\
\end{argtable}
This is a more complete version of the previous command, it allows you to define
@@ -523,7 +542,7 @@ For example:
\begin{footnotesize}
\begin{latexcode}
- \gredefbarredsymbol{RBarBold}{\textbf{R}}{greRBarSmall}{13}{1.7mm}{0.1mm}
+ \gredefbarredsymbol{RBarBold}{\textbf{R}}{greRBarSmall}{13}{1.7mm}{0.1mm}
\end{latexcode}
\end{footnotesize}
@@ -543,11 +562,11 @@ Redefines a \TeX\ control sequence to be a barred symbol.
\bigskip\textbf{Only available in \LaTeX.}
\begin{argtable}
- \#1 & character & must be \texttt{A}, \texttt{R}, or \texttt{V}.\\
- \#2 & dimension & how much the bar will be shifted left when upright and medium weight.\\
- \#3 & dimension & how much the bar will be shifted left when italic/slanted and medium weight.\\
- \#4 & dimension & how much the bar will be shifted left when upright and bold.\\
- \#5 & dimension & how much the bar will be shifted left when italic/slanted and bold.\\
+ \#1 & character & must be \texttt{A}, \texttt{R}, or \texttt{V}.\\
+ \#2 & dimension & how much the bar will be shifted left when upright and medium weight.\\
+ \#3 & dimension & how much the bar will be shifted left when italic/slanted and medium weight.\\
+ \#4 & dimension & how much the bar will be shifted left when upright and bold.\\
+ \#5 & dimension & how much the bar will be shifted left when italic/slanted and bold.\\
\end{argtable}
This is like \verb=gresimpledefbarglyph=, but allows setting different shifts
@@ -561,21 +580,30 @@ definitions. Instead, it actually generates the code that would show the
barred symbol.
\begin{argtable}
- \#1 & string & command to typeset the text.\\
- \#2 & string & symbol of the bar (must be defined through \texttt{gredefsizedsymbol}).\\
- \#3 & number & the size of greextra to use (in pt).\\
- \#4 & dimension & horizontal right shift of the bar.\\
- \#5 & dimension & vertical shift of the bar glyph.\\
+ \#1 & string & command to typeset the text.\\
+ \#2 & string & symbol of the bar (must be defined through \texttt{gredefsizedsymbol}).\\
+ \#3 & number & the size of greextra to use (in pt).\\
+ \#4 & dimension & horizontal right shift of the bar.\\
+ \#5 & dimension & vertical shift of the bar glyph.\\
\end{argtable}
\macroname{\textbackslash greseparator}{\{\#1\}\{\#2\}}{gregoriotex-symbols.tex}
A macro for invoking one of the five separators (fancy lines) which are contained in the greextra font.
\begin{argtable}
- \#1 & 1--5 & the line desired\\
- \#2 & integer & the point size at which to print the line\\
+ \#1 & 1--5 & the line desired\\
+ \#2 & integer & the point size at which to print the line\\
\end{argtable}
+\macroname{\textbackslash greornamentation}{\{\#1\}\{\#2\}}{gregoriotex-symbols.tex}
+A macro for invoking one of the ornamentation elements which are contained in the greextra font.
+
+\begin{argtable}
+ \#1 & 1--2 & the line desired\\
+ \#2 & integer & the point size at which to print the line\\
+\end{argtable}
+
+
\subsubsection{Styling}
Different elements of an include score have different styles applied. These elements and their defaults are listed below:
@@ -583,21 +611,22 @@ Different elements of an include score have different styles applied. These ele
\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\bigskip\rowcolors{1}{lightgray}{lightgray}
\begin{tabular}{lp{7cm plus .5cm}r}
- Element Name & Description & Default\\
- \hline
- \stylename{initial} & Normal Initials & 40 pt font\\
- \stylename{biginitial} & Big (2-Line) Initials & 80 pt font\\
- \stylename{translation} & Translation text (appears below lyrics) & {\it italics}\\
- \stylename{abovelinestext} & Above line text (\texttt{<alt></alt>} in gabc, appears above the staff) & normal\\
- \stylename{normalstafflines} & Full length staff lines & none\\
- \stylename{additionalstafflines} & short lines behind notes above or below the staff & special\footnotemark[1]\\
- \stylename{lowchoralsign} & low choral signs & none\\
- \stylename{highchoralsign} & high choral signs & none\\
- \stylename{firstsyllableinitial} & the first letter of the first syllable of a score which is not the score initial & none\\
- \stylename{firstsyllable} & the balance of the first syllable of the score & none\\
- \stylename{modeline} & the rendered annotation from the \texttt{mode: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textsc{\textbf{Bold Small Capitals}}}\\
- \stylename{nabc} & ancient notation & {\color{gregoriocolor}gregoriocolor} (\LaTeX)\\
- && none (Plain\TeX)\\
+ Element Name & Description & Default\\
+ \hline
+ \stylename{initial} & Normal Initials & 40 pt font\\
+ \stylename{biginitial} & Big (2-Line) Initials & 80 pt font\\
+ \stylename{translation} & Translation text (appears below lyrics) & {\it italics}\\
+ \stylename{abovelinestext} & Above line text (\texttt{<alt></alt>} in gabc, appears above the staff) & normal\\
+ \stylename{normalstafflines} & Full length staff lines & none\\
+ \stylename{additionalstafflines} & short lines behind notes above or below the staff & special\footnotemark[1]\\
+ \stylename{lowchoralsign} & low choral signs & none\\
+ \stylename{highchoralsign} & high choral signs & none\\
+ \stylename{firstsyllableinitial} & the first letter of the first syllable of a score which is not the score initial & none\\
+ \stylename{firstsyllable} & the first syllable of the score excluding the score initial & none\\
+ \stylename{firstword} & the first word of the first score excluding the score initial & none\\
+ \stylename{modeline} & the rendered annotation from the \texttt{mode: ;} header in the gabc file & \parbox[t]{2.2cm}{\raggedleft\textsc{\textbf{Bold Small Capitals}}}\\
+ \stylename{nabc} & ancient notation & {\color{gregoriocolor}gregoriocolor} (\LaTeX)\\
+ && none (Plain\TeX)\\
\end{tabular}
\footnotemark[1]\textit{Special:} By default, \texttt{additionalstafflines} inherits its properties from \texttt{normalstafflines}. To decouple these environments, you must manually change \texttt{additionalstafflines} using \texttt{\textbackslash grechangestyle}.
@@ -607,24 +636,24 @@ Different elements of an include score have different styles applied. These ele
Command to change styling of a score element.
\begin{argtable}
- \#1 & string & element whose styling is to be changed (see list above for options)\\
- \#2 & \TeX\ code & the code necessary to turn on the styling\\
- \#3 & \TeX\ code & Optional. The code necessary to turn off the styling (\eg, if the code to turn on the styling contains a \verb=\begin{environment}= then the code to turn it off must have the matching \verb=\end{environment}=.
+ \#1 & string & element whose styling is to be changed (see list above for options)\\
+ \#2 & \TeX\ code & the code necessary to turn on the styling\\
+ \#3 & \TeX\ code & Optional. The code necessary to turn off the styling (\eg, if the code to turn on the styling contains a \verb=\begin{environment}= then the code to turn it off must have the matching \verb=\end{environment}=.
\end{argtable}
Examples:\par\medskip
\begin{latexcode}
- % This one works for both PlainTeX and LaTeX this would make
- % the translations bold and italic
- \grechangestyle{translation}{\it\bf}
-
- % This one is LaTeX only, and would make the above lines
- % text small and italic
- \grechangestyle{abovelinetext}{\begin{small}\begin{italic}}%
- [\end{italic}\end{small}]
-
- % This would make the initial print in 36pt font.
- \grechangestyle{initial}{\fontsize{36}{36}\selectfont}
+ % This one works for both PlainTeX and LaTeX this would make
+ % the translations bold and italic
+ \grechangestyle{translation}{\it\bf}
+
+ % This one is LaTeX only, and would make the above lines
+ % text small and italic
+ \grechangestyle{abovelinetext}{\begin{small}\begin{italic}}%
+ [\end{italic}\end{small}]
+
+ % This would make the initial print in 36pt font.
+ \grechangestyle{initial}{\fontsize{36}{36}\selectfont}
\end{latexcode}
\bigskip
@@ -637,10 +666,10 @@ While the gabc headers provide support for some of the text elements commonly fo
Macro to add annotations (the text which appears above the initial) to a score. While a single call of the function does not support multiple lines, successive calls to the function will be added to the annotation as a new line below what is already there.
\begin{argtable}
- \#1 & c & When adding a new line, align the center of the new line with the center of the existing lines\\
- & l & When adding a new line, align the left side of the new line with the left side of the existing lines\\
- & r & When adding a new line, align the right side of the new line with the right side of the existing lines\\
- \#2 & string & the text of the annotation
+ \#1 & c & When adding a new line, align the center of the new line with the center of the existing lines\\
+ & l & When adding a new line, align the left side of the new line with the left side of the existing lines\\
+ & r & When adding a new line, align the right side of the new line with the right side of the existing lines\\
+ \#2 & string & the text of the annotation
\end{argtable}
\textbf{Nota Bene:} The first argument does not affect the alignment of lines already in the annotation, only the way the new line aligns with the existing lines as a whole.
@@ -649,7 +678,7 @@ Macro to add annotations (the text which appears above the initial) to a score.
Macro to add commentary (the text flush right at the top, usually a scripture reference) to a score. While a single call of this function does not support multiple lines, successive calls to the function will add a new line to the commentary directly below the previous.
\begin{argtable}
- \#1 & string & The text of the commentary.\\
+ \#1 & string & The text of the commentary.\\
\end{argtable}
\textbf{Nota Bene:} This command should appear directly before \verb=\gregorioscore= when used.
@@ -658,14 +687,14 @@ Macro to add commentary (the text flush right at the top, usually a scripture re
Macro to hold the score reference. Currently the score reference does not print.
\begin{argtable}
- \#1 & string & The text of the score reference.\\
+ \#1 & string & The text of the score reference.\\
\end{argtable}
\macroname{\textbackslash greillumination}{\{\#1\}}{gregoriotex-main.tex}
Macro to add an illuminated initial.
\begin{argtable}
- \#1 & \TeX\ code & the code necessary to make the illuminated initial appear\\
+ \#1 & \TeX\ code & the code necessary to make the illuminated initial appear\\
\end{argtable}
\textbf{Nota Bene:} Usually the argument of this command should be an \verb=\includegraphics= command, but you may use what ever you want as the illuminated initial.
@@ -684,22 +713,23 @@ Macro to set how the text of the lyrics aligns with the alignment point of its r
\end{itemize}
\begin{argtable}
- \#1 & vowel & The center of the vowel in the syllable will align with the alignment point of the neumes\\
- & syllable & The center of the syllable will align with the alignment point of the neumes
+ \#1 & vowel & The center of the vowel in the syllable will align with the alignment point of the neumes\\
+ & syllable & The center of the syllable will align with the alignment point of the neumes\\
+ & firstletter & The center of the first letter/character of the syllable will align with the alignment point of the neumes\\
\end{argtable}
\textbf{Nota Bene:} What constitutes the ``vowel'' of the syllable is determined by the language the lyric text is written in, as specified by the use of the \texttt{language} header in the gabc file. Out of the box, Gregorio\TeX\ explicitly supports only Latin and English, but the rules for Latin have a high degree of overlap with many Romance languages, allowing them to fall back on the Latin rules with acceptable results.
You can also define your own languages in \texttt{gregorio-vowels.dat}. If you do define a language, please consider sharing your work by submitting it to the project (see CONTRIBUTING.md for instructions).
-Finally, in cases where you want some sort of exceptional alignment, you can force Gregorio to consider a particular part of the syllable to be the ``vowel'' by enclosing it in curly braces (``\{'' and ``\}'') in your gabc file.
+Finally, in cases where you want some sort of exceptional alignment, you can force Gregorio to consider a particular part of the syllable to be the ``vowel'' by enclosing it in curly braces (``\{'' and ``\}'') in your gabc file. Curly braces only affect alignment when using vowel centering. Syllable centering will always use the entire syllable, and firstletter centering will always use the first character of the syllable --- regardless of curly braces in the gabc file.
\macroname{\textbackslash gresettranslationcentering}{\{\#1\}}{gregoriotex-main.tex}
Macro to specify how the translation text should be aligned with it respective syllable text.
\begin{argtable}
- \#1 & left & The translation text is left aligned with its respective syllable text.\\
- & center & The translation text is centered under its respective syllable.
+ \#1 & left & The translation text is left aligned with its respective syllable text.\\
+ & center & The translation text is centered under its respective syllable.
\end{argtable}
@@ -710,50 +740,50 @@ While Gregorio\TeX\ will automatically wrap scores to fit your page, there are s
Macro to determine whether line breaks are allowed inside a EUOUAE area (delimited by \texttt{<eu></eu>} tags in gabc).
\begin{argtable}
- \#1 & allow & Line breaks are allowed\\
- & prohibit & Line breaks are prohibited, the entire EUOUAE area should appear on one line
+ \#1 & allow & Line breaks are allowed\\
+ & prohibit & Line breaks are prohibited, the entire EUOUAE area should appear on one line
\end{argtable}
\macroname{\textbackslash gresetbreakintranslation}{\{\#1\}}{gregoriotex-main.tex}
Macro to determine whether line breaks are allowed inside a translation.
\begin{argtable}
- \#1 & allow & Line breaks are allowed\\
- & prohibit & Line breaks are prohibited, the entire translation should appear on one line
+ \#1 & allow & Line breaks are allowed\\
+ & prohibit & Line breaks are prohibited, the entire translation should appear on one line
\end{argtable}
\macroname{\textbackslash greseteolcustos}{\{\#1\}}{gregoriotex-main.tex}
Macro to determine whether Gregorio\TeX\ should automatically place the custos at a line break.
\begin{argtable}
- \#1 & auto & Custos will be automatically placed at each line break\\
- & manual & Custos will only be placed at line breaks if they are specified in the gabc (\eg \texttt{(g+z)})
+ \#1 & auto & Custos will be automatically placed at each line break\\
+ & manual & Custos will only be placed at line breaks if they are specified in the gabc (\eg \texttt{(g+z)})
\end{argtable}
\textbf{Nota Bene:} This command only effects the custos that appears at the end of a line. Custos which are placed at a key change are unaffected. Further, if custos are specified in the gabc file manually and Gregorio\TeX\ is set to place custos automatically, you will get two custos at the line breaks.
\macroname{\textbackslash greseteolshifts}{\{\#1\}}{gregoriotex-main.tex}
-Macro to determine whether Gregorio\TeX\ should apply a small shift at the end of each line, thus allowing lyrics to stretch under the final custos.
+Macro to determine whether Gregorio\TeX\ should apply a small shift at the end of each line which allows lyrics to stretch under the final custos.
\begin{argtable}
- \#1 & enable & The shifts are applied (default)\\
- & disable & The shifts are not applied.
+ \#1 & enable & The shifts are applied (default)\\
+ & disable & The shifts are not applied.
\end{argtable}
\macroname{\textbackslash gresetbolshifts}{\{\#1\}}{gregoriotex-main.tex}
Macro to determine whether Gregorio\TeX\ should apply a small shift at the beginning of each line so that lines are aligned on the notes rather than the syllable text.
\begin{argtable}
- \#1 & enable & The shifts are applied (default)\\
- & disable & The shifts are not applied.
+ \#1 & enable & The shifts are applied (default)\\
+ & disable & The shifts are not applied.
\end{argtable}
\macroname{\textbackslash gresetlastline}{\{\#1\}}{gregoriotex-main.tex}
Macro to determine whether the last line of the score should be justified or not.
\begin{argtable}
- \#1 & justified & Set the last line justified with the rest of the score\\
- & ragged & Set the last line ragged (default)
+ \#1 & justified & Set the last line justified with the rest of the score\\
+ & ragged & Set the last line ragged (default)
\end{argtable}
@@ -764,8 +794,8 @@ Tell Gregorio\TeX\ to when to place a hyphen between
syllables in polysyllabic words in a score. This is done by overriding \texttt{maximumspacewithoutdash} so subsequent changes to this dimension will override this command.
\begin{argtable}
- \#1 & force & Hyphens will appear between all syllables in polysyllabic words.\\
- & auto & Hyphens will appear based on the setting of \texttt{maximumspacewithoutdash}
+ \#1 & force & Hyphens will appear between all syllables in polysyllabic words.\\
+ & auto & Hyphens will appear based on the setting of \texttt{maximumspacewithoutdash}
\end{argtable}
\textbf{Nota Bene:} \verb=\gresethyphen{auto}= restores \texttt{maximumspacewithoutdash} to the value found in \textit{gsp-default.tex}. If you have changed your score size, you may need to change this distance to a more appropriate value using \verb=\grechangedim=.
@@ -774,8 +804,8 @@ syllables in polysyllabic words in a score. This is done by overriding \texttt{
Marco to determine how much space the hyphen at the end of a line occupies for the purposes of spacing caluclations.
\begin{argtable}
- \#1 & normal & The hyphen occupies its normal space\\
- & zero & The hyphen is considered to take up no space
+ \#1 & normal & The hyphen occupies its normal space\\
+ & zero & The hyphen is considered to take up no space
\end{argtable}
@@ -785,8 +815,8 @@ Marco to determine how much space the hyphen at the end of a line occupies for t
Macro to tell Gregorio\TeX\ whether the clefs should be printed or not.
\begin{argtable}
- \#1 & visible & Clefs will be printed (default)\\
- & invisible & Clefs will not be printed
+ \#1 & visible & Clefs will be printed (default)\\
+ & invisible & Clefs will not be printed
\end{argtable}
@@ -797,9 +827,9 @@ Since the center of the clivis is different from most neumes, Gregorio\TeX\ supp
Macro to determine the method used for aligning the clivis with its lyrics.
\begin{argtable}
- \#1 & always & Align on the real center of the clivis\\
- & never & align on the center of the first punctum in the clivis\\
- & special & align on the real center of the clivis except when (1) notes would go left of text or (2) - consonants after vowels are larger than \verb=\gre@dimen@clivisalignmentmin= (default)
+ \#1 & always & Align on the real center of the clivis\\
+ & never & align on the center of the first punctum in the clivis\\
+ & special & align on the real center of the clivis except when (1) notes would go left of text or (2) - consonants after vowels are larger than \verb=\gre@dimen@clivisalignmentmin= (default)
\end{argtable}
@@ -814,8 +844,8 @@ harmonize (and thus match best) with greciliae, but they still look good
with the other score fonts.
\begin{argtable}
- \#1 & metapost & \MP{} will be used to render braces (default)\\
- & font & The score font will be used to render braces
+ \#1 & metapost & \MP{} will be used to render braces (default)\\
+ & font & The score font will be used to render braces
\end{argtable}
\macroname{\textbackslash grebarbracewidth}{}{gregoriotex-signs.tex}
@@ -836,8 +866,8 @@ For a full description of how to make use of the ancient notation capabilities o
Macro to set the font to be used for the ancient notation.
\begin{argtable}
- \#1 & string & the name of the font\\
- \#2 & integer & point size at which the font should be loaded\\
+ \#1 & string & the name of the font\\
+ \#2 & integer & point size at which the font should be loaded\\
\end{argtable}
@@ -858,7 +888,7 @@ Space between an alteration (flat or natural) and the next glyph.
Default: \unit[0.07747]{cm} plus \unit[0.01276]{cm} minus \unit[0.00455]{cm}
\macroname{beforealterationspace}{}{gsp-default.tex}
-Negative space, difference between the normal space between two notes and the space between a note and a flat.
+When bolshifts are enabled, minimal space between a clef at the beginning of the line and a leading alteration glyph (should be larger than \texttt{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 \texttt{spaceafterlineclef}, the distance from the clef to the first notes).
Default: $\unit[-0.32816]{cm}$ plus \unit[0.01093]{cm} minus \unit[0.01093]{cm}
@@ -1048,7 +1078,7 @@ Space between the initial and the beginning of the score.
Default: \unit[0.2457]{cm} plus \unit[0]{cm} minus \unit[0]{cm}
\macroname{minimalspaceatlinebeginning}{}{gsp-default.tex}
-Minimal space at the beginning of a line.
+Minimal space in front of the lyrics at the beginning of a line when \texttt{bolshift}s are enabled.
Default: \unit[1.7]{cm}
@@ -1086,9 +1116,9 @@ Default: \unit[0]{cm}
The distance to shift choral signs down. The following choral signs are shifted down:
\begin{itemize}
- \item Low choral signs that are not lower than the note
- \item High choral signs which are in a space
- \item Low choral signs that are lower than the note which are in a space
+ \item Low choral signs that are not lower than the note
+ \item High choral signs which are in a space
+ \item Low choral signs that are lower than the note which are in a space
\end{itemize}
Default: \unit[0.00911]{cm}
@@ -1097,8 +1127,8 @@ Default: \unit[0.00911]{cm}
The distance to shift choral signs up. The following choral signs are shifted up:
\begin{itemize}
- \item High choral signs which are on a line
- \item Low choral signs that are lower than the note which are on a line
+ \item High choral signs which are on a line
+ \item Low choral signs that are lower than the note which are on a line
\end{itemize}
Default: \unit[0.04556]{cm}
@@ -1163,6 +1193,11 @@ Space around a clef change.
Default: \unit[0.01768]{cm} plus \unit[0.00175]{cm} minus \unit[0.01768]{cm}
+\macroname{initialraise}{}{gsp-default.tex}
+Distance the initial will be raised by (by default the baseline for the initial coincides with the baseline for the text below the staff).
+
+Default: \unit[0]{cm}
+
\subsection{Penalties}\label{penalties}
Penalties are used by \TeX\ to determine where line and page breaks should occur. Gregorio\TeX\ modifies or defines a few of its own to help with that process in scores.
@@ -1257,7 +1292,7 @@ All colors can be redefined using \verb=\definecolor=. See the
Example:\par\medskip
\begin{latexcode}
- \definecolor{gregoriocolor}{RGB}{229,53,44}
+ \definecolor{gregoriocolor}{RGB}{229,53,44}
\end{latexcode}
\macroname{grebackgroundcolor}{}{gregoriotex.sty}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_gregorio.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_gregorio.tex
new file mode 100644
index 00000000000..e8425c0910f
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_gregorio.tex
@@ -0,0 +1,886 @@
+% !TEX root = GregorioRef.tex
+% !TEX program = LuaLaTeX+se
+\section{Gregorio Controls}
+
+These functions are the ones written by Gregorio to the gtex file.
+While one could, in theory, use/change them to alter the appearance of
+elements of the score, it is far better to make your changes in the
+gabc file and let Gregorio make the changes to the gtex file.
+
+\macroname{\textbackslash GreAnnotationLines}{\#1\#2}{gregoriotex-main.tex}
+A wrapper macro for placing annotations above the initial. The
+arguments are provided by the \texttt{gabc} file in the
+\texttt{annotation} header field. This macro tests for the presence
+of the annotation box which means that the annotation is explicitly
+defined in the \texttt{main.tex} file. If so, this macro does nothing,
+respecting the annotation value in the \texttt{main.tex} file.
+
+\begin{argtable}
+ \#1 & string & First line text to place above the initial.\\
+ \#2 & string & Second line text to place above the initial.\\
+\end{argtable}
+
+\macroname{\textbackslash GreBeginScore}{\#1\#2\#3\#4\#5\#6}{gregoriotex-main.tex}
+Macro to start a score.
+
+\begin{argtable}
+ \#1 & string & a unique identifier for the score (currently an SHA-1-based digest of the gabc file)\\
+ \#2 & integer & the height number of the top pitch of the entire score, including signs\\
+ \#3 & integer & the height number of the bottom pitch of the entire score, including signs\\
+ \#4 & 0 & there is no translation line in the score\\
+ & 1 & there is a translation line somewhere in the score\\
+ \#5 & 0 & there is no above lines text in the score\\
+ & 1 & there is above lines text somewhere in the score\\
+ \#6 & string & the absolute filename of the gabc file if point-and-click is enabled.
+\end{argtable}
+
+\macroname{\textbackslash GreEndScore}{}{gregoriotex-main.tex}
+Macro to end a score.
+
+\macroname{\textbackslash GreAccentus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting an accentus.
+
+\begin{argtable}
+ \#1 & integer & height number of episemus\\
+ \#2 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreAdditionalLine}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset the additional line above or below the staff.
+
+\begin{argtable}
+ \#1 & string & See \nameref{EpisemusSpecial}.\\
+ \#2 & integer & The ambitus of the porrectus or porrectus flexus if the first references these glyph types; ignored otherwise.\\
+ \#3 & integer & Set horizontal episemus (0), horizontal episemus under a note (1), line at top of staff (2), line at bottom of staff (3), choral sign (4).\\
+\end{argtable}
+
+\macroname{\textbackslash GreAdjustSecondLine}{}{gregoriotex.tex}
+%didn't actually find this one in gregoriotex-write.c, classified it here based on it’s related function GreAdjustThirdLine
+Macro to call before first syllable, but after \verb=\GreSetInitialClef=.
+
+\macroname{\textbackslash GreAdjustThirdLine}{}{gregoriotex-main.tex}
+Macro to call during the second line.
+
+\macroname{\textbackslash GreAugmentumDuplex}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro for typesetting an augmentum duplex (a pair of punctum mora)
+
+\begin{argtable}
+ \#1 & integer & Height number for first punctum mora.\\
+ \#2 & integer & Height number for second punctum mora.\\
+ \#3 & integer & First punctum mora occurs before last note of a podatus, prorectus, or toculus resupinus (1), or not (0).\\
+\end{argtable}
+
+\macroname{\textbackslash GreBarBrace}{\#1}{gregoriotex-signs.tex}
+Macro for typesetting a bar brace.
+
+\begin{argtable}
+ \#1 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreBarSyllable}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-syllable.tex}
+Macro for typesetting a bar syllable.
+
+\begin{argtable}
+ \#1 & string & First part of syllable text associated with the bar.\\
+ \#2 & string & Middle part of the syllable text associated with the bar.\\
+ \#3 & string & End part of the syllable text associated with the bar.\\
+ \#4 & & Not used.\\
+ \#5 & \TeX\ code & Code to execute before calculating \texttt{nextbegindifference}.\\
+ \#6 & & Not used.\\
+ \#7 & $0 <$ integer $< 19$ & the type of notes alignment. See \nameref{notesalign}.\\
+ & $20 <$ integer $< 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\
+ & $40 <$ integer $< 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.\\
+ \#8 & \TeX\ code & Code to execute before printing anything.\\
+ \#9 & \TeX\ code & The bar line (usually a \textit{writebar} call).
+\end{argtable}
+
+\macroname{\textbackslash GreBarVEpisemus}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a vertical episemus around a bar.
+
+\begin{argtable}
+ \#1 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreBeginEUOUAE}{}{gregoriotex-main.tex}
+Macro to mark the beginning of a EUOUAE block. Alters spacings and prohibits a line break until the end of the block.
+
+\macroname{\textbackslash GreBeginNLBArea}{\#1\#2}{gregoriotex-main.tex}
+Macro called at beginning of a no line break area.
+
+\begin{argtable}
+ \#1 & 0 & Not in the neumes.\\
+ & 1 & In the neumes.\\
+ \#2 & 0 & Call didn't come from translation centering.\\
+ & 1 & Call came from translation centering.
+\end{argtable}
+
+\macroname{\textbackslash GreBeginNotes}{}{gregoriotex.tex}
+Macro to draw the staff lines. Comes after the initial but before the clef.
+
+\macroname{\textbackslash GreBold}{\#1}{gregoriotex.sty and gregoriotex.tex}
+Makes argument bold. Accesses \LaTeX\ \verb=\textbf= (\textit{gregoriotex.sty}) or Plain\TeX\ \verb=\bf= (\textit{gregoriotex.tex}) as appropriate. Corresponds to ``<b></b>'' tags in gabc.
+
+\begin{argtable}
+ \#1 & string & Text to be typeset in bold.\\
+\end{argtable}
+
+\macroname{\textbackslash GreChangeClef}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
+Macro called when key changes
+
+\begin{argtable}
+ \#1 & character & Type of new clef (c or f).\\
+ \#2 & integer & Line of new clef.\\
+ \#3 & 0 & Print space before clef.\\
+ & 1 & Do not print space before clef.\\
+ \#4 & integer & Height number of flat in key (`0' for no flat).\\
+\end{argtable}
+
+\macroname{\textbackslash GreCirculus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a circulus.
+
+\begin{argtable}
+ \#1 & integer & Height number of circulus.\\
+ \#2 & string & Type of glyph the circulus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreColored}{\#1}{gregoriotex.sty and gregoriotex.tex}
+Colors argument (a string) in \verb=gregoriocolor.= Corresponds to ``<c></c>'' tags in gabc. Does nothing in Plain\TeX\ because color is not supported there.
+
+\macroname{\textbackslash GreCPVirgaReversaAscendensOnDLine}{\#1}{gregoriotex-main.tex}
+Allows the Dominican rule set to force long stems to be used for virga
+reversa ascendens neumes on the ``d'' (lowest) line. This macro is
+defined and re-defined by the \verb=\gresetgregoriofont= macro.
+
+\begin{argtable}
+ \#1 & \TeX{} code & The \TeX{} code to use when long stems are not forced.\\
+\end{argtable}
+
+\macroname{\textbackslash GreCP...}{}{gregoriotex-main.tex}
+A class of macros which point to the individual characters in a Gregoiro\TeX\ compatible font. This class of macros is dynamically mapped from the glyph names embedded in the \texttt{ttf} file via a Lua script to ensure that the code points match up with the installed font.
+
+\macroname{\textbackslash GreCustos}{\#1}{gregoriotex-signs.tex}
+Typesets a custos.
+
+\begin{argtable}
+ \#1 & integer & Height number of custos.\\
+\end{argtable}
+
+\macroname{\textbackslash GreDagger}{}{gregoriotex-symbols.tex}
+Macro to typeset a dagger (\GreDagger).
+
+\macroname{\textbackslash GreDiscretionary}{\#1\#2\#3}{gregoriotex-signs.tex}
+A GregorioTeX specific discretionary. Currently only used to avoid clef change at beginning or end of line, or even with more complex data (z0::c3 for instance). We require a special function because in the normal discretionary function you cannot use \verb=\hskip= (but you can use \verb=\kern=) and you cannot use \verb=\penalty= (which is useless indeed). This macro corrects for these two limitations. The first argument allows to select the penalty assigned to the discretionary by recent version of LuaTeX.
+
+\begin{argtable}
+ \#1 & integer & Type of discretionary (for penalty assignment). Currently possible value is 0 for clef change discretionaries.\\
+ \#2 & \TeX\ code & First argument of resulting \verb=\discretionary=.\\
+ \#3 & \TeX\ code & Third argument of resulting \verb=\discretionary=.\\
+\end{argtable}
+
+\macroname{\textbackslash GreDivisioFinalis}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a divisio finalis.
+
+\begin{argtable}
+ \#1 & code & Macros which may happen before the skip but after the divisio finalis (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreDivisioMaior}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a divisio maior.
+
+\begin{argtable}
+ \#1 & code & Macros which may happen before the skip but after the divisio maior (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreDivisioMinima}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a divisio minima.
+
+\begin{argtable}
+ \#1 & code & Macros which may happen before the skip but after the divisio minima (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreDivisioMinor}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a divisio minor.
+
+\begin{argtable}
+ \#1 & code & Macros which may happen before the skip but after the divisio minor (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreDominica}{\#1\#2}{gregoriotex-signs.tex}
+Macro to typeset a dominican bar.
+
+\begin{argtable}
+ \#1 & integer 1-- 6& Type of dominican bar. Corresponds to bar types 6--11 in \verb=\grewritebar=.\\
+ \#2 & code & Macros which may happen before the skip but after the divisio dominica (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreEndEUOUAE}{\#1}{gregoriotex-main.tex}
+Macro to mark the end of a EUOUAE block.
+
+\begin{argtable}
+ \#1 & 0 & ending element\\
+ & 1 & ending syllable\\
+ & 2 & ending score\\
+ & 3 & before bar
+\end{argtable}
+
+\macroname{\textbackslash GreEndOfElement}{\#1\#2}{gregoriotex-main.tex}
+Macro to end elements.
+
+\begin{argtable}
+ \#1 & 0 & Default space.\\
+ & 1 & Larger space.\\
+ & 2 & Glyph space.\\
+ & 3 & Zero-width space.\\
+ \#2 & 0 & Space is breakable.\\
+ & 1 & Space is unbreakable.\\
+\end{argtable}
+
+\macroname{\textbackslash GreEndNLBArea}{\#1\#2}{gregoriotex-main.tex}
+Macro to end a no line break area.
+
+\begin{argtable}
+ \#1 & 0 & ending element\\
+ & 1 & ending syllable\\
+ & 2 & ending score\\
+ & 3 & before bar\\
+ \#2 & 0 & ??\\ %I can’t tell what this flag is for
+ & else & ??
+\end{argtable}
+
+\macroname{\textbackslash GreEndOfGlyph}{\#1}{gregoriotex-main.tex}
+Macro to end a glyph without ending the element.
+
+\begin{argtable}
+ \#1 & 0 & Default space.\\
+ & 1 & Zero-width space.\\
+ & 2 & Space between flat or natural and a note.\\
+ & 3 & Space between two puncta inclinata.\\
+ & 4 & Space between bivirga or trivirga.\\
+ & 5 & space between bistropha or tristropha.\\
+ & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
+ & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
+ & 8 & Space between two puncta inclinata debilis.\\
+ & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
+ & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
+ & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).\\
+\end{argtable}
+
+\macroname{\textbackslash GreFinalDivisioFinalis}{\#1}{gregoriotex-signs.tex}
+Macro to end a score with a divisio finalis.
+
+\begin{argtable}
+ \#1 & 0 & Something does not need to be placed after the divisio finalis.\\
+ & 1 & Something needs to be placed after the divisio finalis.\\
+\end{argtable}
+
+\macroname{\textbackslash GreFinalDivisioMaior}{\#1}{gregoriotex-signs.tex}
+Macro to end a score with a divisio maior.
+
+\begin{argtable}
+ \#1 & 0 & Something does not need to be placed after the divisio maior.\\
+ & 1 & Something needs to be placed after the divisio maior.\\
+\end{argtable}
+
+\macroname{\textbackslash GreFirstSyllable}{\{\#1\}}{gregoriotex-syllable.tex}
+A macro which is called with the text of the first syllable, excluding the
+initial of the score. This macro may be redefined to style the first syllable
+appropriately. This macro may be called up to three times: for the letters
+before the centered letters, for the centered letters, and for the letters
+after the centered letters.
+
+\begin{argtable}
+ \#1 & string & Text from the first syllable.
+\end{argtable}
+
+\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.
+
+\begin{argtable}
+ \#1 & string & The first letter of the first syllable which is not the
+ initial of the score.
+\end{argtable}
+
+\macroname{\textbackslash GreFirstWord}{\{\#1\}}{gregoriotex-syllable.tex}
+A macro which is called with the text of the first word, excluding the
+initial of the score. This macro may be redefined to style the first word
+appropriately. This macro may be called multiple times, depending on how
+many syllables are in the word.
+
+\begin{argtable}
+ \#1 & string & Text from the first syllable.
+\end{argtable}
+
+\macroname{\textbackslash GreFlat}{\#1\#2}{gregoriotex-signs.tex}
+Macro to typeset a flat.
+
+\begin{argtable}
+ \#1 & integer & Height number of the flat.\\
+ \#2 & 0 & No flat for a key change.\\
+ & 1 & Indicates the flat for a key change.\\
+\end{argtable}
+
+\macroname{\textbackslash GreFuseTwo}{\#1\#2}{gregoriotex-main.tex}
+Macro for fusing two glyphs to create a larger neume.
+
+\begin{argtable}
+ \#1 & Gregorio\TeX\ glyph & The first glyph in the sequence.\\
+ \#2 & Gregorio\TeX\ glyph & The second.
+\end{argtable}
+
+\macroname{\textbackslash GreGlyph}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-syllable.tex}
+Macro to typeset a glyph.
+
+\begin{argtable}
+ \#1 & character & the character that it must call\\
+ \#2 & integer & The number for where the glyph is located. \texttt{a} in gabc is 1, \texttt{b} is 2, \etc\\
+ \#3 & integer & height number of the next note\\
+ \#4 & 0 & One-note glyph or more than two notes glyph except porrectus: \ie, we must put the aligncenter in the middle of the first note\\
+ & 1 & Two notes glyph (podatus is considered as a one-note glyph): \ie, 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\\
+ \#5 & \TeX\ code & signs to typeset before the glyph (typically additional bars, as they must be "behind" the glyph)\\
+ \#6 & \TeX\ code & signs to typeset after the glyph (almost all signs)\\
+ \#7 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled
+\end{argtable}
+
+\macroname{\textbackslash GreGlyphHeights}{\#1\#2}{gregoriotex-syllable.tex}
+Passes the glyph height limits. Currently does nothing, but will eventually be part of dynamic vertical spacing.
+
+\begin{argtable}
+ \#1 & integer & the high height\\
+ \#2 & integer & the low height
+\end{argtable}
+
+\macroname{\textbackslash GregorioTeXAPIVersion}{\#1}{gregoriotex-main.tex}
+Checks to see if Gregorio\TeX\ API is version specified by argument (and
+therefore compatible with the score.
+
+\begin{argtable}
+ \#1 & string & Version number for Gregorio\TeX.\\
+\end{argtable}
+
+\macroname{\textbackslash GreHEpisemus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro to typeset a episemus.
+
+\begin{argtable}
+ \#1 & integer & Height number of the episemus.\\
+ \#2 & string & See \nameref{EpisemusSpecial}.\\
+ \#3 & integer & The ambitus for a two note episemus at the diagonal stroke of a
+ porrectus, porrectus flexus, orculus resupinus, or torculus resupinus
+ flexus.\\
+ \#4 & 0 & an horizontal episemus\\
+ & 1 & an horizontal episemus under a note\\
+ & 2 & a line at the top\\
+ & 3 & a line at the bottom\\
+ \#5 & f & a normal episemus\\
+ & l & a small episemus aligned left\\
+ & c & a small episemus aligned center\\
+ & r & a small episemus aligned right\\
+ \#6 & integer & Replacement for \#1 if a bridge causes a height substitution.\\
+\end{argtable}
+
+\macroname{\textbackslash GreHEpisemusBridge}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro to typeset a bridge episemus father the last note of a glyph
+(element, syllable) if the next episemus is at the same height.
+
+\begin{argtable}
+ \#1 & integer & Height number of the episemus.\\
+ \#2 & 0 & Episemus above the note.\\
+ & 1 & Episemus below the note.\\
+ \#3 & 0 & Default space.\\
+ & 1 & Zero-width space.\\
+ & 2 & Space between flat or natural and a note.\\
+ & 3 & Space between two puncta inclinata.\\
+ & 4 & Space between bivirga or trivirga.\\
+ & 5 & space between bistropha or tristropha.\\
+ & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
+ & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
+ & 8 & Space between two puncta inclinata debilis.\\
+ & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
+ & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
+ & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).
+\end{argtable}
+
+\macroname{\textbackslash GreHighChoralSign}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro for typesetting high choral signs.
+
+\begin{argtable}
+ \#1 & integer & Height number of the sign.\\
+ \#2 & string & The choral sign.\\
+ \#3 & 0 & Choral sign does not occur before last note of podatus, porrectus, or torculus resupinus.\\
+ & 1 & Choral sign occurs before last note of podatus, porrectus, or torculus resupinus.\\
+\end{argtable}
+
+\macroname{\textbackslash GreHyph}{}{gregoriotex-main.tex}
+Macro used for end of line hyphens. Defaults to \verb=\grenormalhyph=.
+
+\macroname{\textbackslash GreInDivisioFinalis}{\#1}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioFinalis= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMaior}{\#1}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMaior= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMinima}{\#1}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinima= except inside a syllable.
+
+\macroname{\textbackslash GreInDivisioMinor}{\#1}{gregoriotex-signs.tex}
+Same as \verb=\GreDivisioMinor= except inside a syllable.
+
+\macroname{\textbackslash GreInDominica}{\#1\#2}{gregoriotex-signs.tex}
+Same as \verb=\GreDominica= except inside a syllable.
+
+\macroname{\textbackslash GreInVirgula}{\#1\#2}{gregoriotex-signs.tex}
+Same as \verb=\GreVirgula= 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
+in gabc.
+
+\begin{argtable}
+ \#1 & string & Text to be typeset in italic font.\\
+\end{argtable}
+
+\macroname{\textbackslash GreLastOfLine}{}{gregoriotex-main.tex}
+Macro to set \verb=\gre@lastoflinecount= to 1 (\ie, mark that this syllable is the last of the line).
+
+\macroname{\textbackslash GreLastOfScore}{}{gregoriotex-main.tex}
+Macro to mark the syllable as the last of the score.
+
+\macroname{\textbackslash GreLinea}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro for typesetting a linea.
+
+\begin{argtable}
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+\end{argtable}
+
+\macroname{\textbackslash GreLineaPunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro to typeset a linea punctum cavum.
+
+\begin{argtable}
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+ \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
+ \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
+ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+\end{argtable}
+
+\macroname{\textbackslash GreLowChoralSign}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro for typesetting low choral signs.
+
+\begin{argtable}
+ \#1 & integer & Height number of the sign.\\
+ \#2 & string & The choral sign.\\
+ \#3 & 0 & Choral sign does not occur before last note of podatus, porrectus, or torculus resupinus.\\
+ & 1 & Choral sign occurs before last note of podatus, porrectus, or torculus resupinus.\\
+\end{argtable}
+
+\macroname{\textbackslash GreManualCustos}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a custos manually.
+
+\begin{argtable}
+ \#1 & integer & height number of the custos.
+\end{argtable}
+
+\macroname{\textbackslash GreMode}{\#1}{gregoriotex-main.tex}
+If the gabc file contains a mode in the header, then this function
+places said mode as the first (top) annotation. If the user has
+manually added a first annotation in the \TeX\ file, then this
+function does nothing. Also, if the \texttt{annotation} header field
+is used, then this function does nothing.
+
+\begin{argtable}
+ \#1 & 1--8 & The mode. Other values are ignored.\\
+\end{argtable}
+
+\macroname{\textbackslash GreNatural}{\#1\#2}{gregoriotex-signs.tex}
+Macro to typeset a natural.
+
+\begin{argtable}
+ \#1 & integer & Height number of the natural.\\
+ \#2 & 0 & No flat for a key change.\\
+ & 1 & Indicates the flat for a key change.\\
+\end{argtable}
+
+\macroname{\textbackslash GreNewLine}{}{gregoriotex-main.tex}
+Macro to call if you want to go to the next line.
+
+\macroname{\textbackslash GreNewParLine}{}{gregoriotex-main.tex}
+Same as \verb=\GreNewLine= except line is not justified.
+
+\macroname{\textbackslash GreNextCustos}{\#1}{gregoriotex-signs.tex}
+Sets the pitch to use for the next custos if it were to happen at the point
+where this macro is called.
+
+\begin{argtable}
+ \#1 & integer & Height number of the custos.\\
+\end{argtable}
+
+\macroname{\textbackslash GreNoInitial}{}{gregoriotex-main.tex}
+Macro called when no initial is being set.
+
+\macroname{\textbackslash GreOverBrace}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
+Macro to typeset a round brace above the lines.
+
+\begin{argtable}
+ \#1 & length & The width of the brace.\\
+ \#2 & length & A vertical shift.\\
+ \#3 & length & A horizontal shift.\\
+ \#4 & 0 & Don't shift before starting the brace.\\
+ & 1 & Shift back a punctum's width before starting the brace.
+\end{argtable}
+
+\macroname{\textbackslash GreOverCurlyBrace}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
+Macro to typeset a curly brace above the lines.
+
+\begin{argtable}
+ \#1 & length & The width of the brace.\\
+ \#2 & length & A vertical shift.\\
+ \#3 & length & A horizontal shift.\\
+ \#4 & 0 & Don't shift before starting the brace.\\
+ & 1 & Shift back a punctum's width before starting the brace.\\
+ \#5 & 0 & No accentus above the brace.\\
+ & 1 & Typeset an accentus above the brace.
+\end{argtable}
+
+\macroname{\textbackslash GrePunctumCavum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro to typeset a punctum cavum.
+
+\begin{argtable}
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+ \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
+ \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
+ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+\end{argtable}
+
+\macroname{\textbackslash GrePunctumCavumInclinatum}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro to typeset a punctum cavum inclinatus.
+
+\begin{argtable}
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+ \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
+ \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
+ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+\end{argtable}
+
+\macroname{\textbackslash GrePunctumCavumInclinatumAuctus}{\#1\#2\#3\#4\#5\#6}{gregoriotex-signs.tex}
+Macro to typeset a punctum cavum inclinatus auctus.
+
+\begin{argtable}
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+ \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
+ \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
+ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.
+\end{argtable}
+
+\macroname{\textbackslash GrePunctumMora}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
+Macro for typesetting punctum mora.
+
+\begin{argtable}
+ \#1 & integer & Height number of punctum mora.\\
+ \#2 & 1 & Go back to end of punctum.\\
+ & 2 & Shift left width of 1 punctum.\\
+ & 3 & Shift left width of 1 punctum and ambitus of 1.\\
+ \#3 & 0 & Punctum mora does not occur before last note of podatus, porrectus, or torculus resupinus.\\
+ & 1 & Punctum mora occurs before last note of podatus, porrectus, or torculus resupinus.\\
+ \#4 & 0 & No punctum inclinatum.\\
+ & 1 & Punctum inclinatum.\\
+\end{argtable}
+
+\macroname{\textbackslash GreReversedAccentus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a reversed accentus.
+
+\begin{argtable}
+ \#1 & integer & Height number of accentus.\\
+ \#2 & string & Type of glyph the accentus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreReversedSemicirculus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a reversed semicirculus.
+
+\begin{argtable}
+ \#1 & integer & Height number of semicirculus.\\
+ \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreScoreReference}{\#1}{gregoriotex-main.tex}
+Currently does nothing.
+
+\macroname{\textbackslash GreSemicirculus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting a semicirculus.
+
+\begin{argtable}
+ \#1 & integer & Height number of semicirculus.\\
+ \#2 & string & Type of glyph the semicirculus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetBigInitial}{}{gregoriotex-main.tex}
+Macro which indicates that a 2-line initial is desired.
+
+\macroname{\textbackslash GreSetFixedNextTextFormat}{\#1}{gregoriotex-syllable.tex}
+Same as \verb=\GreSetFixedTextFormat= except for next syllable.
+
+\macroname{\textbackslash GreSetFixedTextFormat}{\#1}{gregoriotex-syllable.tex}
+Macro to specify a text which is different from \verb=#1#2#3= (of \verb=\GreSyllable=). It is useful for styles, for instance with:
+\par\medskip
+\begin{gabccode}
+ <i>ffj</i>(gh)
+\end{gabccode}
+
+we will have
+
+\begin{latexcode}
+ #1 = \textit{f}
+ #2 = \textit{f}
+ #3 = \textit{j}
+\end{latexcode}
+
+and thus \verb=#1#2#3= will be \verb=\textit{f}\textit{f}\textit{j}=, which won't typeset
+ligatures. In this example we should call \verb=\grefixedtext{\textit{ffj}}=.
+
+\begin{argtable}
+ \#1 & 0 & nothing (normal text)\\
+ & 1& italic\\
+ & 2 & bold\\
+ & 3 & small caps\\
+ & 4 & typewriter\\
+ & 5 & underline
+\end{argtable}
+
+\macroname{\textbackslash GreSetInitial}{\#1}{gregoriotex-main.tex}
+Macro to set the initial in the score.
+
+\begin{argtable}
+ \#1 & character & The initial letter of the score.\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetInitialClef}{\#1\#2\#3}{gregoriotex-signs.tex}
+Macro for writing initial key.
+
+\begin{argtable}
+ \#1 & \texttt{c} or \texttt{f} & Type of clef.\\
+ \#2 & 1--4 & Line of key.\\
+ \#3 & integer & Height number of flat in key (\texttt{0} for no flat).\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetLinesClef}{\#1\#2\#3\#4}{gregoriotex-main.tex}
+Macro to define the clef that will appear at the beginning of the lines.
+
+\begin{argtable}
+ \#1 & \texttt{c} or \texttt{f} & Type of clef.\\
+ \#2 & 1--4 & Line of key.\\
+ \#3 & 0 & No space after clef.\\
+ & 1 & Space after clef.\\
+ \#4 & integer & Height of flat in key (\texttt{0} for no flat).\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetNextSyllable}{\#1\#2\#3}{gregoriotex-syllable.tex}
+Macro to set the text of the next syllable for spacing purposes.
+
+\begin{argtable}
+ \#1 & string & the first letters of the syllable, that don't count for the alignment\\
+ \#2 & string & the middle letters of the syllable, we must align in the middle of them\\
+ \#3 & string & the end letters, they don't count for alignment\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetTextAboveLines}{\#1}{gregoriotex-main.tex}
+Macro to place argument above the lines and empty
+\verb=\gre@currenttextabovelines= when done.
+
+\begin{argtable}
+ \#1 & string & Text to be placed above the lines.\\
+\end{argtable}
+
+\macroname{\textbackslash GreSetThisSyllable}{\#1\#2\#3}{gregoriotex-syllable.tex}
+Macro to set the text of the current syllable.
+
+\begin{argtable}
+ \#1 & string & the first letters of the syllable, that don't count for the alignment\\
+ \#2 & string & the middle letters of the syllable, we must align in the middle of them\\
+ \#3 & string & the end letters, they don't count for alignment\\
+\end{argtable}
+
+\macroname{\textbackslash GreSharp}{\#1\#2}{gregoriotex-signs.tex}
+Macro to typeset a sharp.
+
+\begin{argtable}
+ \#1 & integer & Height number of the sharp.\\
+ \#2 & 0 & No flat for a key change.\\
+ & 1 & Indicates the flat for a key change.\\
+\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
+in gabc.
+
+\begin{argtable}
+ \#1 & string & Text to be typeset in small caps font.\\
+\end{argtable}
+
+\macroname{\textbackslash GreStar}{}{gregoriotex-symbol.tex}
+Macro to typeset an asterisk (\GreStar).
+
+\macroname{\textbackslash GreSyllable}{\#1\#2\#3\#4\#5\#6\#7\#8\#9}{gregoriotex-syllable.tex}
+Macro to typeset the syllable.
+
+\begin{argtable}
+ \#1 & \TeX\ code & macro setting syllable letters for the current syllable\\
+ \#2 & empty & reserved for future use\\
+ \#3 & \TeX\ control sequence & the control sequence to use for styling the hyphen\\
+ \#4 & 0 & this syllable is not the end of a word\\
+ & 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\\
+ \#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}
+
+\macroname{\textbackslash GreTilde}{}{gregoriotex-main.tex}
+Macro to print $\sim$.
+
+\macroname{\textbackslash GreTranslationCenterEnd}{}{gregoriotex-main.tex}
+Macro to end the centering of the translation text.
+
+\macroname{\textbackslash GreTypewriter}{\#1}{gregoriotex.sty and gregoriotex.tex}
+Makes argument typewriter font. Accesses \LaTeX\ \verb=\texttt= or
+Plain\TeX\ \verb=\tt= as appropriate.
+
+\begin{argtable}
+ \#1 & string & Text to typeset in typewriter font.\\
+\end{argtable}
+
+\macroname{\textbackslash GreUnderBrace}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
+Macro to typeset a round brace below the lines.
+
+\begin{argtable}
+ \#1 & length & The width of the brace.\\
+ \#2 & length & A vertical shift.\\
+ \#3 & length & A horizontal shift.\\
+ \#4 & 0 & Don't shift before starting the brace.\\
+ & 1 & Shift back a punctum's width before starting the brace.
+\end{argtable}
+
+\macroname{\textbackslash GreUnderline}{\#1}{gregoriotex.sty and gregoriotex.tex}
+Makes argument underlined under \LaTeX\ using \verb=\underline=. Does
+nothing in Plain\TeX.
+
+\begin{argtable}
+ \#1 & string & Text to typeset underlined.\\
+\end{argtable}
+
+\macroname{\textbackslash GreUnstyled}{\#1}{gregoriotex-syllable.tex}
+Returns its argument as-is.
+
+\begin{argtable}
+ \#1 & string & Text to typeset without any extra styling.\\
+\end{argtable}
+
+\macroname{\textbackslash GreVarBraceLength}{\#1}{gregoriotex-signs.tex}
+Returns the computed length of the given brace.
+
+\begin{argtable}
+ \#1 & string & unique identifier for the brace within the score.
+\end{argtable}
+
+\macroname{\textbackslash GreVarBraceSavePos}{\#1\#2\#3}{gregoriotex-signs.tex}
+Records positions to compute the lengths of variable-sized braces.
+
+\begin{argtable}
+ \#1 & string & unique identifier for the brace within the score.\\
+ \#2 & 0 & Don't shift before recording the position.\\
+ & 1 & Shift back a punctum's width before recording the position.\\
+ \#3 & 1 & Position to save is the start of brace.\\
+ & 2 & Position to save is the end of brace.
+\end{argtable}
+
+\macroname{\textbackslash GreVEpisemus}{\#1\#2}{gregoriotex-signs.tex}
+Macro for typesetting the vertical episemus.
+
+\begin{argtable}
+ \#1 & integer & Height number of episemus.\\
+ \#2 & string & Type of glyph the episemus is attached to. See \nameref{EpisemusSpecial} argument for description of options.\\
+\end{argtable}
+
+\macroname{\textbackslash GreVirgula}{\#1}{gregoriotex-signs.tex}
+Macro to typeset a virgula.
+
+\begin{argtable}
+ \#1 & code & Macros which may happen before the skip but after the virgula (typically \verb=\grevepisemus=).\\
+\end{argtable}
+
+\macroname{\textbackslash GreWriteTranslation}{\#1}{gregoriotex-main.tex}
+Macro to typeset argument in the translation position.
+
+\begin{argtable}
+ \#1 & string & Text to typeset in the translation.\\
+\end{argtable}
+
+\macroname{\textbackslash GreWriteTranslationWithCenterBeginning}{\#1}{gregoriotex-main.tex}
+Macro to typeset argument (a string) in the translation position (at
+the beginning of a line?).
+
+\begin{argtable}
+ \#1 & string & Text to typeset in the translation (at the beginning of a line).\\
+\end{argtable}
+
+\macroname{\textbackslash GreZeroHyph}{}{gregoriotex-main.tex}
+Macro to typeset a zero-width hyphen (the hyphen is visible, it is only
+treated as if it had 0 width). Used for fine tuning spacing
+(especially at line endings).
+
+\macroname{\textbackslash GreForceBreak}{}{gregoriotex-spaces.tex}
+Macro used to force a line break to occur at a given position.
+
+\macroname{\textbackslash GreNoBreak}{}{gregoriotex-spaces.tex}
+Macro used to prevent a line break from occurring at a given position.
+
+\macroname{\textbackslash GreScoreId}{}{gregoriotex-main.tex}
+A Lua\TeX\ attribute which designates a unique identifier for each score.
+
+\macroname{\textbackslash GreNABCNeumes}{\#1\#2}{gregoriotex-nabc.tex}
+Macro to print a nabc character above the lines.
+
+\begin{argtable}
+ \#1 & int & the line on which the character should appear (currently unused)\\
+ \#2 & string & The \texttt{nabc} syntax which indicates what neumes are to be printed\\
+\end{argtable}
+
+\macroname{\textbackslash GreNABCChar}{\#1}{gregoriotex-nabc.tex}
+Macro to print a nabc character.
+
+\begin{argtable}
+ \#1 & string & The \texttt{nabc} syntax which indicates what neumes are to be printed\\
+\end{argtable}
+
+\macroname{\textbackslash GreScoreNABCLines}{\#1}{gregoriotex-nabc.tex}
+Macro which sets the number of \texttt{nabc} lines in the score.
+
+\begin{argtable}
+ \#1 & int & the number of \texttt{nabc} lines (currently only 1 is supported)\\
+\end{argtable}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "GregorioRef"
+%%% End:
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_internal.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_internal.tex
index 5cc1f31924c..d2840d73105 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Command_Index_internal.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Command_Index_internal.tex
@@ -11,7 +11,7 @@ only.
Prints an error to the \TeX\ output log.
\begin{argtable}
- \#1 & string & error message\\
+ \#1 & string & error message\\
\end{argtable}
@@ -19,14 +19,14 @@ Prints an error to the \TeX\ output log.
Prints a warning to the \TeX\ output log.
\begin{argtable}
- \#1 & string & warning message\\
+ \#1 & string & warning message\\
\end{argtable}
\macroname{\textbackslash gre@metapost}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Executes \MP{} commands using luamplib.
\begin{argtable}
- \#1 & \MP{} commands & The \MP{} commands to execute.
+ \#1 & \MP{} commands & The \MP{} commands to execute.
\end{argtable}
\macroname{\textbackslash gre@deprecated}{\#1\#2}{gregoriotex-main.tex}
@@ -36,16 +36,16 @@ are allowed and a warning is printed. If the package option
package error, halting \TeX.
\begin{argtable}
- \#1 & string & name of the deprecated macro\\
- \#2 & string & name of the correct macro to use\\
+ \#1 & string & name of the deprecated macro\\
+ \#2 & string & name of the correct macro to use\\
\end{argtable}
\macroname{\textbackslash gre@obsolete}{\#1\#2}{gregoriotex-main.tex}
Macro that handles obsolescence errors.
\begin{argtable}
- \#1 & string & name of the obsolete macro\\
- \#2 & string & name of the correct macro to use\\
+ \#1 & string & name of the obsolete macro\\
+ \#2 & string & name of the correct macro to use\\
\end{argtable}
\macroname{\textbackslash gre@loadgregoriofont}{}{gregoriotex-main.tex}
@@ -65,22 +65,22 @@ Macro which calculates \verb=\gre@additionalbottomspace= and\\
\verb=\gre@additionaltopspace=
\begin{argtable}
- \#1 & integer & the height number of the top pitch, including signs\\
- \#2 & integer & the height number of the bottom pitch, including signs\\
- \#3 & 0 & there is no translation line\\
- & 1 & there is a translation line\\
- \#4 & 0 & there is no above lines text\\
- & 1 & there is above lines text
+ \#1 & integer & the height number of the top pitch, including signs\\
+ \#2 & integer & the height number of the bottom pitch, including signs\\
+ \#3 & 0 & there is no translation line\\
+ & 1 & there is a translation line\\
+ \#4 & 0 & there is no above lines text\\
+ & 1 & there is above lines text
\end{argtable}
\macroname{\textbackslash gre@calculate@textaligncenter}{\#1\#2\#3}{gregoriotex-spaces.tex}
Macro for calculating \verb=\gre@textaligncenter=.
\begin{argtable}
- \#1 & string & The first part of the syllable (any preceding consonants in Latin).\\
- \#2 & string & The middle part of the syllable (the vowel in Latin, the whole syllable in English).\\
- \#3 & 0 & Calculation is being performed for the current syllable.\\
- & 1 & Calculation is being performed for the next syllable.\\
+ \#1 & string & The first part of the syllable (any preceding consonants in Latin).\\
+ \#2 & string & The middle part of the syllable (the vowel in Latin, the whole syllable in English).\\
+ \#3 & 0 & Calculation is being performed for the current syllable.\\
+ & 1 & Calculation is being performed for the next syllable.\\
\end{argtable}
\macroname{\textbackslash gre@calculate@annotationtrueraise}{}{gregoriotex-spaces.tex}
@@ -117,20 +117,20 @@ Aggregates all of the global distance calculations and calls them in the order n
Calculates the raise values for a glyph (glyphraisevalue and addedraisevalue) based on where it is to be placed and what kind of a glyph it is. This is a time of use calculation.
\begin{argtable}
- \#1 & integer & The number for where the glyph is located. \texttt{a} in gabc is 1, \texttt{b} is 2, \etc\\
- \#2 & 0 & no modification\\
- & 1 & puts the value on the interline just above if it is on a line\\
- & 2 & puts the value on the interline just beneath if it is on a line\\
- & 3 & case of the vertical episemus, which is not placed at the same place if the corresponding note is on a line or not\\
- & 4 & case of the punctum mora, for the same reason\\
- & 5 & case of the horizontal episemus under a note, that must be placed a bit lower if the note is on a line\\
- & 6 & case of the signs above (accentus, \etc)\\
- & 8 & case of the punctum mora of the first note of a podatus or the 2nd note of a porrectus, \etc\\
- & 9 & case of the horizontal episemus, that must be placed a bit lower if the note is on a line\\
- & 10 & case of the low choral sign\\
- & 11 & case of the high choral sign\\
- & 12 & case of the low choral sign which is lower than the note\\
- & 13 & case of the brace above the bars
+ \#1 & integer & The number for where the glyph is located. \texttt{a} in gabc is 1, \texttt{b} is 2, \etc\\
+ \#2 & 0 & no modification\\
+ & 1 & puts the value on the interline just above if it is on a line\\
+ & 2 & puts the value on the interline just beneath if it is on a line\\
+ & 3 & case of the vertical episemus, which is not placed at the same place if the corresponding note is on a line or not\\
+ & 4 & case of the punctum mora, for the same reason\\
+ & 5 & case of the horizontal episemus under a note, that must be placed a bit lower if the note is on a line\\
+ & 6 & case of the signs above (accentus, \etc)\\
+ & 8 & case of the punctum mora of the first note of a podatus or the 2nd note of a porrectus, \etc\\
+ & 9 & case of the horizontal episemus, that must be placed a bit lower if the note is on a line\\
+ & 10 & case of the low choral sign\\
+ & 11 & case of the high choral sign\\
+ & 12 & case of the low choral sign which is lower than the note\\
+ & 13 & case of the brace above the bars
\end{argtable}
\macroname{\textbackslash gre@stafflinefactor}{}{gregoriotex-spaces.tex}
@@ -143,65 +143,65 @@ Flag indicating whether the stafflinefactor should scale with changes of grefact
Macro to calculate the distance from the beginning of the text of a syllable to its alignment point (the center of the vowel for Latin centering, the center of the syllable for English centering). This is a time of use calculation.
\begin{argtable}
- \#1 & string & the first part of the syllable\\
- \#2 & string & the middle part of the syllable\\
- \#3 & 0 & perform this calculation for the current syllable\\
- & 1 & perform this calculation for the next syllable
+ \#1 & string & the first part of the syllable\\
+ \#2 & string & the middle part of the syllable\\
+ \#3 & 0 & perform this calculation for the current syllable\\
+ & 1 & perform this calculation for the next syllable
\end{argtable}
\macroname{\textbackslash gre@calculate@enddifference}{\#1\#2\#3\#4\#5}{gregoriotex-spaces.tex}
Calculates the difference between the end of the notes and the end of the syllable text. Also stores the value for the previous syllable if needed. This is a time of use calculation.
\begin{argtable}
- \#1 & length & the total width of the notes\\
- \#2 & length & the total width of the syllable text\\
- \#3 & length & the alignment distance for the text (\texttt{textaligncenter})\\
- \#4 & length & the alignment distance for the notes (\texttt{notesaligncenter})\\
- \#5 & 0 & do not save the value for the previous syllable before calculating the new value\\
- & 1 & save the value for the previous syllable before calculating the new value
+ \#1 & length & the total width of the notes\\
+ \#2 & length & the total width of the syllable text\\
+ \#3 & length & the alignment distance for the text (\texttt{textaligncenter})\\
+ \#4 & length & the alignment distance for the notes (\texttt{notesaligncenter})\\
+ \#5 & 0 & do not save the value for the previous syllable before calculating the new value\\
+ & 1 & save the value for the previous syllable before calculating the new value
\end{argtable}
\macroname{\textbackslash gre@changeonedimenfactor}{\#1\#2\#3}{gregoriotex-spaces.tex}
Change the scale of a single distance from one factor to another.
\begin{argtable}
- \#1 & string & name of the distance to be scaled. See \nameref{distances}.\\
- \#2 & integer & the factor the distance is currently in\\
- \#3 & integer & the factor the distance is to be put into\\
+ \#1 & string & name of the distance to be scaled. See \nameref{distances}.\\
+ \#2 & integer & the factor the distance is currently in\\
+ \#3 & integer & the factor the distance is to be put into\\
\end{argtable}
\macroname{\textbackslash gre@changedimenfactor}{\#1\#2}{gregoriotex-spaces.tex}
Rescales all the distances (and stafflinefactor) which are supposed to scale with a change in factor.
\begin{argtable}
- \#1 & integer & the factor the distance is currently in\\
- \#2 & integer & the factor the distance is to be put into\\
+ \#1 & integer & the factor the distance is currently in\\
+ \#2 & integer & the factor the distance is to be put into\\
\end{argtable}
\macroname{\textbackslash gre@calculate@nextbegindifference}{\#1\#2\#3\#4}{gregoriotex-spaces.tex}
Macro to calculate \texttt{nextbegindifference}.
\begin{argtable}
- \#1 & string & the first letters of the next syllable\\
- \#2 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\
- \#3 & string & the end letters of the next syllable\\
- \#4 & $0 <$ integer $< 19$ & the type of notes alignment. See \nameref{notesalign}.\\
- & $20 <$ integer $< 39$ & Same as below 20 except there is a flat before the notes. Subtract 20 to get the type of notes alignment.\\
- & $40 <$ integer $< 59$ & Same as below 20 except there is a natural before the notes. Subtract 40 to get the type of notes alignment.
+ \#1 & string & the first letters of the next syllable\\
+ \#2 & string & the middle letters of the next syllable (the vowel in Latin, the whole syllable in English)\\
+ \#3 & string & the end letters of the next syllable\\
+ \#4 & $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.
\end{argtable}
\macroname{\textbackslash gre@makein}{\#1}{gregoriotex-spaces.tex}
Strips the decimals and units from a distance.
\begin{argtable}
- \#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
+ \#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
\end{argtable}
\macroname{\textbackslash gre@makenum}{\#1}{gregoriotex-spaces.tex}
Strips the units from a distance.
\begin{argtable}
- \#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
+ \#1 & distance & should be in the form ``[0-9]+.[0-9]+pt''. (\ie the result of applying \verb=\the= to a distance register)
\end{argtable}
\macroname{\textbackslash gre@unitfactor}{}{gregoriotex-spaces.tex}
@@ -217,8 +217,8 @@ Temporary count used in calculations. There are currently three of these.
Macro which converts a distance into a particular set of units. Result is placed in \verb=\gre@converted= as a string.
\begin{argtable}
- \#1 & string & two letter abbreviation for the units. Should recognize all legal TeX units.\\
- \#2 & distance & Distance to be converted.
+ \#1 & string & two letter abbreviation for the units. Should recognize all legal TeX units.\\
+ \#2 & distance & Distance to be converted.
\end{argtable}
\macroname{\textbackslash gre@converted}{}{gregoriotex-spaces.tex}
@@ -228,8 +228,8 @@ Macro holding result of last call to \verb=\gre@convertto=.
This function takes a distance and formats it as a string so that its units conform to the pattern set by a string representation of a distance. Result is placed in \verb=\gre@stringdist=.
\begin{argtable}
- \#1 & string & the standard whose format is to be matched.\\
- \#2 & distance & the distance to be adjusted.
+ \#1 & string & the standard whose format is to be matched.\\
+ \#2 & distance & the distance to be adjusted.
\end{argtable}
\macroname{\textbackslash gre@stringdist}{}{gregoriotex-spaces.tex}
@@ -240,7 +240,7 @@ Macro that handles \verb=\gregorioscore= calls when they do not have an
optional argument.
\begin{argtable}
- \#1 & string & Relative or absolute path to the score.\\
+ \#1 & string & Relative or absolute path to the score.\\
\end{argtable}
\macroname{\textbackslash gre@gregorioscore@option}{[\#1]\#2}{gregoriotex-main.tex}
@@ -248,10 +248,10 @@ Macro that handles \verb=\gregorioscore= calls when they have an optional
argument.
\begin{argtable}
- \#1 & \texttt{n} & \#2 will be included as is. \\
- & \texttt{a} & Gregoriotex will automatically compile gabc files if necessary.\\
- & \texttt{f} & Forces gregoriotex to compile the gabc file.\\
- \#2 & string & Relative or absolute path to the score.\\
+ \#1 & \texttt{n} & \#2 will be included as is. \\
+ & \texttt{a} & Gregoriotex will automatically compile gabc files if necessary.\\
+ & \texttt{f} & Forces gregoriotex to compile the gabc file.\\
+ \#2 & string & Relative or absolute path to the score.\\
\end{argtable}
\macroname{\textbackslash gre@gabcsnippet}{\#1}{gregoriotex-main.tex}
@@ -259,7 +259,7 @@ Macro that handles \verb=\gabcsnippet= calls when they do not have an
optional argument.
\begin{argtable}
- \#1 & string & Snippet of gabc code.\\
+ \#1 & string & Snippet of gabc code.\\
\end{argtable}
\macroname{\textbackslash gre@gabcsnippet@option}{[\#1]\#2}{gregoriotex-main.tex}
@@ -267,8 +267,8 @@ Macro that handles \verb=\gabcsnippet= calls when they have an optional
argument.
\begin{argtable}
- \#1 & int & Value of initial style to be passed to gregorio \\
- \#2 & string & Snippet of gabc code.\\
+ \#1 & int & Value of initial style to be passed to gregorio \\
+ \#2 & string & Snippet of gabc code.\\
\end{argtable}
\macroname{\textbackslash gre@writemode}{\#1}{gregoriotex-main.tex}
@@ -277,22 +277,22 @@ argument typically is given to this macro by \verb=\GreMode= in the
gtex file.
\begin{argtable}
- \#1 & string & Text to place above the initial of a score.\\
+ \#1 & string & Text to place above the initial of a score.\\
\end{argtable}
\macroname{\textbackslash gre@brace@common}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Common macro used internally to render braces.
\begin{argtable}
- \#1 & length & The width of the brace.\\
- \#2 & length & A vertical shift.\\
- \#3 & length & A horizontal shift.\\
- \#4 & 0 & Don't shift before starting the brace.\\
- & 1 & Shift back a punctum's width before starting the brace.\\
- \#5 & 0 & No accentus above the brace.\\
- & 1 & Typeset an accentus above the brace.\\
- \#6 & integer & The height number for the brace.\\
- \#7 & csname & The control sequence name representing the brace.
+ \#1 & length & The width of the brace.\\
+ \#2 & length & A vertical shift.\\
+ \#3 & length & A horizontal shift.\\
+ \#4 & 0 & Don't shift before starting the brace.\\
+ & 1 & Shift back a punctum's width before starting the brace.\\
+ \#5 & 0 & No accentus above the brace.\\
+ & 1 & Typeset an accentus above the brace.\\
+ \#6 & integer & The height number for the brace.\\
+ \#7 & csname & The control sequence name representing the brace.
\end{argtable}
\macroname{\textbackslash grebracemetapostpreamble}{\#1}{gregoriotex-signs.tex}
@@ -300,44 +300,44 @@ Returns the \MP{} preamble for braces. The control sequence name does
not have the \texttt{@} symbol because this macro is used within \MP{}.
\begin{argtable}
- \#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
+ \#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
\end{argtable}
\macroname{\textbackslash gre@draw@curlybrace}{\#1}{gregoriotex-signs.tex}
Draws a curly over-brace using \MP{}.
\begin{argtable}
- \#1 & length & the width of the brace.
+ \#1 & length & the width of the brace.
\end{argtable}
\macroname{\textbackslash gre@draw@brace}{\#1}{gregoriotex-signs.tex}
Draws a round over-brace using \MP{}.
\begin{argtable}
- \#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
+ \#1 & string & the width of the brace; if \texttt{*}, use the bar brace width.
\end{argtable}
\macroname{\textbackslash gre@draw@underbrace}{\#1}{gregoriotex-signs.tex}
Draws a round under-brace using \MP{}.
\begin{argtable}
- \#1 & length & the width of the brace.
+ \#1 & length & the width of the brace.
\end{argtable}
\macroname{\textbackslash gre@draw@roundbrace}{\#1}{gregoriotex-signs.tex}
Draws a round over- or under-brace using \MP{}.
\begin{argtable}
- \#1 & length & the width of the brace.\\
- \#2 & number & the height of the bounding box in em-relative units.\\
- \#3 & \MP{} commands & \MP{} commands to draw the brace outline.
+ \#1 & length & the width of the brace.\\
+ \#2 & number & the height of the bounding box in em-relative units.\\
+ \#3 & \MP{} commands & \MP{} commands to draw the brace outline.
\end{argtable}
\macroname{\textbackslash gre@iflatex}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
Evaluates to \verb=#1= if running under \LaTeX{}.
\begin{argtable}
- \#1 & \TeX{} code & the \TeX{} code to use if running under \LaTeX{}.
+ \#1 & \TeX{} code & the \TeX{} code to use if running under \LaTeX{}.
\end{argtable}
\macroname{\textbackslash gre@latex@barredsymbol}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
@@ -347,10 +347,10 @@ the cascading of conditionals used to implement that macro.
\bigskip\textbf{Only available in \LaTeX.}
\begin{argtable}
- \#1 & string & the value of \verb=\f@series/\f@shape= to match.\\
- \#2 & \TeX{} code & the \TeX{} for the base symbol (\ie, \texttt{A}, \texttt{R}, or \texttt{V}).\\
- \#3 & string & the control sequence name created by \verb=\gredefsizedsymbol= to use for the bar.\\
- \#4 & dimension & the amount to shift the bar to the left from the end of the base symbol.
+ \#1 & string & the value of \verb=\f@series/\f@shape= to match.\\
+ \#2 & \TeX{} code & the \TeX{} for the base symbol (\ie, \texttt{A}, \texttt{R}, or \texttt{V}).\\
+ \#3 & string & the control sequence name created by \verb=\gredefsizedsymbol= to use for the bar.\\
+ \#4 & dimension & the amount to shift the bar to the left from the end of the base symbol.
\end{argtable}
\macroname{\textbackslash gre@additionalbottomcustoslineend}{}{gregoriotex-signs.tex}
@@ -369,7 +369,7 @@ Macro to place a top custos with an additional line (positions \texttt{l} and \t
Macro to pick the appropriate custos character.
\begin{argtable}
- \#1 & integer & height of the custos character to be placed\\
+ \#1 & integer & height of the custos character to be placed\\
\end{argtable}
\macroname{\textbackslash gre@addspaceabove}{}{gregoriotex-main.tex}
@@ -382,19 +382,19 @@ Macro to decrease the space above the lines as there is no longer any above line
Macro to typeset an alteration.
\begin{argtable}
- \#1 & integer & height of the alteration\\
- \#2 & character alias & the alteration\\
- \#3 & character alias & the hole of the alteration\\
- \#4 & 1 & the alteration is a flat for a key change\\
- & 0 & all other cases\\
+ \#1 & integer & height of the alteration\\
+ \#2 & character alias & the alteration\\
+ \#3 & character alias & the hole of the alteration\\
+ \#4 & 1 & the alteration is a flat for a key change\\
+ & 0 & all other cases\\
\end{argtable}
\macroname{\textbackslash gre@calculate@clefnum}{\#1\#2}{gregoriotex-signs.tex}
Macro calculating the \verb=\gre@clefnum= from the letter and number.
\begin{argtable}
- \#1 & charcter & type of clef (\texttt{c} or \texttt{f})\\
- \#2 & integer & line number\\
+ \#1 & charcter & type of clef (\texttt{c} or \texttt{f})\\
+ \#2 & integer & line number\\
\end{argtable}
\macroname{\textbackslash gre@clefnum}{}{gregoriotex-signs.tex}
@@ -437,28 +437,28 @@ A spot to save the \verb=\gre@lastoflinecount= so we can change it temporarily a
The macro which needs to be called each time a new lines is started.
\begin{argtable}
- \#1 & 0 & Justifying the line being ended\\
- & 1 & Do not justify the line being ended\\
+ \#1 & 0 & Justifying the line being ended\\
+ & 1 & Do not justify the line being ended\\
\end{argtable}
\macroname{\textbackslash gre@endafterbar}{\#1}{gregoriotex-main.tex}
Macro to call after ending a bar.
\begin{argtable}
- \#1 & 0 & We are at the end of a line\\
- & 1 & We not at the end of a line\\
+ \#1 & 0 & We are at the end of a line\\
+ & 1 & We not at the end of a line\\
\end{argtable}
\macroname{\textbackslash gre@endofsyllable}{\#1\#2\#3}{gregoriotex-syllable.tex}
Macro called at end of a syllable, adds a penalty and a space.
\begin{argtable}
- \#1 & 0 & to only add the penalty\\
- & 1 & otherwise\\
- \#2 & 0 & if end of syllable\\
- & 1 & if end of word\\
- \#3 & 1 & if next syllable is a bar\\
- & 0 & otherwise\\
+ \#1 & 0 & to only add the penalty\\
+ & 1 & otherwise\\
+ \#2 & 0 & if end of syllable\\
+ & 1 & if end of word\\
+ \#3 & 1 & if next syllable is a bar\\
+ & 0 & otherwise\\
\end{argtable}
\macroname{\textbackslash gre@exhyphencharsave}{}{gregoriotex-main.tex}
@@ -473,30 +473,30 @@ Default: 17 (approximately the size found in graduals)
Macro to fill the hole in a glyph so that staff lines do not show through a hole in it.
\begin{argtable}
- \#1 & Gregorio\TeX\ char & character to use to fill the hole\\
+ \#1 & Gregorio\TeX\ char & character to use to fill the hole\\
\end{argtable}
\macroname{\textbackslash gre@calculate@notesaligncenter}{\#1}{gregoriotex-syllable.tex}
Macro to find the alignment center for a group of notes. The value is the distance from the left edge of the group to the alignment point and is stored in \verb=\gre@dimen@notesaligncenter=.
\begin{argtable}
- \#1 & Note alignment type & See \ref{notesalign}\\
+ \#1 & Note alignment type & See \ref{notesalign}\\
\end{argtable}
\macroname{\textbackslash gre@calculate@nextnotesaligncenter}{\#1}{gregoriotex-syllable.tex}
Same as previous, but for the next syllable.
\begin{argtable}
- \#1 & Note alignment type & See \ref{notesalign}\\
+ \#1 & Note alignment type & See \ref{notesalign}\\
\end{argtable}
\macroname{\textbackslash gre@calculate@simplenotesaligncenter}{\#1\#2}{gregoriotex-syllable.tex}
Workhorse function behind \verb=\gre@calculate@notesaligncenter= and \verb=\gre@calculate@nextnotesaligncenter=.
\begin{argtable}
- \#1 & Note alignment type & See \ref{notesalign}\\
- \#2 & 0 & this is for the current syllable\\
- & 1 & this is for the next syllable\\
+ \#1 & Note alignment type & See \ref{notesalign}\\
+ \#2 & 0 & this is for the current syllable\\
+ & 1 & this is for the next syllable\\
\end{argtable}
\macroname{\textbackslash gre@gregoriofontname}{}{gregoriotex-main.tex}
@@ -506,79 +506,79 @@ Macro which stores the name of the currently selected font for the neumes.
Macro for aligning clivis syllables according to the flag \verb=\gre@clivisalignment=.
\begin{argtable}
- \#1 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on its center\\
- \#2 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on the center of the first punctum\\
- \#3 & 0 & this is for the current syllable\\
- & 1 & this is for the next syllable\\
+ \#1 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on its center\\
+ \#2 & Gregorio\TeX\ glyph & Glyph to use when aligning clivis on the center of the first punctum\\
+ \#3 & 0 & this is for the current syllable\\
+ & 1 & this is for the next syllable\\
\end{argtable}
\macroname{\textbackslash gre@hepisorline}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro to typeset a horizontal line (either an additional staff line or an episemus).
\begin{argtable}
- \#1 & character & The letter of the height of the episemus (not the height of the note it corresponds to).\\
- \#2 & 0 & go back to the beginning of the previous glyph; this starts the episemus at the beginning of the previous glyph\\
- & 1 & stay at the end of the glyph; doesn't make much sense to use this\\
- & 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
- & 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
- \#3 & integer &the ambitus for a two note episemus at the diagonal stroke of a porrectus, porrectus flexus, orculus resupinus, or torculus resupinus flexus\\
- \#4 & 0 & an horizontal episemus\\
- & 1 & an horizontal episemus under a note\\
- & 3 & a line at the bottom\\
- & 2 & a line at the top\\
- \#5 & f & a normal episemus\\
- & l & a small episemus aligned left\\
- & c & a small episemus aligned center\\
- & r & for a small episemus aligned right\\
+ \#1 & character & The letter of the height of the episemus (not the height of the note it corresponds to).\\
+ \#2 & 0 & go back to the beginning of the previous glyph; this starts the episemus at the beginning of the previous glyph\\
+ & 1 & stay at the end of the glyph; doesn't make much sense to use this\\
+ & 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
+ & 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
+ \#3 & integer &the ambitus for a two note episemus at the diagonal stroke of a porrectus, porrectus flexus, orculus resupinus, or torculus resupinus flexus\\
+ \#4 & 0 & an horizontal episemus\\
+ & 1 & an horizontal episemus under a note\\
+ & 3 & a line at the bottom\\
+ & 2 & a line at the top\\
+ \#5 & f & a normal episemus\\
+ & l & a small episemus aligned left\\
+ & c & a small episemus aligned center\\
+ & r & for a small episemus aligned right\\
\end{argtable}
\macroname{\textbackslash gre@hepisorlineaux}{\#1\#2\#3\#4}{gregoriotex-signs.tex}
Macro that will help in the typesetting of a horizontal episemus and additional lines.
\begin{argtable}
- \#1 & Gregorio\TeX\ glyph & an offset glyph (see \#3, below)\\
- \#2 & Gregorio\TeX\ glyph & the episemus glyph\\
- \#3 & 0 & go back to the beginning of the previous glyph; this starts the episemus at the beginning of the previous glyph\\
- & 1 & stay at the end of the glyph; doesn't make much sense to use this\\
- & 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
- & 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
- \#4 & 0 & an horizontal episemus\\
- & 1 & an horizontal episemus under a note\\
- & 3 & a line at the bottom\\
- & 2 & a line at the top\\
+ \#1 & Gregorio\TeX\ glyph & an offset glyph (see \#3, below)\\
+ \#2 & Gregorio\TeX\ glyph & the episemus glyph\\
+ \#3 & 0 & go back to the beginning of the previous glyph; this starts the episemus at the beginning of the previous glyph\\
+ & 1 & stay at the end of the glyph; doesn't make much sense to use this\\
+ & 2 & go back the width of \#1; this starts the episemus at the glyph from the end that starts at \#1's width from the end\\
+ & 3 & go back to the beginning of the previous glyph and then forward the width of \#1; this starts the episemus at the glyph from the start that starts just after \#1's width from the start\\
+ \#4 & 0 & an horizontal episemus\\
+ & 1 & an horizontal episemus under a note\\
+ & 3 & a line at the bottom\\
+ & 2 & a line at the top\\
\end{argtable}
\macroname{\textbackslash gre@vepisemusorrare}{\#1\#2\#3\#4\#5}{gregoriotex-signs.tex}
Macro to typeset a vertical episemus or a rare accent (like accentus, circulus, etc.). This function must be called after a call to \verb=\GreGlyph=.
\begin{argtable}
- \#1 & character & the letter of the height of the episemus (not the height of the note it corresponds to.\\
- \#2 & integer & See \nameref{EpisemusSpecial}\\
- \#3 & Gregorio\TeX\ glyph & the sign glyph\\
- \#4 & 1 & vertical episemus\\
- & 2 & rare sign\\
- & 3 & choral sign\\
- & 4 & brace above the bar\\
- \#5 & string & the choral sign, if relevant\\
+ \#1 & character & the letter of the height of the episemus (not the height of the note it corresponds to.\\
+ \#2 & integer & See \nameref{EpisemusSpecial}\\
+ \#3 & Gregorio\TeX\ glyph & the sign glyph\\
+ \#4 & 1 & vertical episemus\\
+ & 2 & rare sign\\
+ & 3 & choral sign\\
+ & 4 & brace above the bar\\
+ \#5 & string & the choral sign, if relevant\\
\end{argtable}
\macroname{\textbackslash gre@vepisemusorrareaux}{\#1\#2\#3\#4\#5\#6\#7}{gregoriotex-signs.tex}
Macro to help typesetting vertical episemus.
\begin{argtable}
- \#1 & Gregorio\TeX\ glyph & is an offset glyph (see \#3 below)\\
- \#2 & Gregorio\TeX glyph & the glyph upon which the sign is to be centered\\
- \#3 & 0 & go back to the beginning of the previous glyph and then forward half the width of \#2; this puts the sign at the beginning of the previous glyph, whose first note is the size of \#2\\
- & 1 & go back half the width of \#2; this puts the sign at the end of the previous glyph, whose last note is the size of \#2\\
- & 2 & go back the width of \#1 and then forward half the width of \#2; this puts the sign at the glyph from the end that starts at \#1's width from the end\\
- & 3 & go back to the beginning of the previous glyph and then forward the width of \#1 and then back half the width of \#2; this puts the sign at the glyph from the start that ends at \#1's width from the start\\
- \#4 & dimension & a shift that we want to get applied, useful for punctum inclinatum for example\\
- \#5 & integer & is the glyph number\\
- \#6 & 1 & vertical episemus\\
- & 2 & rare sign\\
- & 3 & choral sign\\
- & 4 & brace above the bar\\
- \#7 & string & the choral sign if relevant\\
+ \#1 & Gregorio\TeX\ glyph & is an offset glyph (see \#3 below)\\
+ \#2 & Gregorio\TeX glyph & the glyph upon which the sign is to be centered\\
+ \#3 & 0 & go back to the beginning of the previous glyph and then forward half the width of \#2; this puts the sign at the beginning of the previous glyph, whose first note is the size of \#2\\
+ & 1 & go back half the width of \#2; this puts the sign at the end of the previous glyph, whose last note is the size of \#2\\
+ & 2 & go back the width of \#1 and then forward half the width of \#2; this puts the sign at the glyph from the end that starts at \#1's width from the end\\
+ & 3 & go back to the beginning of the previous glyph and then forward the width of \#1 and then back half the width of \#2; this puts the sign at the glyph from the start that ends at \#1's width from the start\\
+ \#4 & dimension & a shift that we want to get applied, useful for punctum inclinatum for example\\
+ \#5 & integer & is the glyph number\\
+ \#6 & 1 & vertical episemus\\
+ & 2 & rare sign\\
+ & 3 & choral sign\\
+ & 4 & brace above the bar\\
+ \#7 & string & the choral sign if relevant\\
\end{argtable}
\macroname{\textbackslash gre@newglyphcommon}{}{gregoriotex-syllable.tex}
@@ -597,7 +597,7 @@ Macro for opening up greextra font.
Macro for populating \verb=\gre@box@syllablenotes=.
\begin{argtable}
- \#1 & string & The contents to be placed in the box\\
+ \#1 & string & The contents to be placed in the box\\
\end{argtable}
\macroname{\textbackslash gre@symbolfontsize}{}{gregoriotex-symbols.tex}
@@ -610,13 +610,13 @@ Macro which applies the default text format.
Macro which typesets the key.
\begin{argtable}
- \#1 & character & the type of the key: c or f\\
- \#2 & integer & the line of the key (1 is the lowest)\\
- \#3 & 0 & no need to use small key characters (inside a line)\\
- & 1 & we must use small key characters (inside a line)\\
- \#4 & 0 & no extra space is needed after the key\\
- & 1 & we must type a space after the key\\
- \#5 & integer & if 3, it means that we must not put a flat after the key, otherwise it's the height of the flat\\
+ \#1 & character & the type of the key: c or f\\
+ \#2 & integer & the line of the key (1 is the lowest)\\
+ \#3 & 0 & no need to use small key characters (inside a line)\\
+ & 1 & we must use small key characters (inside a line)\\
+ \#4 & 0 & no extra space is needed after the key\\
+ & 1 & we must type a space after the key\\
+ \#5 & integer & if 3, it means that we must not put a flat after the key, otherwise it's the height of the flat\\
\end{argtable}
\macroname{\textbackslash gre@updateleftbox}{}{gregoriotex-main.tex}
@@ -632,15 +632,15 @@ Macro for calculating the width of its argument and storing it in \verb=\gre@dim
Macro to write a bar.
\begin{argtable}
- \#1 & 0 & virgula\\
- & 1 & minima\\
- & 2 & minor\\
- & 3 & major\\
- & 4 & finalis\\
- & 5 & the last finalis\\
- \#2 & 0 & in a syllable containing only this bar\\
- & 1 & in a syllable containing other notes\\
- \#3 & \TeX\ code & macros that may happen before the skip after the bar (typically GreVEpisemus)\\
+ \#1 & 0 & virgula\\
+ & 1 & minima\\
+ & 2 & minor\\
+ & 3 & major\\
+ & 4 & finalis\\
+ & 5 & the last finalis\\
+ \#2 & 0 & in a syllable containing only this bar\\
+ & 1 & in a syllable containing other notes\\
+ \#3 & \TeX\ code & macros that may happen before the skip after the bar (typically GreVEpisemus)\\
\end{argtable}
\macroname{\textbackslash gre@@arg}{}{gregoriotex-syllable.tex}
@@ -653,10 +653,10 @@ A dummy macro which has not contents. Used for \verb=\ifx= comparisons.
Workhorse function behind \verb=\greannotation=.
\begin{argtable}
- \#1 & \texttt{c} & center align the new line with the existing annotation content\\
- & \texttt{l} & left align the new line with the existing annotation content\\
- & \texttt{r} & right align the new line with the existing annotation content\\
- \#2 & string & the new annotation content\\
+ \#1 & \texttt{c} & center align the new line with the existing annotation content\\
+ & \texttt{l} & left align the new line with the existing annotation content\\
+ & \texttt{r} & right align the new line with the existing annotation content\\
+ \#2 & string & the new annotation content\\
\end{argtable}
\macroname{\textbackslash gre@atletter}{}{gregoriotex-main.tex}
@@ -677,16 +677,16 @@ Macro for raising a bug error when some calculation goes awry and comes up with
\macroname{\textbackslash gre@changestyle}{\#1\#2[\#3]}{gregoriotex.sty \textup{and} gregoriotex.tex}
Workhorse function behind \verb=\grechangestyle=. Necessary because the internals of the definition are slightly different in \LaTeX\ and Plain\TeX.
-\macroname{\textbackslash gre@compute@bolshift}{\#1\#2}{gregoriotex-spaces.tex}
+\macroname{\textbackslash gre@calculate@bolshift}{\#1\#2}{gregoriotex-spaces.tex}
Macro used in \verb=\GreSyllable=. Sets \verb=\gre@skip@bolshift= to the left kern that should appear at the beginning of a line in case of a forced linebreak. The goal of this left kern is to have all lines aligned on notes.
\begin{argtable}
- \#1 & dimension & \verb=\gre@dimen@begindifference= of the first syllable of the line\\
- \#2 & 0 & No need to worry about a Lua\TeX\ bug\\
- & 1 & Apply correction for Lua\TeX\ bug\\
+ \#1 & dimension & \verb=\gre@dimen@begindifference= of the first syllable of the line\\
+ \#2 & 0 & No need to worry about a Lua\TeX\ bug\\
+ & 1 & Apply correction for Lua\TeX\ bug\\
\end{argtable}
-\macroname{\textbackslash gre@compute@eolshift}{\#1}{gregoriotex-spaces.tex}
+\macroname{\textbackslash gre@calculate@eolshift}{\#1}{gregoriotex-spaces.tex}
Macro used in \verb=\GreSyllable=. Sets \verb=\gre@skip@eolshift= to the left kern that
should appear before an end of line. The improvement is tiny: when
text go further than notes in the last syllable of a line, the idea
@@ -696,17 +696,17 @@ line, just before the linebreak penalty, so that LaTeX believes the
line is a bit shorter, and expands it more.
\begin{argtable}
- \#1 & dimension & The \verb=\gre@dimen@enddifference= of the corresponding syllable\\
+ \#1 & dimension & The \verb=\gre@dimen@enddifference= of the corresponding syllable\\
\end{argtable}
-\macroname{\textbackslash gre@compute@syllablefinalskip}{\#1\#2}{gregoriotex-spaces.tex}
+\macroname{\textbackslash gre@calculate@syllablefinalskip}{\#1\#2}{gregoriotex-spaces.tex}
Macro computing the skip at the end of the syllable.
\begin{argtable}
- \#1 & 0 & if end of syllable\\
- & 1 & if end of word\\
- \#2 & 0 & if next syllable is normal\\
- & 1 & if it's a bar\\
+ \#1 & 0 & if end of syllable\\
+ & 1 & if end of word\\
+ \#2 & 0 & if next syllable is normal\\
+ & 1 & if it's a bar\\
\end{argtable}
\macroname{\textbackslash gre@convert}{}{gregoriotex-spaces.tex}
@@ -719,46 +719,46 @@ Macro to hold the list of debug messages which should be designated as printing.
Macro to print debugging messages.
\begin{argtable}
- \#1 & string & The category of the message (used in conjunction with \verb=\gre@debug= to determine whether to print the message or not\\
- \#2 & string & The debug message\\
+ \#1 & string & The category of the message (used in conjunction with \verb=\gre@debug= to determine whether to print the message or not\\
+ \#2 & string & The debug message\\
\end{argtable}
\macroname{\textbackslash gre@declarefileversion}{\#1\#2}{gregoriotex-main.tex}
Macro which checks for version consistency between Gregorio\TeX\ files.
\begin{argtable}
- \#1 & string & name of the current file\\
- \#2 & string & version of the current file\\
+ \#1 & string & name of the current file\\
+ \#2 & string & version of the current file\\
\end{argtable}
\macroname{\textbackslash gre@def@char@he}{\#1\#2}{gregoriotex-chars.tex}
Macro for defining the various types of horizontal episema.
\begin{argtable}
- \#1 & string & name of the horizontal episemus to be defined\\
- \#2 & string & Camel case name of horizontal episemus to be defined\\
+ \#1 & string & name of the horizontal episemus to be defined\\
+ \#2 & string & Camel case name of horizontal episemus to be defined\\
\end{argtable}
\macroname{\textbackslash gre@def@char@he@porr}{\#1\#2}{gregoriotex-chars.tex}
Macro for defining the various types of horizontal episema porrectus.
\begin{argtable}
- \#1 & string & name of the horizontal episemus porrectus to be defined\\
- \#2 & string & Camel case name of horizontal episemus porrectus to be defined\\
+ \#1 & string & name of the horizontal episemus porrectus to be defined\\
+ \#2 & string & Camel case name of horizontal episemus porrectus to be defined\\
\end{argtable}
\macroname{\textbackslash gre@char@cavum}{\#1\#2\#3\#4\#5\#6\#7\#8}{gregoriotex-signs.tex}
Macro to typeset a "cavum" character.
\begin{argtable}
- \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
- \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
- \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
- \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
- \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
- \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.\\
- \#7 & control sequence & The control sequence for the glyph.\\
- \#8 & control sequence & The control sequence for the hole glyph.
+ \#1 & length & Argument \#2 from \verb=\GreGlyph=. Height to raise the glyph.\\
+ \#2 & length & Argument \#3 from \verb=\GreGlyph=. Height of the next note.\\
+ \#3 & integer & Argument \#4 from \verb=\GreGlyph=. The type of glyph.\\
+ \#4 & \TeX\ code & Macros executed before the punctum cavum is written.\\
+ \#5 & character & Argument \#5 from \verb=\GreGlyph=. The signs to typeset before the glyph.\\
+ \#6 & string & the line, byte offset, and column address for textedit links when point-and-click is enabled.\\
+ \#7 & control sequence & The control sequence for the glyph.\\
+ \#8 & control sequence & The control sequence for the hole glyph.
\end{argtable}
\macroname{\textbackslash gre@get@spaceskip}{\#1}{gregoriotex-signs.tex}
@@ -766,18 +766,18 @@ Loads \verb=\gre@skip@temp@four= with the appropriate rubber length given the
desired case.
\begin{argtable}
- \#1 & 0 & Default space.\\
- & 1 & Zero-width space.\\
- & 2 & Space between flat or natural and a note.\\
- & 3 & Space between two puncta inclinata.\\
- & 4 & Space between bivirga or trivirga.\\
- & 5 & space between bistropha or tristropha.\\
- & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
- & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
- & 8 & Space between two puncta inclinata debilis.\\
- & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
- & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
- & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).\\
+ \#1 & 0 & Default space.\\
+ & 1 & Zero-width space.\\
+ & 2 & Space between flat or natural and a note.\\
+ & 3 & Space between two puncta inclinata.\\
+ & 4 & Space between bivirga or trivirga.\\
+ & 5 & space between bistropha or tristropha.\\
+ & 6 & Space after a punctum mora XXX: not used yet, not so sure it is a good idea\ldots\\
+ & 7 & Space between a punctum inclinatum and a punctum inclinatum debilis.\\
+ & 8 & Space between two puncta inclinata debilis.\\
+ & 9 & Space before a punctum (or something else) and a punctum inclinatum.\\
+ & 10 & Space between puncta inclinata (also debilis for now), larger ambitus (range=3rd).\\
+ & 11 & Space between puncta inclinata (also debilis for now), larger ambitus (range=4th or more).\\
\end{argtable}
\macroname{\textbackslash gre@nabcfontname}{}{gregoriotex-main.tex}
@@ -808,14 +808,14 @@ Macro which stores the middle part of the next syllable (the part which aligns w
A macro which applies formatting that needs to apply to the whole syllable (rather than the parts individually) for the current syllable. Necessary to preserve ligatures across parts within a syllable.
\begin{argtable}
- \#1 & string & The syllable (usually built as \verb=\gre@firstsyllablepart\gre@middlesyllablepart\gre@endsyllablepart=\\
+ \#1 & string & The syllable (usually built as \verb=\gre@firstsyllablepart\gre@middlesyllablepart\gre@endsyllablepart=\\
\end{argtable}
\macroname{\textbackslash gre@fixednexttextformat}{\#1}{gregoriotex-syllable.tex}
A macro which applies formatting that needs to apply to the whole syllable (rather than the parts individually) for the next syllable. Necessary to preserve ligatures across parts within a syllable.
\begin{argtable}
- \#1 & string & The syllable (usually built as \verb=\gre@nextfirstsyllablepart\gre@nextmiddlesyllablepart\gre@nextendsyllablepart=\\
+ \#1 & string & The syllable (usually built as \verb=\gre@nextfirstsyllablepart\gre@nextmiddlesyllablepart\gre@nextendsyllablepart=\\
\end{argtable}
\macroname{\textbackslash gre@gabcname}{}{gregoriotex-main.tex}
@@ -830,6 +830,9 @@ Macro to hold the version number of Gregorio\TeX\ so that it can be checked for
\macroname{\textbackslash gre@leftfill}{}{gregoriotex-main.tex}
Macro set to \verb=\hfil= or \verb=\relax= depending on alignment choices.
+\macroname{\textbackslash gre@lyriccentering}{}{gregoriotex-syllable.tex}
+Macro set to \verb=0= for full-syllable centering, \verb=1= for vowel centering (the default), or \verb=2= for first-letter centering.
+
\macroname{\textbackslash gre@rightfill}{}{gregoriotex-main.tex}
Macro set to \verb=\hfil= or \verb=\relax= depending on alignment choices.
@@ -852,8 +855,8 @@ If any note appears below this pitch, the space below the lines must be adjusted
Macro to generate the point-and-click links.
\begin{argtable}
- \#1 & \TeX\ code & the entity which is to contain the link\\
- \#2 & link target & line:char:column for the link\\
+ \#1 & \TeX\ code & the entity which is to contain the link\\
+ \#2 & link target & line:char:column for the link\\
\end{argtable}
\macroname{\textbackslash gre@prefix}{}{gregoriotex-spaces.tex}
@@ -863,28 +866,28 @@ Either ``skip'' or ``dimen'' according to the distance being set or changed at t
Determines whether the given distance is allowed to take a rubber length.
\begin{argtable}
- \#1 & string & the name of the distance to check\\
+ \#1 & string & the name of the distance to check\\
\end{argtable}
\macroname{\textbackslash gre@setgregoriofont}{[\#1]\#2}{gregoriotex-main.tex}
Workhorse function behind \verb=\gresetgregoriofont=.
\begin{argtable}
- \#1 & \textit{(omitted)} & Use the normal font and rule set (default).\\
- & op & Use the alternate Dominican font/rule set.\\
- \#2 & greciliae & Use the Greciliae font (default).\\
- & gregorio & Use the Gregorio font.\\
- & parmesan & Use the Parmesan font.\\
+ \#1 & \textit{(omitted)} & Use the normal font and rule set (default).\\
+ & op & Use the alternate Dominican font/rule set.\\
+ \#2 & greciliae & Use the Greciliae font (default).\\
+ & gregorio & Use the Gregorio font.\\
+ & parmesan & Use the Parmesan font.\\
\end{argtable}
\macroname{\textbackslash gre@syllable@end}{\#1\#2\#3}{gregoriotex-syllable.tex}
Macro to make a few checks and call the right macros between \verb=\endbeforebar, \endofword, \endofsyllable=.
\begin{argtable}
- \#1 & & next syllable type (\#7 of \verb=\GreSyllable=)\\
- \#2 & string & next syllable text\\
- \#3 & 0 & this syllable is not the end of a word\\
- & 1 & this syllable is the end of a word\\
+ \#1 & & next syllable type (\#7 of \verb=\GreSyllable=)\\
+ \#2 & string & next syllable text\\
+ \#3 & 0 & this syllable is not the end of a word\\
+ & 1 & this syllable is the end of a word\\
\end{argtable}
\macroname{\textbackslash gre@typeout}{\#1}{gregoriotex.sty \textup{and} gregoriotex.tex}
@@ -911,6 +914,9 @@ Alias for \verb=\luatexlocalrightbox=.
\macroname{\textbackslash gre@resizebox}{}{gregoriotex-main.tex}
Alias for \verb=\resizebox=.
+\macroname{\textbackslash gre@dimension}{}{gregoriotex-spaces.tex}
+Workhorse function behind \verb=\grecreatedim= and \verb=\grechangedim=.
+
\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.
@@ -927,7 +933,7 @@ Macro for closing the auxiliary file.
Macro for writing the auxiliary file.
\begin{argtable}
- \#1 & string & contents to be written to the auxiliary file\\
+ \#1 & string & contents to be written to the auxiliary file\\
\end{argtable}
@@ -1073,9 +1079,9 @@ A class of macros for the horizontal episema which populates the \verb=\gre@box@
Flags are either boolean (defined with \verb=\newif=), Lua\TeX\ attributes, or counts (defined with \verb=\newcount=). They store settings and/or the current state of something so that Gregorio\TeX\ can typeset things in the desired manner.
-All distances in \nameref{distances} have a flag associated with them, of the form \verb=\gre@scale@*=. This flag
-indicates if the distance should scale when the staff size changes (1)
-or not (0).
+All distances in \nameref{distances} and \texttt{stafflinefactor} have a boolean associated with them, of the form \verb=\ifgre@scale@*=. This boolean
+indicates if the distance should scale when the staff size changes (true)
+or not (false).
\macroname{\textbackslash ifgre@checklength}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gresetdim= to indicate if we are attempting to set a rubber length.
@@ -1089,9 +1095,6 @@ Boolean used in \verb=\gre@changeonedimenfactor= as we test for the presence of
\macroname{\textbackslash ifgre@shrink}{}{gregoriotex-spaces.tex}
Boolean used in \verb=\gre@changeonedimenfactor= as we test for the presence of a shrink.
-\macroname{\textbackslash ifgre@vowelcentering}{}{gregoriotex-syllable.tex}
-Boolean used to specify whether the center of the vowel or the center of the syllable is used to align the lyrics with their neumes.
-
\macroname{\textbackslash ifgre@translationcentering}{}{gregoriotex-main.tex}
Boolean used to specify whether the translation text should be centered below its respective syllable.
@@ -1120,6 +1123,9 @@ Boolean to track whether we're placing the contents of syllable notes into their
\macroname{\textbackslash ifgre@mustdotranslationcenterend}{}{gregoriotex-main.tex}
Boolean to track whether we must do translation centering.
+\macroname{\textbackslash ifgre@beginningofscore}{}{gregoriotex-main.tex}
+Boolean to mark the first syllable of the score (set to true until we start work on the first syllable, false afterwards).
+
\macroname{\textbackslash ifgre@endofscore}{}{gregoriotex-syllable.tex}
Boolean to mark the last syllable of the score.
@@ -1354,26 +1360,29 @@ The left kern that should appear before an end of line.
\macroname{\textbackslash gre@dimen@bolshift}{}{gregoriotex-spaces.tex}
The left kern that should appear at the beginning of line in case of a forced line break.
+\macroname{\textbackslash gre@dimen@bolextra}{}{gregoriotex-spaces.tex}
+An extra space that is added to \verb=\gre@dimen@bolshift= when the first glyph is a flat or a natural.
+
\macroname{\textbackslash gre@dimen@annotationtrueraise}{}{gregoriotex-spaces.tex}
The distance from the baseline of the initial to the baseline of the annotation.
\macroname{\textbackslash gre@minTextDistance}{}{gregoriotex-spaces.tex}
-Minimum distance between text (meaningful alias for \verb=\gre@skip@temp@one= inside \verb=\gre@compute@syllablefinalskip=).
+Minimum distance between text (meaningful alias for \verb=\gre@skip@temp@one= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@minNotesDistance}{}{gregoriotex-spaces.tex}
-Minimum distance between notes (meaningful alias for \verb=\gre@skip@temp@two= inside \verb=\gre@compute@syllablefinalskip=).
+Minimum distance between notes (meaningful alias for \verb=\gre@skip@temp@two= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@curTextDistance}{}{gregoriotex-spaces.tex}
-Current distance between text (meaningful alias for \verb=\gre@dimen@temp@three= inside \verb=\gre@compute@syllablefinalskip=).
+Current distance between text (meaningful alias for \verb=\gre@dimen@temp@three= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@curNotesDistance}{}{gregoriotex-spaces.tex}
-Current distance between notes (meaningful alias for \verb=\gre@dimen@temp@four= inside \verb=\gre@compute@syllablefinalskip=).
+Current distance between notes (meaningful alias for \verb=\gre@dimen@temp@four= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@minShiftText}{}{gregoriotex-spaces.tex}
-Minimum shift required for the text (meaningful alias for \verb=\gre@skip@temp@three= inside \verb=\gre@compute@syllablefinalskip=).
+Minimum shift required for the text (meaningful alias for \verb=\gre@skip@temp@three= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@minShiftNotes}{}{gregoriotex-spaces.tex}
-Minimum shift required for the notes (meaningful alias for \verb=\gre@skip@temp@four= inside \verb=\gre@compute@syllablefinalskip=).
+Minimum shift required for the notes (meaningful alias for \verb=\gre@skip@temp@four= inside \verb=\gre@calculate@syllablefinalskip=).
\macroname{\textbackslash gre@save@parfillskip}{}{gregoriotex-main.tex}
Macro to store \verb=\parfillskip= value so that we can restore it at the end of the score (needed to force the last line of a score to be justified).
@@ -1392,21 +1401,21 @@ These are the macros that Gregorio\TeX\ uses to manipulate the penalties in orde
Top level function that aliases \verb=\gre@truepenalty= or \verb=\gre@falsepenalty= according to whether penalties should be in play or not.
\begin{argtable}
- \#1 & integer & The penalty to be applied or gobbled\\
+ \#1 & integer & The penalty to be applied or gobbled\\
\end{argtable}
\macroname{\textbackslash gre@truepenalty}{\#1}{gregoriotex-signs.tex}
Alias for \verb=\penalty=.
\begin{argtable}
- \#1 & integer & The penalty to be applied\\
+ \#1 & integer & The penalty to be applied\\
\end{argtable}
\macroname{\textbackslash gre@falsepenalty}{\#1}{gregoriotex-signs.tex}
Macro to gobble (suppress) its argument.
\begin{argtable}
- \#1 & integer & The penalty to be gobbled\\
+ \#1 & integer & The penalty to be gobbled\\
\end{argtable}
\macroname{\textbackslash gre@cancelpenalties}{}{gregoriotex-spaces.tex}
@@ -1495,23 +1504,23 @@ rather than have multiple definitions.
\subsection{Note Alignment Type}\label{notesalign}
\rowcolors{1}{lightgray}{lightgray}
-\begin{tabular}{cp{10.5cm plus .5cm}}
- \multicolumn{2}{c}{Integer with the following possibilities:} \\
- \hline
- 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, minor and maior\\
- 12 & divisio finalis
- \end{tabular}
+\begin{tabulary}{\textwidth}{cL}
+ \multicolumn{2}{c}{Integer with the following possibilities:} \\
+ \hline
+ 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, minor and maior\\
+ 12 & divisio finalis
+ \end{tabulary}
\subsection{Episemus Special}\label{EpisemusSpecial}
\definecolor{shadecolor}{named}{lightgray}%
@@ -1522,62 +1531,62 @@ rather than have multiple definitions.
\hrule
\vspace{-0.8\baselineskip}
\begin{description}
- \item[FinalPunctum] Last note, which is a standard punctum (works with pes).
- \item[FinalDeminutus] Same, but the last note is a deminutus.
- \item[PenultBeforePunctumWide] The note before the last note, which is a standard punctum.
- \item[PenultBeforeDeminutus] Idem, but the note is the note preceding a deminutus.
- \item[AntepenultBeforePunctum] The note before the note before the last note (for porrectus flexus).
- \item[AntepenultBeforeDeminutus] Idem, but when the two last notes are a deminutus.
- \item[InitialPunctum] The first note, if it is a standard punctum.
- \item[InitioDebilis] The first note, if it is an initio debilis.
- \item[PorrNonAuctusInitialWide] first note of a non-auctus porrectus with a second ambitus of at least two.
- \item[PorrNonAuctusInitialOne] first note of a non-auctus porrectus with a second ambitus of one
- \item[PorrAuctusInitialAny] first note of an auctus porrectus, regardless of second ambitus
- \item[FinalInclinatum] punctum inclinatum as last note
- \item[FinalInclinatumDeminutus] punctum inclinatum deminutus as last note
- \item[FinalStropha] stropha as last note
- \item[FinalQuilisma] quilisma as last note
- \item[FinalOriscus] oriscus as last note
- \item[PenultBeforePunctumOne] second-to-last note, with a second ambitus of one, when last note is a standard punctum (like the second note of ghg)
- \item[FinalUpperPunctum] "upper smaller punctum" as last note (concerning simple podatus, podatus, and torculus resupinus)
- \item[InitialOriscus] oriscus as first note, disconnected from next note
- \item[InitialQuilisma] quilisma as first note, disconnected from next note
- \item[TorcResNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of at least two
- \item[TorcResNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of one and a second ambitus of at least two
- \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[BarVirgula] 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
- \item[TorcResQuilismaNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of one and and second ambitus of at least two
- \item[TorcResOriscusNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of one and and second ambitus of at least two
- \item[TorcResNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and a second ambitus of one
- \item[TorcResDebilisNonAuctusSecondAnyOne] second note of a non-auctus torculus resupinus initio debilis with any first ambitus and a second ambitus of one
- \item[TorcResQuilismaNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and a second ambitus of one
- \item[TorcResOriscusNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and a second ambitus of one
- \item[TorcResNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of one
- \item[TorcResQuilismaNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first and second ambitus of one
- \item[TorcResOriscusNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first and second ambitus of one
- \item[TorcResAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and any second ambitus
- \item[TorcResDebilisAuctusSecondAnyAny] second note of an auctus torculus resupinus initio debilis with any first and second ambitus
- \item[TorcResQuilismaAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and any second ambitus
- \item[TorcResOriscusAuctusSecondWideAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and any second ambitus
- \item[TorcResAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of one and any second ambitus
- \item[TorcResQuilismaAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of one and any second ambitus
- \item[TorcResOriscusAuctusSecondOneAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of one and any second ambitus
- \item[ConnectedPenultBeforePunctumWide] second-to-last note connected to prior note, with a second ambitus of at least two, when last note is a standard punctum (like the second note of \textit{gig})
- \item[ConnectedPenultBeforePunctumOne] second-to-last note connected to prior note, with a second ambitus of one, when last note is a standard punctum (like the second note of \textit{gih})
- \item[InitialConnectedPunctum] standard punctum as first note, connected to next higher note
- \item[InitialConnectedVirga] "virga" as first note, connected to next lower note
- \item[InitialConnectedQuilisma] quilisma as first note, connected to next higher note
- \item[InitialConnectedOriscus] oriscus as first note, connected to next higher note
- \item[FinalConnectedPunctum] punctum as last note, connected to prior higher note
- \item[FinalConnectedAuctus] auctus as last note, connected to prior lower note
- \item[FinalVirgaAuctus] virga aucta as last note
- \item[FinalConnectedVirga] "virga" as last note, connected to prior lower note
- \item[InitialVirga] "virga" as first note, disconnected from next note
+ \item[FinalPunctum] Last note, which is a standard punctum (works with pes).
+ \item[FinalDeminutus] Same, but the last note is a deminutus.
+ \item[PenultBeforePunctumWide] The note before the last note, which is a standard punctum.
+ \item[PenultBeforeDeminutus] Idem, but the note is the note preceding a deminutus.
+ \item[AntepenultBeforePunctum] The note before the note before the last note (for porrectus flexus).
+ \item[AntepenultBeforeDeminutus] Idem, but when the two last notes are a deminutus.
+ \item[InitialPunctum] The first note, if it is a standard punctum.
+ \item[InitioDebilis] The first note, if it is an initio debilis.
+ \item[PorrNonAuctusInitialWide] first note of a non-auctus porrectus with a second ambitus of at least two.
+ \item[PorrNonAuctusInitialOne] first note of a non-auctus porrectus with a second ambitus of one
+ \item[PorrAuctusInitialAny] first note of an auctus porrectus, regardless of second ambitus
+ \item[FinalInclinatum] punctum inclinatum as last note
+ \item[FinalInclinatumDeminutus] punctum inclinatum deminutus as last note
+ \item[FinalStropha] stropha as last note
+ \item[FinalQuilisma] quilisma as last note
+ \item[FinalOriscus] oriscus as last note
+ \item[PenultBeforePunctumOne] second-to-last note, with a second ambitus of one, when last note is a standard punctum (like the second note of ghg)
+ \item[FinalUpperPunctum] "upper smaller punctum" as last note (concerning simple podatus, podatus, and torculus resupinus)
+ \item[InitialOriscus] oriscus as first note, disconnected from next note
+ \item[InitialQuilisma] quilisma as first note, disconnected from next note
+ \item[TorcResNonAuctusSecondWideWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of at least two
+ \item[TorcResNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of one and a second ambitus of at least two
+ \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[BarVirgula] 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
+ \item[TorcResQuilismaNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of one and and second ambitus of at least two
+ \item[TorcResOriscusNonAuctusSecondOneWide] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of one and and second ambitus of at least two
+ \item[TorcResNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and a second ambitus of one
+ \item[TorcResDebilisNonAuctusSecondAnyOne] second note of a non-auctus torculus resupinus initio debilis with any first ambitus and a second ambitus of one
+ \item[TorcResQuilismaNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and a second ambitus of one
+ \item[TorcResOriscusNonAuctusSecondWideOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and a second ambitus of one
+ \item[TorcResNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a punctum, with a first and second ambitus of one
+ \item[TorcResQuilismaNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with a quilisma, with a first and second ambitus of one
+ \item[TorcResOriscusNonAuctusSecondOneOne] second note of a non-auctus torculus resupinus starting with an oriscus, with a first and second ambitus of one
+ \item[TorcResAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of at least two and any second ambitus
+ \item[TorcResDebilisAuctusSecondAnyAny] second note of an auctus torculus resupinus initio debilis with any first and second ambitus
+ \item[TorcResQuilismaAuctusSecondWideAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of at least two and any second ambitus
+ \item[TorcResOriscusAuctusSecondWideAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of at least two and any second ambitus
+ \item[TorcResAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a punctum, with a first ambitus of one and any second ambitus
+ \item[TorcResQuilismaAuctusSecondOneAny] second note of an auctus torculus resupinus starting with a quilisma, with a first ambitus of one and any second ambitus
+ \item[TorcResOriscusAuctusSecondOneAny] second note of an auctus torculus resupinus starting with an oriscus, with a first ambitus of one and any second ambitus
+ \item[ConnectedPenultBeforePunctumWide] second-to-last note connected to prior note, with a second ambitus of at least two, when last note is a standard punctum (like the second note of \textit{gig})
+ \item[ConnectedPenultBeforePunctumOne] second-to-last note connected to prior note, with a second ambitus of one, when last note is a standard punctum (like the second note of \textit{gih})
+ \item[InitialConnectedPunctum] standard punctum as first note, connected to next higher note
+ \item[InitialConnectedVirga] "virga" as first note, connected to next lower note
+ \item[InitialConnectedQuilisma] quilisma as first note, connected to next higher note
+ \item[InitialConnectedOriscus] oriscus as first note, connected to next higher note
+ \item[FinalConnectedPunctum] punctum as last note, connected to prior higher note
+ \item[FinalConnectedAuctus] auctus as last note, connected to prior lower note
+ \item[FinalVirgaAuctus] virga aucta as last note
+ \item[FinalConnectedVirga] "virga" as last note, connected to prior lower note
+ \item[InitialVirga] "virga" as first note, disconnected from next note
\end{description}
\end{shaded*}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Gabc.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Gabc.tex
index 64c5d97a32f..1d6c8a626d7 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Gabc.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Gabc.tex
@@ -1,3 +1,4 @@
+% !TEX root = GregorioRef.tex
\section{The GABC File}
gabc is a simple notation based exclusively on ASCII characters that
@@ -57,48 +58,47 @@ Here is a detailed description of each header field:
\begin{description}
\item[name] This is the name of the piece, in almost all cases the
- incipit, the first few words. In the case of the mass ordinary, the
- form as \texttt{Kyrie X Alme Pater} or \texttt{Sanctus XI} is
- recommended where appropriate. \textbf{This field is required.}
+ incipit, the first few words. In the case of the mass ordinary, the
+ form as \texttt{Kyrie X Alme Pater} or \texttt{Sanctus XI} is
+ recommended where appropriate. \textbf{This field is required.}
\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
- placed above the initial unless one of the following conditions are
- met:
- \begin{itemize}
- \item There is a \verb=\greannotation= defined immediatly prior to \verb=\gregorioscore=.
- \item The \texttt{annotation} header field is defined.
- \end{itemize}
+ number between 1 and 8, but may be any text required for unusual
+ cases. The mode number will be converted to roman numerals and
+ placed above the initial unless one of the following conditions are
+ met:
+ \begin{itemize}
+ \item There is a \verb=\greannotation= defined immediatly prior to \verb=\gregorioscore=.
+ \item The \texttt{annotation} header field is defined.
+ \end{itemize}
\item[annotation] The annotation is the text to appear above the
- initial letter. Usually this is an abbreviation of the office-part
- in the upper line, and an indication of the mode (and differentia
- for antiphons) in the lower. Either one or two annotation fields may
- be used; if two are used, the first is the upper line, the second
- the lower. Example:
- \begin{lstlisting}
- annotation:Ad Magnif.;
- annotation:VIII G;
- \end{lstlisting}
- Full \TeX markup is accepted:
- \begin{lstlisting}
- annotation:{\color{red}Ad Magnif.};
- annotation:{\color{red}VIII G};
- \end{lstlisting}
- If the user already defined annotation(s) in the main TeX file via
- \verb=\greannotation= then the \texttt{annotation} header field will not
- overwrite that definition.
+ initial letter. Usually this is an abbreviation of the office-part
+ in the upper line, and an indication of the mode (and differentia
+ for antiphons) in the lower. Either one or two annotation fields may
+ be used; if two are used, the first is the upper line, the second
+ the lower. Example:
+ \begin{lstlisting}
+ annotation:Ad Magnif.;
+ annotation:VIII G;
+ \end{lstlisting}
+ Full \TeX markup is accepted:
+ \begin{lstlisting}
+ annotation:{\color{red}Ad Magnif.};
+ annotation:{\color{red}VIII G};
+ \end{lstlisting}
+ If the user already defined annotation(s) in the main TeX file via
+ \verb=\greannotation= then the \texttt{annotation} header field will not
+ overwrite that definition.
\end{description}
\subsection{Lyric Centering}
Gregorio centers the text of each syllable around the first note of each
-syllable. There are two basic modes: \verb:\setlyriccentering{syllable}:
-and \verb:\setlyriccentering{vowel}:. In \texttt{syllable} mode, the
+syllable. There are three basic modes: \verb:syllable:, \verb:vowel:, and \verb:firstletter:, which are selected with the command \verb=\gresetlyriccentering{<mode>}=. In \texttt{syllable} mode, the
entire syllable is centered around the first note. This is common in
modern music. In \texttt{vowel} mode, the vowel sound of the syllable is
centered around the first note. This is common in most Gregorian chant
-books with text in Latin.\bigskip
+books with text in Latin. In \texttt{firstletter} mode, the first letter of the syllable is centered around the first note. While not a common choice, this was explicitly requested by a user and we try to be responsive to our user base.
The default rules built into Gregorio for \texttt{vowel} mode are for
Ecclesiatical Latin and work fairly well (though not perfectly) for
@@ -115,17 +115,17 @@ Latin rules. If multiple vowel files have the desired language,
Gregorio will use the first matching language section in the first
matching file, according to Kpathsea order. You may wish to enable
verbose output (by passing the \texttt{-v} argument to
-\texttt{gregorio}), if there is a problem, for more information.\bigskip
+\texttt{gregorio}), if there is a problem, for more information.
The vowel file is a list of statements, each starting with a keyword and
ending with a semicolon (\texttt{;}). Multiple statements with the same
keyword are allowed, and all will apply. Comments start with a hash
-symbol (\texttt{\#}) and end at the end of the line.\bigskip
+symbol (\texttt{\#}) and end at the end of the line.
In general, Gregorio does no case folding, so the keywords and language
names are case-sensitive and both upper- and lower-case characters
should be listed after the keywords if they should both be considered in
-their given categories.\bigskip
+their given categories.
The keywords are:
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef-4_0_0-beta2.pdf b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef-4_0_0-rc1.pdf
index 62b6eb82f03..62b6eb82f03 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef-4_0_0-beta2.pdf
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef-4_0_0-rc1.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef.tex
index e040e4da6b4..885976b562b 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioNabcRef.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioNabcRef.tex
@@ -2,9 +2,9 @@
\documentclass[a4paper]{article}
\usepackage{color}
-\usepackage{luacode}
\usepackage[margin=1cm]{geometry}
\usepackage{fontspec}
+\usepackage{luacode}
\usepackage{multicol}
\usepackage{fixltx2e}
\usepackage{hyperref}
@@ -22,25 +22,25 @@
\huge{nabc language for gregorio}
\end{center}
- \vspace{1.5cm}
- \begingroup%
- \gredefbarredsymbol{Vbar}{V}{greVBar}{9.5}{0.05em}{0pt}%
- \greannotation{\scriptsize{AL}}
- \greannotation{\scriptsize{II}}
- \color{black!60}
- \setmainfont[SmallCapsFont=AlegreyaSC]{Alegreya}%
- \addtolength{\hsize}{-4cm}%
- \setlength{\fboxsep}{5mm}%
- \begin{list}{}{%
- \setlength{\topsep}{0pt}%
- \setlength{\leftmargin}{1.5cm}%
- \setlength{\rightmargin}{1.5cm}%
- \setlength{\listparindent}{0pt}%
- \setlength{\itemindent}{0pt}%
- \setlength{\parsep}{0pt}%
- }\item[]{\fbox{\parbox{\hsize}{\gregorioscore[f]{veni}}}}%
- \end{list}%
- \endgroup%
+ \vspace{1.5cm}
+ \begingroup%
+ \gredefbarredsymbol{Vbar}{V}{greVBar}{9.5}{0.05em}{0pt}%
+ \greannotation{\scriptsize{AL}}
+ \greannotation{\scriptsize{II}}
+ \color{black!60}
+ \setmainfont[SmallCapsFont=AlegreyaSC]{Alegreya}%
+ \addtolength{\hsize}{-4cm}%
+ \setlength{\fboxsep}{5mm}%
+ \begin{list}{}{%
+ \setlength{\topsep}{0pt}%
+ \setlength{\leftmargin}{1.5cm}%
+ \setlength{\rightmargin}{1.5cm}%
+ \setlength{\listparindent}{0pt}%
+ \setlength{\itemindent}{0pt}%
+ \setlength{\parsep}{0pt}%
+ }\item[]{\fbox{\parbox{\hsize}{\gregorioscore[f]{veni}}}}%
+ \end{list}%
+ \endgroup%
\vfill
\pagebreak
@@ -49,31 +49,31 @@
\gresetnabcfont{gregall}{8}
\def\neume#1{%
- \begingroup %
- \catcode`\~=12{}%
- \catcode`\@=11{}%
- \vbox{\hbox{\vspace{1mm}}\hbox{\noindent\GreNABCChar{#1}\hspace{1mm}}%
- \hbox{\vspace{1mm}}\hbox{\noindent{\fontsize{6}{6}\texttt{#1}\hspace{1mm}}}}%
- \endgroup %
+ \begingroup %
+ \catcode`\~=12{}%
+ \catcode`\@=11{}%
+ \vbox{\hbox{\vspace{1mm}}\hbox{\noindent\GreNABCChar{#1}\hspace{1mm}}%
+ \hbox{\vspace{1mm}}\hbox{\noindent{\fontsize{6}{6}\texttt{#1}\hspace{1mm}}}}%
+ \endgroup %
}
\def\neumer#1{%
- \begingroup %
- \catcode`\~=12{}%
- \catcode`\@=11{}%
- \vbox{\hbox{\vspace{1mm}}\hbox{\noindent\hspace{8mm}\GreNABCChar{#1}\hspace{1mm}}%
- \hbox{\vspace{1mm}}\hbox{\noindent{\fontsize{6}{6}\texttt{#1}\hspace{1mm}}}}%
- \endgroup %
+ \begingroup %
+ \catcode`\~=12{}%
+ \catcode`\@=11{}%
+ \vbox{\hbox{\vspace{1mm}}\hbox{\noindent\hspace{8mm}\GreNABCChar{#1}\hspace{1mm}}%
+ \hbox{\vspace{1mm}}\hbox{\noindent{\fontsize{6}{6}\texttt{#1}\hspace{1mm}}}}%
+ \endgroup %
}
\def\sneume#1{%
- \begingroup %
- \catcode`\~=12{}%
- \catcode`\@=11{}%
- \font\grefontnabc={name:gregall} at 6pt\grefontnabc\begin{gre@style@nabc}%
- \directlua{tex.sprint(gregoriotex.nabc_font_tables["gregall"]["\luatexluaescapestring{#1}"] or "")}%
- \end{gre@style@nabc}%
- \endgroup %
+ \begingroup %
+ \catcode`\~=12{}%
+ \catcode`\@=11{}%
+ \font\grefontnabc={name:gregall} at 6pt\grefontnabc\begin{gre@style@nabc}%
+ \directlua{tex.sprint(gregoriotex.nabc_font_tables["gregall"]["\luatexluaescapestring{#1}"] or "")}%
+ \end{gre@style@nabc}%
+ \endgroup %
}
{
@@ -120,10 +120,10 @@ The \textit{horizontal spacing adjustment descriptor}
consists of a sequence of horizontal spacing adjustment characters
\texttt{/} and \texttt{`}.
\begin{itemize}
- \item \texttt{//} move by \texttt{nabclargerspace} skip to the right
- \item \texttt{/} move by \texttt{nabcinterelementspace} skip to the right
- \item \texttt{``} move by \texttt{nabclargerspace} skip to the left
- \item \texttt{`} move by \texttt{nabcinterelementspace} skip to the left
+ \item \texttt{//} move by \texttt{nabclargerspace} skip to the right
+ \item \texttt{/} move by \texttt{nabcinterelementspace} skip to the right
+ \item \texttt{``} move by \texttt{nabclargerspace} skip to the left
+ \item \texttt{`} move by \texttt{nabcinterelementspace} skip to the left
\end{itemize}
The \textit{complex glyph descriptor} consists of a \textit{glyph descriptor},
@@ -171,12 +171,12 @@ following table:
The \texttt{glyph modifiers} is a possibly empty sequence of following
characters optionally followed by a number:
\begin{itemize}
- \item \texttt{S} modification of the mark
- \item \texttt{G} modification of the grouping (neumatic break)
- \item \texttt{M} melodic modification
- \item \texttt{-} addition of episema
- \item \texttt{>} augmentive liquescence
- \item ~~\texttt{\~} diminutive liquescence
+ \item \texttt{S} modification of the mark
+ \item \texttt{G} modification of the grouping (neumatic break)
+ \item \texttt{M} melodic modification
+ \item \texttt{-} addition of episema
+ \item \texttt{>} augmentive liquescence
+ \item ~~\texttt{\~} diminutive liquescence
\end{itemize}
If Dom Cardine's table contains multiple glyphs with the same modifiers,
a positive number is added afterwards. E.g.\ for augmentive liquescent
@@ -203,12 +203,12 @@ optionally by a modifier letter from the following table and finally a mandatory
positive number of repetitions. If the modifier letter is missing, it is a
punctum.
\begin{itemize}
- \item \texttt{t} \sneume{ta} tractulus
- \item \texttt{u} \sneume{ta-} tractulus with episema
- \item \texttt{v} \sneume{suv1} tractulus with double episema
- \item \texttt{w} \sneume{gr} gravis
- \item \texttt{x} \sneume{st>} liquescens stropha
- \item \texttt{y} \sneume{gr-} gravis with episema
+ \item \texttt{t} \sneume{ta} tractulus
+ \item \texttt{u} \sneume{ta-} tractulus with episema
+ \item \texttt{v} \sneume{suv1} tractulus with double episema
+ \item \texttt{w} \sneume{gr} gravis
+ \item \texttt{x} \sneume{st>} liquescens stropha
+ \item \texttt{y} \sneume{gr-} gravis with episema
\end{itemize}
Only subpunctis are normally used in neume classification, the prepunctis is
a \texttt{nabc} concept to describe the rising sequence of punctis, tractulis
@@ -378,40 +378,40 @@ Table with nabc strings and corresponding gregall and gresgmodern glyphs:
\end{center}
\begin{luacode*}
- local i
- local last
- local key
- local str
- local keym
- local arr = {}
- for key in pairs(gregoriotex.nabc_font_tables['gregall']) do
- table.insert(arr, key)
- end
- for key in pairs(gregoriotex.nabc_font_tables['gresgmodern']) do
- table.insert(arr, key)
- end
- table.sort(arr)
- tex.sprint("\\begin{multicols}{3}\\noindent");
- for i, key in ipairs(arr) do
- if last ~= key then
- last = key
- keym = key:gsub("~","\\~{}")
- str = keym .. "\\hfill"
- if gregoriotex.nabc_font_tables['gregall'][key] then
- str = str .. "{\\font\\grefontnabc={name:gregall} at 8pt\\grefontnabc\\begin{gre@style@nabc}" .. gregoriotex.nabc_font_tables['gregall'][key] .. "\\end{gre@style@nabc}}"
- else
- str = str .. "{\\color{blue}missing}"
- end
- str = str .. "\\hfill"
- if gregoriotex.nabc_font_tables['gresgmodern'][key] then
- str = str .. "{\\font\\grefontnabc={name:gresgmodern} at 8pt\\grefontnabc\\begin{gre@style@nabc}" .. gregoriotex.nabc_font_tables['gresgmodern'][key] .. "\\end{gre@style@nabc}}"
- else
- str = str .. "{\\color{blue}missing}"
- end
- tex.sprint(str .. "\\\\")
- end
- end
- tex.sprint("\\end{multicols}")
+ local i
+ local last
+ local key
+ local str
+ local keym
+ local arr = {}
+ for key in pairs(gregoriotex.nabc_font_tables['gregall']) do
+ table.insert(arr, key)
+ end
+ for key in pairs(gregoriotex.nabc_font_tables['gresgmodern']) do
+ table.insert(arr, key)
+ end
+ table.sort(arr)
+ tex.sprint("\\begin{multicols}{3}\\noindent");
+ for i, key in ipairs(arr) do
+ if last ~= key then
+ last = key
+ keym = key:gsub("~","\\~{}")
+ str = keym .. "\\hfill"
+ if gregoriotex.nabc_font_tables['gregall'][key] then
+ str = str .. "{\\font\\grefontnabc={name:gregall} at 8pt\\grefontnabc\\begin{gre@style@nabc}" .. gregoriotex.nabc_font_tables['gregall'][key] .. "\\end{gre@style@nabc}}"
+ else
+ str = str .. "{\\color{blue}missing}"
+ end
+ str = str .. "\\hfill"
+ if gregoriotex.nabc_font_tables['gresgmodern'][key] then
+ str = str .. "{\\font\\grefontnabc={name:gresgmodern} at 8pt\\grefontnabc\\begin{gre@style@nabc}" .. gregoriotex.nabc_font_tables['gresgmodern'][key] .. "\\end{gre@style@nabc}}"
+ else
+ str = str .. "{\\color{blue}missing}"
+ end
+ tex.sprint(str .. "\\\\")
+ end
+ end
+ tex.sprint("\\end{multicols}")
\end{luacode*}
\vfill
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef-4_0_0-beta2.pdf b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef-4_0_0-rc1.pdf
index 63adfd5bdb7..63adfd5bdb7 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef-4_0_0-beta2.pdf
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef-4_0_0-rc1.pdf
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.lua b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.lua
index e48041f92f4..e48041f92f4 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.lua
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.lua
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.tex
index 16a8c3c455e..a54675e0f7b 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/GregorioRef.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/GregorioRef.tex
@@ -4,32 +4,34 @@
\usepackage{fontspec}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont[
- BoldFont=LinLibertineOZ,
- BoldItalicFont=LinLibertineOZI,
- SmallCapsFont=LinLibertineO,
- SmallCapsFeatures={Letters=SmallCaps},
+ BoldFont=LinLibertineOZ,
+ BoldItalicFont=LinLibertineOZI,
+ SmallCapsFont=LinLibertineO,
+ SmallCapsFeatures={Letters=SmallCaps},
]{LinuxLibertineO}
\setsansfont[Extension=.otf,
- BoldFont=LinBiolinum_RB,
- ItalicFont=LinBiolinum_RI,
- BoldItalicFont=LinBiolinum_RB,% fake
- SmallCapsFont=LinBiolinum_R,
- SmallCapsFeatures={Letters=SmallCaps},
- ]{LinBiolinum_R}
+ BoldFont=LinBiolinum_RB,
+ ItalicFont=LinBiolinum_RI,
+ BoldItalicFont=LinBiolinum_RB,% fake
+ SmallCapsFont=LinBiolinum_R,
+ SmallCapsFeatures={Letters=SmallCaps},
+ ]{LinBiolinum_R}
\setmonofont[Extension=.otf,
- ItalicFont=Inconsolatazi4-Regular,
- BoldFont=Inconsolatazi4-Bold,
- BoldItalicFont=Inconsolatazi4-Bold,
- AutoFakeSlant,
- ItalicFeatures={FakeSlant},
- BoldItalicFeatures={FakeSlant}
- ]{Inconsolatazi4-Regular}
+ ItalicFont=Inconsolatazi4-Regular,
+ BoldFont=Inconsolatazi4-Bold,
+ BoldItalicFont=Inconsolatazi4-Bold,
+ AutoFakeSlant,
+ ItalicFeatures={FakeSlant},
+ BoldItalicFeatures={FakeSlant}
+ ]{Inconsolatazi4-Regular}
\usepackage{enumitem}
\usepackage{xspace}
\usepackage{multicol}
\usepackage{units}
\usepackage{framed}
\usepackage{url}
+\usepackage{tabulary}
+\usepackage{tabularx}
\usepackage{makeidx}
\makeindex
@@ -66,21 +68,22 @@
\newcommand*{\etc}{etc.\@\xspace}
\newcommand{\macroname}[3]{%
- \vspace{3.25ex plus 1ex minus .2ex}%
- \makebox[\linewidth]{\ttfamily\bfseries #1#2%
- \hspace{\fill}\normalfont\itshape #3}%
- \vspace{1.5ex plus .2ex}%
- \index{#1}}
- %\addcontentsline{toc}{subsubsection}{#1}}
+ \vspace{3.25ex plus 1ex minus .2ex}%
+ \pagebreak[3]%
+ \makebox[\linewidth]{\ttfamily\bfseries #1#2%
+ \hspace{\fill}\normalfont\itshape #3}%
+ \vspace{1.5ex plus .2ex}%
+ \index{#1}}
+ %\addcontentsline{toc}{subsubsection}{#1}}
\newcommand{\optional}[1]{{\itshape #1}}
\lstset{backgroundcolor=\color{lightgray},
- basicstyle=\small\ttfamily,
- numbers=left,
- numberstyle=\footnotesize,
- stepnumber=1,
- numbersep=5pt}
+ basicstyle=\small\ttfamily,
+ numbers=left,
+ numberstyle=\footnotesize,
+ stepnumber=1,
+ numbersep=5pt}
% for the character tables
\font\greciliae = {name:greciliae} at 1000000 sp\relax
@@ -93,59 +96,60 @@
\newcommand{\excluded}[1]{{\tiny\itshape #1}}
\newenvironment{argtable}{%
- \bigskip\rowcolors{1}{lightgray}{lightgray}
- \begin{tabular}{clp{10cm plus .5cm}}
- Arg & Value & Description \\
- \hline}%
- {\end{tabular}\bigskip}
+ \bigskip\rowcolors{1}{lightgray}{lightgray}
+ \tabularx{\textwidth}{clX}
+ Arg & Value & Description \\
+ \hline}%
+ {\endtabularx\bigskip}
\setlength{\parindent}{0mm} % Default is 15pt
\begin{document}
\begin{titlepage}
- \begin{center}
- \Huge
- \textcolor{myred}{Gregorio} and \textcolor{myred}{Gregorio\TeX}:
-
- Tools for gregorian score engraving.
-
- \vspace{1cm}
-
- \large Version \textbf{4.0.0-beta2},26 August 2015 %% PARSE_VERSION_DATE
-
- \vspace{1.5cm}
- \end{center}
- \gresetlinecolor{gregoriocolor}
- \def\grelowchoralsignstyle#1{{\cminfamily\small#1}}%
- \def\grehighchoralsignstyle#1{{\cminfamily\small#1}}%
- \def\GreStar{\greheightstar}%
- \greannotation{\scriptsize{Comm.}}%
- \greannotation{\scriptsize{VII}}%
- \begingroup%
- \color{black!60}%
- \setmainfont[SmallCapsFont=AlegreyaSC]{Alegreya}%
- \newlength{\mini}%
- \setlength{\mini}{\hsize}%
- \addtolength{\mini}{-4cm}%
- \setlength{\fboxsep}{5mm}%
- \hfill\fbox{\parbox{\mini}{\gregorioscore[f]{factus}}}\hfill%
- \endgroup
- \begin{center}
- \vspace{1.5cm}%
- \href{http://gregorio-project.github.io/}{Homepage}
-
- Source code available on
- \href{http://github.com/gregorio-project/gregorio}{GitHub}.
- \end{center}
-
- \vspace{2cm}
+ \begin{center}
+ \Huge
+ \textcolor{myred}{Gregorio} and \textcolor{myred}{Gregorio\TeX}:
+
+ Tools for gregorian score engraving.
+
+ \vspace{1cm}
+
+ \large Version \textbf{4.0.0-rc1}, 8 October 2015 %% PARSE_VERSION_DATE
+
+ \vspace{1.5cm}
+ \end{center}
+ \gresetlinecolor{gregoriocolor}
+ \grechangestyle{lowchoralsign}{\cminfamily\small}%
+ \grechangestyle{highchoralsign}{\cminfamily\small}%
+ \def\GreStar{\greheightstar}%
+ \greannotation{\scriptsize{Comm.}}%
+ \greannotation{\scriptsize{VII}}%
+ \begingroup%
+ \color{black!60}%
+ \setmainfont[SmallCapsFont=AlegreyaSC]{Alegreya}%
+ \newlength{\mini}%
+ \setlength{\mini}{\hsize}%
+ \addtolength{\mini}{-4cm}%
+ \setlength{\fboxsep}{5mm}%
+ \hfill\fbox{\parbox{\mini}{\gregorioscore[f]{factus}}}\hfill%
+ \endgroup
+ \begin{center}
+ \vspace{1.5cm}%
+ \href{http://gregorio-project.github.io/}{Homepage}
+
+ Source code available on
+ \href{http://github.com/gregorio-project/gregorio}{GitHub}.
+ \end{center}
+
+ \vspace{2cm}
\end{titlepage}
\cleardoublepage
\tableofcontents
+\setlength{\parskip}{\bigskipamount}
\cleardoublepage
\section{Gregorio\TeX{} Macros}
@@ -155,11 +159,12 @@ The following sections document the macros available in the Gregorio\TeX{} packa
Description of macro.
\begin{argtable}
- Arg \# & Data type & Description of argument\\
+ Arg \# & Data type & Description of argument\\
\end{argtable}
The source file where the macro is defined is included for developers
-who wish to consult it.\\
+who wish to consult it.
+
Some of the macros intended for inclusion in the main.tex file by the user
include usage examples.
@@ -177,9 +182,9 @@ Macros are divided into three groups:
\input{Gabc}
\begin{appendices}
- \renewcommand\thetable{\thesection\arabic{table}}
- \renewcommand\thefigure{\thesection\arabic{figure}}
- \input{Appendix_Font_Tables}
+ \renewcommand\thetable{\thesection\arabic{table}}
+ \renewcommand\thefigure{\thesection\arabic{figure}}
+ \input{Appendix_Font_Tables}
\end{appendices}
\addcontentsline{toc}{section}{Index}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Makefile.am b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Makefile.am
index 0c971c18a05..0c971c18a05 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/Makefile.am
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/README.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/README.md
new file mode 100644
index 00000000000..4bbd40f2dab
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/README.md
@@ -0,0 +1,19 @@
+Documentation for gregorio and gregoriotex
+==========================================
+
+This folder contains the source files of a manual is primarily intended for
+developers. Users should not expect to find an indepth guide on using gregorio.
+
+You can find a compiled PDF version in the files of each [Gregorio release](https://github.com/gregorio-project/gregorio/releases).
+
+Developers can use this manual as a reference for information on the
+internal workings of gregorio.
+
+## Building
+
+To compile the pdf you must have
+ * an up-to-date [TeXLive](https://www.tug.org/texlive/) system, with at least the `luatex` bundle and `latexmk`
+ * the [Linux Libertine](http://www.linuxlibertine.org/index.php?id=1&L=1) and [Inconsolata](http://www.levien.com/type/myfonts/inconsolata.html) fonts (distributed by TeXLive too)
+ * the [`pygments` library](http://pygments.org/)
+
+Once you have run `./configure` in the main directory, run `make doc` in this directory.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/factus.gabc b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/factus.gabc
index b152d5a8219..b152d5a8219 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/factus.gabc
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/factus.gabc
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/veni.gabc b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/veni.gabc
index a5ab3ab0b39..a5ab3ab0b39 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/doc/veni.gabc
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc/veni.gabc
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc_check.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc_check.sh
new file mode 100755
index 00000000000..fedb1437346
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/doc_check.sh
@@ -0,0 +1,118 @@
+#! /usr/bin/env bash
+
+# This script is used to compare the code base to the documentation and make
+# sure that the two match up.
+# It does this by creating two lists: one of all the macros defined in the TeX
+# code, and one of all the macros documented in the documentation (plus all the
+# macros in the code which are marked as deprecated or obsolete, and thus don't
+# need documentation. It then compares these two lists and outputs res.tex
+# which contains a list of undocumented macros (preceded by >) and macros which
+# are documented but which no longer appear in the code (preceded by <).
+
+# The script is not perfect, and especially has trouble with classes of macros
+# which have only one entry in the documentation.
+
+
+HERE=`pwd`
+
+CODEFILE=$HERE/code.txt
+DOCFILE=$HERE/doc.txt
+DIFFFILE=$HERE/diff.txt
+RESFILE=$HERE/res.txt
+
+#Extraction from code
+cd tex
+
+#find definitions
+grep -h '\\new[a-z]*\\.*' *.tex *.sty > $CODEFILE
+grep -hE '\\[gex]?def\\.*' *.tex *.sty >> $CODEFILE
+grep -hE '\\let\\.*' *.tex *.sty >> $CODEFILE
+grep -h '\\font\\' *.tex *.sty >> $CODEFILE
+
+#remove trailing comments
+gsed -i.temp 's/%.*$//' $CODEFILE
+
+#remove whitespace
+gsed -i.temp 's/^[ \t]*//;s/[ \t]*$//' $CODEFILE
+
+#remove new and trailing code
+sed -i.temp 's:.*\\new[a-z]*{*\(\\*[a-zA-Z@]*\)[\\}]*.*:\1:' $CODEFILE
+
+#remove def and definition
+sed -i.temp -E 's:.*\\[gex]?def[a-z]*(\\[a-zA-Z@]*)[#{[].*:\1:' $CODEFILE
+
+#remove let and definition
+sed -i.temp 's:.*\\let[a-z]*\(\\[a-zA-Z@]*\)\\.*:\1:' $CODEFILE
+
+#unwrap csname
+sed -i.temp 's:.*\(\\csname.*\\endcsname\).*:\1:' $CODEFILE
+
+#colors
+grep -hE '\\definecolor.*' *.sty >> $CODEFILE
+sed -i.temp 's:\\definecolor{\([a-zA-Z]*\)}.*:\1:' $CODEFILE
+
+#distances
+grep -h '\\grecreatedim{.*' gsp-default.tex >> $CODEFILE
+sed -i.temp 's:\\grecreatedim{\([a-z@]*\)}.*:\1:' $CODEFILE
+
+#styles
+sed -i.temp 's:\\endgre@style@::' $CODEFILE
+sed -i.temp 's:\\gre@style@::' $CODEFILE
+
+#fonts
+sed -i.temp 's:.*\\font\(\\.*\)=.*:\1:' $CODEFILE
+
+#alphabetize and remove duplicates
+sort -u -o$CODEFILE $CODEFILE
+
+
+#Extraction from documentation
+cd $HERE/doc
+
+grep -h '\\macroname.*' *.tex > $DOCFILE
+grep -h '\\stylename{.*' *.tex >> $DOCFILE
+
+#remove all but name
+sed -i.temp 's:\\macroname{\([^}]*\)}.*:\1:' $DOCFILE
+
+#replace TeX code with backslash
+sed -i.temp 's:\\textbackslash :\\:' $DOCFILE
+
+#styles
+sed -i.temp 's:.*\stylename{\([a-z]*\)}.*:\1:' $DOCFILE
+
+#Other things which need to be removed
+sed -i.temp 's:\\newcommand.*::' $DOCFILE
+sed -i.temp 's:MacroName::' $DOCFILE
+sed -i.temp 's:\\usepackage::' $DOCFILE
+
+#deprecated and obsolete functions (not in documentation because they don't need to be)
+cd $HERE/tex
+
+grep -h '\\gre@deprecated.*' *.tex | grep -v '\\def\\' >> $DOCFILE
+grep -h '\\gre@obsolete.*' *.tex | grep -v '\\def\\' >> $DOCFILE
+
+#remove whitespace
+gsed -i.temp 's/^[ \t]*//;s/[ \t]*$//' $DOCFILE
+
+sed -i.temp 's:\\gre@deprecated{\\protect::' $DOCFILE
+sed -i.temp 's:\\gre@obsolete{\\protect::' $DOCFILE
+sed -i.temp 's:}.*::' $DOCFILE
+
+#alphabetize and remove duplicates
+sort -u -o$DOCFILE $DOCFILE
+
+
+#find differences
+diff -B $DOCFILE $CODEFILE > $DIFFFILE
+
+grep -h '[<>]' $DIFFFILE > $RESFILE
+
+sort -u -o$RESFILE $RESFILE
+
+#cleanup
+rm $DOCFILE.temp
+rm $DOCFILE
+rm $CODEFILE.temp
+rm $CODEFILE
+rm $DIFFFILE
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/FactusEst.gabc b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/FactusEst.gabc
index fc4a467e5d2..fc4a467e5d2 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/FactusEst.gabc
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/FactusEst.gabc
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/Makefile.am b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/Makefile.am
index 2d75dfa24ea..2d75dfa24ea 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/Makefile.am
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/PopulusSion.gabc b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/PopulusSion.gabc
index bf1476914c6..bf1476914c6 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/PopulusSion.gabc
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/PopulusSion.gabc
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/main-lualatex.tex b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/main-lualatex.tex
index 64b2f3d6375..64b2f3d6375 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/examples/main-lualatex.tex
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/examples/main-lualatex.tex
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/install-gtex.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/install-gtex.sh
index d0183efae3e..d0183efae3e 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/install-gtex.sh
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/install-gtex.sh
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/install.sh b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/install.sh
index 91ff8e5ccc1..91ff8e5ccc1 100755
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/install.sh
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/install.sh
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_compile_flag.m4 b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_compile_flag.m4
index a7680d72ef8..a7680d72ef8 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_compile_flag.m4
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_compile_flag.m4
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_link_flag.m4 b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_link_flag.m4
index 9352950ed58..9352950ed58 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/ax_check_link_flag.m4
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/ax_check_link_flag.m4
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/pkg.m4 b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/pkg.m4
index 75a89ecfe73..75a89ecfe73 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/m4/pkg.m4
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/m4/pkg.m4
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/Makefile.am b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/Makefile.am
index 3d225213993..e2424dcbec7 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/Makefile.am
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/Makefile.am
@@ -45,14 +45,6 @@ gregorio_SOURCES = gregorio-utils.c characters.c characters.h \
@MK@ endif
@MK@endif
-if HAVE_RC
-# Windows resources (see windows/README.md)
-.rc.o:
- $(RC) $(RCFLAGS) $< -o $@
-
-gregorio_SOURCES += ../windows/gregorio-resources.rc
-endif
-
# gabc files
gregorio_SOURCES += gabc/gabc-elements-determination.c gabc/gabc-write.c \
gabc/gabc-glyphs-determination.c gabc/gabc.h \
@@ -81,6 +73,15 @@ EXTRA_DIST = encode_utf8strings.c utf8strings.h.in utf8strings.h \
vowel/vowel-rules.y \
vowel/vowel-rules-y.h vowel/vowel-rules-y.c
+if HAVE_RC
+# Windows resources (see windows/README.md)
+gregorio-resources.o: ../windows/gregorio-resources.rc ../windows/gregorio.ico
+ $(RC) $(RCFLAGS) $< -o $@
+
+gregorio_SOURCES += ../windows/gregorio-resources.rc ../windows/gregorio.ico
+gregorio_LDADD += gregorio-resources.o
+endif
+
gabc/gabc-score-determination-y.c: gabc/gabc-score-determination.y
$(YACC) -d -p "gabc_score_determination_" -o $@ $<
gabc/gabc-score-determination-y.h: gabc/gabc-score-determination-y.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/bool.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/bool.h
index 4ff2bc1386f..e32bade4d77 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/bool.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/bool.h
@@ -20,12 +20,8 @@
#ifndef BOOL_H
#define BOOL_H
-#ifdef HAVE__BOOL
-#include <stdbool.h>
-#else
typedef unsigned int bool;
#define true 1
#define false 0
-#endif
#endif
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.c
index 26cf20637af..13ecf577b4c 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.c
@@ -33,6 +33,7 @@
#include <errno.h>
#include <limits.h>
#include <sys/stat.h>
+#include <assert.h>
#ifdef USE_KPSE
#include <kpathsea/kpathsea.h>
#endif
@@ -230,6 +231,98 @@ static void determine_center(gregorio_character *character, int *start,
free(subject);
}
+static bool go_to_end_initial(gregorio_character **param_character)
+{
+ bool has_initial = false;
+ gregorio_character *current_character = *param_character;
+ if (!current_character) {
+ return false;
+ }
+ gregorio_go_to_first_character(&current_character);
+ /* skip past any initial */
+ if (!current_character->is_character
+ && current_character->cos.s.type == ST_T_BEGIN
+ && current_character->cos.s.style == ST_INITIAL) {
+ has_initial = true;
+ while (current_character) {
+ if (!current_character->is_character
+ && current_character->cos.s.type == ST_T_END
+ && current_character->cos.s.style == ST_INITIAL) {
+ break;
+ }
+ current_character = current_character->next_character;
+ }
+ }
+ (*param_character) = current_character;
+ return has_initial;
+}
+
+/*
+ * The push function pushes a style in the stack, and updates first_style to
+ * this element.
+ */
+
+static void style_push(det_style **current_style, unsigned char style)
+{
+ det_style *element;
+ if (!current_style) {
+ return;
+ }
+ element = (det_style *) malloc(sizeof(det_style));
+ element->style = style;
+ element->previous_style = NULL;
+ element->next_style = (*current_style);
+ if (*current_style) {
+ (*current_style)->previous_style = element;
+ }
+ (*current_style) = element;
+}
+
+/*
+ * Pop deletes an style in the stack (the style to delete is the parameter)
+ */
+
+static void style_pop(det_style **first_style, det_style *element)
+{
+ if (!element || !first_style || !*first_style) {
+ return;
+ }
+ if (element->previous_style) {
+ element->previous_style->next_style = element->next_style;
+ if (element->next_style) {
+ element->next_style->previous_style = element->previous_style;
+ }
+ } else {
+ if (element->next_style) {
+ element->next_style->previous_style = NULL;
+ (*first_style) = element->next_style;
+ } else {
+ (*first_style) = NULL;
+ }
+ }
+ free(element);
+}
+
+/*
+ * free_styles just free the stack. You may notice that it will never be used
+ * in a normal functionment. But we never know...
+ */
+
+static void free_styles(det_style **first_style)
+{
+ det_style *current_style;
+ if (!first_style) {
+ return;
+ }
+ current_style = (*first_style);
+ while (current_style) {
+ current_style = current_style->next_style;
+ free((*first_style));
+ (*first_style) = current_style;
+ }
+}
+
+
/*
* inline function that will be used for verbatim and special-characters in the
*
@@ -238,7 +331,8 @@ static void determine_center(gregorio_character *character, int *start,
* end of the verbatim or special_char charachters.
*/
static __inline void verb_or_sp(gregorio_character **ptr_character,
- grestyle_style style, FILE *f, void (*function) (FILE *, grewchar *))
+ const grestyle_style style, FILE *const f,
+ void (*const function) (FILE *, grewchar *))
{
int i, j;
grewchar *text;
@@ -298,13 +392,13 @@ static __inline void verb_or_sp(gregorio_character **ptr_character,
* complex styles. It would be a bit stupid to do such a thing, but users are
* usually very creative when it comes to inventing twisted things...
*/
-void gregorio_write_text(bool skip_initial,
+void gregorio_write_text(const bool skip_initial,
gregorio_character *current_character,
- FILE *f, void (*printverb) (FILE *, grewchar *),
- void (*printchar) (FILE *, grewchar),
- void (*begin) (FILE *, grestyle_style),
- void (*end) (FILE *, grestyle_style),
- void (*printspchar) (FILE *, grewchar *))
+ FILE *const f, void (*const printverb) (FILE *, grewchar *),
+ void (*const printchar) (FILE *, grewchar),
+ void (*const begin) (FILE *, grestyle_style),
+ void (*const end) (FILE *, grestyle_style),
+ void (*const printspchar) (FILE *, grewchar *))
{
if (current_character == NULL) {
return;
@@ -351,14 +445,137 @@ void gregorio_write_text(bool skip_initial,
}
}
+void gregorio_write_first_letter_alignment_text(const bool skip_initial,
+ gregorio_character *current_character,
+ FILE *const f, void (*const printverb) (FILE *, grewchar *),
+ void (*const printchar) (FILE *, grewchar),
+ void (*const begin) (FILE *, grestyle_style),
+ void (*const end) (FILE *, grestyle_style),
+ void (*const printspchar) (FILE *, grewchar *))
+{
+ /* stack of styles to close and reopen */
+ det_style *first_style = NULL;
+ det_style *last_style = NULL;
+ bool first_letter_open = true;
+
+ if (!current_character) {
+ return;
+ }
+
+ /* go to the first character */
+ if (go_to_end_initial(&current_character)) {
+ if (!current_character->next_character) {
+ return;
+ }
+ if (skip_initial) {
+ /* move to the character after the initial */
+ current_character = current_character->next_character;
+ } else {
+ gregorio_go_to_first_character(&current_character);
+ }
+ }
+
+ begin(f, ST_SYLLABLE_INITIAL);
+
+ /* loop until there are no characters left */
+ for (; current_character;
+ current_character = current_character->next_character) {
+ bool close_first_letter = false;
+ /* found a real character */
+ if (current_character->is_character) {
+ printchar(f, current_character->cos.character);
+ close_first_letter = first_letter_open;
+ } else switch (current_character->cos.s.type) {
+ case ST_T_NOTHING:
+ assert(false);
+ break;
+ case ST_T_BEGIN:
+ /* handle styles */
+ switch (current_character->cos.s.style) {
+ case ST_CENTER:
+ case ST_FORCED_CENTER:
+ case ST_INITIAL:
+ /* ignore */
+ break;
+ case ST_VERBATIM:
+ verb_or_sp(&current_character, ST_VERBATIM, f, printverb);
+ close_first_letter = first_letter_open;
+ break;
+ case ST_SPECIAL_CHAR:
+ verb_or_sp(&current_character, ST_SPECIAL_CHAR, f, printspchar);
+ close_first_letter = first_letter_open;
+ break;
+ default:
+ /* push the style onto the stack */
+ style_push(&first_style, current_character->cos.s.style);
+ begin(f, current_character->cos.s.style);
+ }
+ break;
+ case ST_T_END:
+ switch (current_character->cos.s.style) {
+ case ST_CENTER:
+ case ST_FORCED_CENTER:
+ case ST_INITIAL:
+ /* ignore */
+ break;
+ case ST_VERBATIM:
+ case ST_SPECIAL_CHAR:
+ assert(false);
+ break;
+ default:
+ /* pop the style from the stack */
+ assert(first_style->style == current_character->cos.s.style);
+ style_pop(&first_style, first_style);
+ end(f, current_character->cos.s.style);
+ }
+ break;
+ }
+
+ if (close_first_letter) {
+ first_letter_open = false;
+
+ /* close all the styles in the stack */
+ if (first_style) {
+ det_style *current_style;
+ /* these are immediately closed, so go past them */
+ while (first_style && current_character
+ && current_character->next_character
+ && !current_character->next_character->is_character
+ && current_character->next_character->cos.s.type
+ == ST_T_END
+ && current_character->next_character->cos.s.style
+ == first_style->style) {
+ current_character = current_character->next_character;
+ style_pop(&first_style, first_style);
+ end(f, current_character->cos.s.style);
+ }
+ for (current_style = first_style; current_style;
+ current_style = current_style->next_style) {
+ end(f, current_style->style);
+ last_style = current_style;
+ }
+ }
+
+ end(f, ST_SYLLABLE_INITIAL);
+
+ /* reopen all styles */
+ for (; last_style; last_style = last_style->previous_style) {
+ begin(f, last_style->style);
+ }
+ }
+ }
+
+ free_styles(&first_style);
+}
+
/* the default behaviour is to write only the initial, that is to say things
* between the styles ST_INITIAL */
void gregorio_write_initial(gregorio_character *current_character,
- FILE *f, void (*printverb) (FILE *, grewchar *),
- void (*printchar) (FILE *, grewchar),
- void (*begin) (FILE *, grestyle_style),
- void (*end) (FILE *, grestyle_style),
- void (*printspchar) (FILE *, grewchar *))
+ FILE *const f, void (*const printverb) (FILE *, grewchar *),
+ void (*const printchar) (FILE *, grewchar),
+ void (*const begin) (FILE *, grestyle_style),
+ void (*const end) (FILE *, grestyle_style),
+ void (*const printspchar) (FILE *, grewchar *))
{
/* we loop until we see the beginning of the initial style */
gregorio_go_to_first_character(&current_character);
@@ -475,76 +692,13 @@ gregorio_character *gregorio_first_text(gregorio_score *score)
*/
/*
- * The push function pushes a style in the stack, and updates first_style to
- * this element.
- */
-
-static void gregorio_style_push(det_style **current_style, unsigned char style)
-{
- det_style *element;
- if (!current_style) {
- return;
- }
- element = (det_style *) malloc(sizeof(det_style));
- element->style = style;
- element->previous_style = NULL;
- element->next_style = (*current_style);
- if (*current_style) {
- (*current_style)->previous_style = element;
- }
- (*current_style) = element;
-}
-
-/*
- * Pop deletes an style in the stack (the style to delete is the parameter)
- */
-
-static void gregorio_style_pop(det_style **first_style, det_style *element)
-{
- if (!element || !first_style || !*first_style) {
- return;
- }
- if (element->previous_style) {
- element->previous_style->next_style = element->next_style;
- } else {
- if (element->next_style) {
- element->next_style->previous_style = element->previous_style;
- (*first_style) = element->next_style;
- } else {
- (*first_style) = NULL;
- }
- }
- free(element);
-}
-
-/*
- * free_styles just free the stack. You may notice that it will never be used
- * in a normal functionment. But we never know...
- */
-
-static void gregorio_free_styles(det_style **first_style)
-{
- det_style *current_style;
- if (!first_style) {
- return;
- }
- current_style = (*first_style);
- while (current_style) {
- current_style = current_style->next_style;
- free((*first_style));
- (*first_style) = current_style;
- }
-}
-
-
-/*
*
* This function inserts a style before current_character, updating the double
* chained list.
*
*/
-static void gregorio_insert_style_before(unsigned char type,
+static void insert_style_before(unsigned char type,
unsigned char style, gregorio_character *current_character)
{
gregorio_character *element =
@@ -568,7 +722,7 @@ static void gregorio_insert_style_before(unsigned char type,
*
*/
-static void gregorio_insert_style_after(unsigned char type, unsigned char style,
+static void insert_style_after(unsigned char type, unsigned char style,
gregorio_character **current_character)
{
gregorio_character *element =
@@ -586,7 +740,7 @@ static void gregorio_insert_style_after(unsigned char type, unsigned char style,
}
#if 0
-static void gregorio_insert_char_after(grewchar c,
+static void insert_char_after(grewchar c,
gregorio_character **current_character)
{
gregorio_character *element =
@@ -610,7 +764,7 @@ static void gregorio_insert_char_after(grewchar c,
*
*/
-static void gregorio_suppress_current_character(
+static void suppress_current_character(
gregorio_character **current_character)
{
gregorio_character *thischaracter;
@@ -637,7 +791,7 @@ static void gregorio_suppress_current_character(
*
*/
-static void gregorio_suppress_this_character(gregorio_character *to_suppress)
+static void suppress_this_character(gregorio_character *to_suppress)
{
if (!to_suppress) {
return;
@@ -672,10 +826,9 @@ static __inline void close_style(gregorio_character *current_character,
* we suppose that there is a previous_character, because there is a
* current_style
*/
- gregorio_suppress_this_character(current_character->previous_character);
+ suppress_this_character(current_character->previous_character);
} else {
- gregorio_insert_style_before(ST_T_END, current_style->style,
- current_character);
+ insert_style_before(ST_T_END, current_style->style, current_character);
}
}
@@ -701,9 +854,9 @@ static __inline void end_center(grestyle_style type,
break;
}
}
- gregorio_insert_style_before(ST_T_END, type, current_character);
+ insert_style_before(ST_T_END, type, current_character);
while (current_style) {
- gregorio_insert_style_before(ST_T_BEGIN, current_style->style,
+ insert_style_before(ST_T_BEGIN, current_style->style,
current_character);
if (current_style->previous_style) {
current_style = current_style->previous_style;
@@ -733,9 +886,9 @@ static __inline void begin_center(grestyle_style type,
break;
}
}
- gregorio_insert_style_before(ST_T_BEGIN, type, current_character);
+ insert_style_before(ST_T_BEGIN, type, current_character);
while (current_style) {
- gregorio_insert_style_before(ST_T_BEGIN, current_style->style,
+ insert_style_before(ST_T_BEGIN, current_style->style,
current_character);
if (current_style->previous_style) {
current_style = current_style->previous_style;
@@ -780,15 +933,15 @@ static __inline bool _suppress_char_and_end_c(
{
if ((*ptr_character)->next_character) {
*ptr_character = (*ptr_character)->next_character;
- gregorio_suppress_this_character((*ptr_character)->previous_character);
+ suppress_this_character((*ptr_character)->previous_character);
/* continue */
return true;
} else {
if ((*ptr_character)->previous_character) {
(*ptr_character) = (*ptr_character)->previous_character;
- gregorio_suppress_this_character((*ptr_character)->next_character);
+ suppress_this_character((*ptr_character)->next_character);
} else {
- gregorio_suppress_this_character(*ptr_character);
+ suppress_this_character(*ptr_character);
*ptr_character = NULL;
}
/* break */
@@ -796,32 +949,6 @@ static __inline bool _suppress_char_and_end_c(
}
}
-static bool gregorio_go_to_end_initial(gregorio_character **param_character)
-{
- bool has_initial = false;
- gregorio_character *current_character = *param_character;
- if (!current_character) {
- return false;
- }
- gregorio_go_to_first_character(&current_character);
- /* skip past any initial */
- if (!current_character->is_character
- && current_character->cos.s.type == ST_T_BEGIN
- && current_character->cos.s.style == ST_INITIAL) {
- has_initial = true;
- while (current_character) {
- if (!current_character->is_character
- && current_character->cos.s.type == ST_T_END
- && current_character->cos.s.style == ST_INITIAL) {
- break;
- }
- current_character = current_character->next_character;
- }
- }
- (*param_character) = current_character;
- return has_initial;
-}
-
/*
* THE big function. Very long, using a lot of long macros, etc. I hope you
* really want to understand it, 'cause it won't be easy.
@@ -841,8 +968,6 @@ static bool gregorio_go_to_end_initial(gregorio_character **param_character)
void gregorio_rebuild_characters(gregorio_character **param_character,
gregorio_center_determination center_is_determined, bool skip_initial)
{
- /* a det_style, to walk through the list */
- det_style *current_style = NULL;
/* the current_character */
gregorio_character *current_character = *param_character;
/* a char that we will use in a very particular case */
@@ -852,14 +977,12 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
grestyle_style center_type = ST_NO_STYLE;
int start = -1, end = -1, index = -1;
/* so, here we start: we go to the first_character */
- if (gregorio_go_to_end_initial(&current_character)) {
+ if (go_to_end_initial(&current_character)) {
if (!current_character->next_character) {
/* nothing else to rebuild, but the initial needs to be ST_CENTER */
- gregorio_insert_style_after(ST_T_END, ST_CENTER,
- &current_character);
+ insert_style_after(ST_T_END, ST_CENTER, &current_character);
gregorio_go_to_first_character(&current_character);
- gregorio_insert_style_before(ST_T_BEGIN, ST_CENTER,
- current_character);
+ insert_style_before(ST_T_BEGIN, ST_CENTER, current_character);
gregorio_go_to_first_character(&current_character);
(*param_character) = current_character;
return;
@@ -884,12 +1007,12 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
* styles) */
if (current_character->is_character) {
++index;
- /* the firstcase is if the user has'nt determined the middle, and
+ /* the firstcase is if the user hasn't determined the middle, and
* we have only seen vowels so far (else center_is_determined
* would be DETERMINING_MIDDLE). The current_character is the
* first vowel, so we start the center here. */
if (!center_is_determined && index == start) {
- begin_center(center_type, current_character, &current_style);
+ begin_center(center_type, current_character, &first_style);
center_is_determined = CENTER_DETERMINING_MIDDLE;
end_c();
}
@@ -899,7 +1022,7 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
* there. */
if (center_is_determined == CENTER_DETERMINING_MIDDLE
&& index == end) {
- end_center(center_type, current_character, &current_style);
+ end_center(center_type, current_character, &first_style);
center_is_determined = CENTER_FULLY_DETERMINED;
}
/* in the case where it is just a normal character... we simply
@@ -914,12 +1037,13 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
/* first, if it it the beginning of a style, which is not center.
* We check if the style is not already in the stack. If it is the
* case, we suppress the character and pass (with the good macro) */
- while (current_style
- && current_style->style != current_character->cos.s.style) {
- current_style = current_style->next_style;
+ det_style *current_style = NULL;
+ for (current_style = first_style; current_style
+ && current_style->style != current_character->cos.s.style;
+ current_style = current_style->next_style) {
+ /* just loop */
}
if (current_style) {
- current_style = first_style;
suppress_char_and_end_c();
}
/* if we are determining the end of the middle and we have a
@@ -929,13 +1053,12 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
|| current_character->cos.s.style ==
ST_SPECIAL_CHAR)
&& center_is_determined == CENTER_DETERMINING_MIDDLE) {
- end_center(center_type, current_character, &current_style);
+ end_center(center_type, current_character, &first_style);
center_is_determined = CENTER_FULLY_DETERMINED;
}
/* if it is something to add then we just push the style in the
* stack and continue. */
- gregorio_style_push(&first_style, current_character->cos.s.style);
- current_style = first_style;
+ style_push(&first_style, current_character->cos.s.style);
/* Here we pass all the characters after a verbatim (or special
* char) beginning, until we find a style (begin or end) */
if (current_character->cos.s.style == ST_VERBATIM
@@ -966,7 +1089,7 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
}
/* center_is_determined = DETERMINING_MIDDLE; */
/* TODO: not really sure, but shouldn't be there */
- begin_center(center_type, current_character, &current_style);
+ begin_center(center_type, current_character, &first_style);
end_c();
}
if (current_character->cos.s.type == ST_T_END
@@ -975,44 +1098,43 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
/* the case of the end of a style (the most complex). First, we
* have to see if the style is in the stack. If there is no stack,
* we just suppress and continue. */
- if (!current_style) {
+ if (!first_style) {
suppress_char_and_end_c();
}
/* so, we look if it is in the stack. If it is we put
* current_style to the style just before the style corresponding
- * to the character that we are trating (still there ?) */
- if (current_style->style != current_character->cos.s.style) {
- while (current_style->next_style
+ * to the character that we are treating (still there ?) */
+ if (first_style->style != current_character->cos.s.style) {
+ det_style *current_style = NULL;
+ for (current_style = first_style; current_style->next_style
&& current_style->next_style->style !=
- current_character->cos.s.style) {
- current_style = current_style->next_style;
+ current_character->cos.s.style;
+ current_style = current_style->next_style) {
+ /* just loop */
}
if (current_style->next_style) {
- current_style = first_style;
- while (current_style) {
+ for (current_style = first_style; current_style;
+ current_style = current_style->previous_style) {
/* if there are styles before in the stack, we close
* them */
- gregorio_insert_style_before(ST_T_END,
- current_style->style, current_character);
- current_style = current_style->previous_style;
+ insert_style_before(ST_T_END, current_style->style,
+ current_character);
}
- current_style = first_style;
this_style = current_character->cos.s.style;
/* and then we reopen them */
- while (current_style && current_style->style != this_style) {
- gregorio_insert_style_after(ST_T_BEGIN,
- current_style->style, &current_character);
- current_style = current_style->next_style;
+ for (current_style = first_style; current_style &&
+ current_style->style != this_style;
+ current_style = current_style->next_style) {
+ insert_style_after(ST_T_BEGIN, current_style->style,
+ &current_character);
}
/* we delete the style in the stack */
- gregorio_style_pop(&first_style, current_style);
- current_style = first_style;
+ style_pop(&first_style, current_style);
} else {
suppress_char_and_end_c();
}
} else {
- gregorio_style_pop(&first_style, current_style);
- current_style = first_style;
+ style_pop(&first_style, first_style);
end_c();
}
} else { /* ST_T_END && ST_CENTER */
@@ -1027,32 +1149,37 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
return;
}
/* we terminate all the styles that are still in the stack */
- while (current_style) {
- gregorio_insert_style_after(ST_T_END, current_style->style,
- &current_character);
- current_style = current_style->next_style;
+ {
+ /* introduce a scope so current_style is local, since we can't
+ * initialize in the loop (as in C99) */
+ det_style *current_style = NULL;
+ for (current_style = first_style; current_style;
+ current_style = current_style->next_style) {
+ insert_style_after(ST_T_END, current_style->style,
+ &current_character);
+ }
}
/* current_character is at the end of the list now, so if we havn't closed
* the center, we do it at the end. */
if (center_is_determined != CENTER_FULLY_DETERMINED) {
- gregorio_insert_style_after(ST_T_END, center_type, &current_character);
+ insert_style_after(ST_T_END, center_type, &current_character);
}
/* these three lines are for the case where the user didn't tell anything
* about the middle and there aren't any vowel in the syllable, so we
* begin the center before the first character (you can notice that there
* is no problem of style). */
if (!center_is_determined) {
- if (skip_initial && gregorio_go_to_end_initial(&current_character)) {
+ if (skip_initial && go_to_end_initial(&current_character)) {
current_character = current_character->next_character;
} else {
gregorio_go_to_first_character(&current_character);
}
- gregorio_insert_style_before(ST_T_BEGIN, ST_CENTER, current_character);
+ insert_style_before(ST_T_BEGIN, ST_CENTER, current_character);
}
/* well.. you're quite brave if you reach this comment. */
gregorio_go_to_first_character(&current_character);
(*param_character) = current_character;
- gregorio_free_styles(&first_style);
+ free_styles(&first_style);
}
/**
@@ -1100,7 +1227,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
&& current_character == *param_character) {
*param_character = (*param_character)->next_character;
}
- gregorio_suppress_current_character(&current_character);
+ suppress_current_character(&current_character);
continue;
}
}
@@ -1116,11 +1243,9 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
/* we don't touch anything after a FORCED_CENTER, so we put an
* empty INITIAL style just before */
current_character = first_character;
- gregorio_insert_style_before(ST_T_BEGIN, ST_INITIAL,
- current_character);
+ insert_style_before(ST_T_BEGIN, ST_INITIAL, current_character);
current_character = current_character->previous_character;
- gregorio_insert_style_after(ST_T_END, ST_INITIAL,
- &current_character);
+ insert_style_after(ST_T_END, ST_INITIAL, &current_character);
break;
}
/* this if is a hack to make gregorio consider verbatim blocks and
@@ -1129,8 +1254,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
&& current_character->cos.s.type == ST_T_BEGIN
&& (current_character->cos.s.style == ST_VERBATIM
|| current_character->cos.s.style == ST_SPECIAL_CHAR)) {
- gregorio_insert_style_before(ST_T_BEGIN, ST_INITIAL,
- current_character);
+ insert_style_before(ST_T_BEGIN, ST_INITIAL, current_character);
start_of_special = current_character->previous_character;
/* ... which is now the begin-initial style */
@@ -1141,8 +1265,7 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
&& current_character->is_character) {
current_character = current_character->next_character;
}
- gregorio_insert_style_after(ST_T_END, ST_INITIAL,
- &current_character);
+ insert_style_after(ST_T_END, ST_INITIAL, &current_character);
if (separate_initial && start_of_special->previous_character) {
/* we need to move the initial to the front */
start_of_special->previous_character->next_character =
@@ -1174,10 +1297,8 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
("Any style applied to the initial will be ignored."),
NULL, VERBOSITY_WARNING, 0);
}
- gregorio_insert_style_before(ST_T_BEGIN, ST_INITIAL,
- current_character);
- gregorio_insert_style_after(ST_T_END, ST_INITIAL,
- &current_character);
+ insert_style_before(ST_T_BEGIN, ST_INITIAL, current_character);
+ insert_style_after(ST_T_END, ST_INITIAL, &current_character);
break;
}
current_character = current_character->next_character;
@@ -1185,18 +1306,17 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
/* now apply the first syllable style */
current_character = *param_character;
if (separate_initial) {
- if (gregorio_go_to_end_initial(&current_character)) {
+ if (go_to_end_initial(&current_character)) {
current_character = current_character->next_character;
}
} else {
gregorio_go_to_first_character(&current_character);
}
if (current_character) {
- bool marked_syllable_iniital = false;
- gregorio_insert_style_before(ST_T_BEGIN, ST_FIRST_SYLLABLE,
- current_character);
+ bool marked_syllable_initial = false;
+ insert_style_before(ST_T_BEGIN, ST_FIRST_SYLLABLE, current_character);
do {
- if (!marked_syllable_iniital && (current_character->is_character
+ if (!marked_syllable_initial && (current_character->is_character
|| (current_character->cos.s.type == ST_T_BEGIN
&& (current_character->cos.s.style == ST_VERBATIM
|| current_character->cos.s.style
@@ -1204,9 +1324,9 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
)
)
)) {
- marked_syllable_iniital = true;
- gregorio_insert_style_before(ST_T_BEGIN,
- ST_FIRST_SYLLABLE_INITIAL, current_character);
+ marked_syllable_initial = true;
+ insert_style_before(ST_T_BEGIN, ST_FIRST_SYLLABLE_INITIAL,
+ current_character);
if (!current_character->is_character) {
/* skip past the verbatim or special character */
if (current_character->next_character) {
@@ -1217,19 +1337,19 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
current_character = current_character->next_character;
}
}
- gregorio_insert_style_after(ST_T_END, ST_FIRST_SYLLABLE_INITIAL,
+ insert_style_after(ST_T_END, ST_FIRST_SYLLABLE_INITIAL,
+ &current_character);
+ }
+ if (!current_character->is_character
+ && (current_character->cos.s.style == ST_CENTER
+ || current_character->cos.s.style == ST_FORCED_CENTER)) {
+ insert_style_before(ST_T_END, ST_FIRST_SYLLABLE,
+ current_character);
+ insert_style_after(ST_T_BEGIN, ST_FIRST_SYLLABLE,
&current_character);
- } else {
- if (current_character->cos.s.style == ST_CENTER
- || current_character->cos.s.style == ST_FORCED_CENTER) {
- gregorio_insert_style_before(ST_T_END, ST_FIRST_SYLLABLE,
- current_character);
- gregorio_insert_style_after(ST_T_BEGIN, ST_FIRST_SYLLABLE,
- &current_character);
- }
}
if (!current_character->next_character) {
- gregorio_insert_style_after(ST_T_END, ST_FIRST_SYLLABLE,
+ insert_style_after(ST_T_END, ST_FIRST_SYLLABLE,
&current_character);
}
current_character = current_character->next_character;
@@ -1240,3 +1360,38 @@ void gregorio_rebuild_first_syllable(gregorio_character **param_character,
gregorio_go_to_first_character(&current_character);
(*param_character) = current_character;
}
+
+void gregorio_set_first_word(gregorio_character **const character)
+{
+ gregorio_character *ch = *character;
+ if (go_to_end_initial(&ch)) {
+ ch = ch->next_character;
+ }
+ if (ch) {
+ bool started_style = false;
+ while (ch) {
+ if (!ch->is_character
+ && (ch->cos.s.style == ST_CENTER
+ || ch->cos.s.style == ST_FORCED_CENTER)) {
+ if (started_style) {
+ started_style = false;
+ insert_style_before(ST_T_END, ST_FIRST_WORD, ch);
+ }
+ } else if (!started_style) {
+ started_style = true;
+ insert_style_before(ST_T_BEGIN, ST_FIRST_WORD, ch);
+ }
+
+ if (!ch->next_character && started_style) {
+ insert_style_after(ST_T_END, ST_FIRST_WORD, &ch);
+ }
+
+ ch = ch->next_character;
+ }
+ }
+ /* else there are no more characters here */
+
+ if (*character) {
+ gregorio_go_to_first_character(character);
+ }
+}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.h
index e27e665bc3a..94bec9c2d09 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/characters.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/characters.h
@@ -47,7 +47,7 @@ typedef enum gregorio_center_determination {
/* this is a temporary structure that will be used for style determination */
typedef struct det_style {
- unsigned char style;
+ grestyle_style style;
struct det_style *previous_style;
struct det_style *next_style;
} det_style;
@@ -62,6 +62,14 @@ void gregorio_write_text(bool skip_initial,
void (*end) (FILE *, grestyle_style),
void (*printspchar) (FILE *, grewchar *));
+void gregorio_write_first_letter_alignment_text(bool skip_initial,
+ gregorio_character *current_character,
+ FILE *f, void (*printverb) (FILE *, grewchar *),
+ void (*printchar) (FILE *, grewchar),
+ void (*begin) (FILE *, grestyle_style),
+ void (*end) (FILE *, grestyle_style),
+ void (*printspchar) (FILE *, grewchar *));
+
void gregorio_write_initial(gregorio_character *current_character,
FILE *f, void (*printverb) (FILE *, grewchar *),
void (*printchar) (FILE *, grewchar),
@@ -79,4 +87,6 @@ void gregorio_rebuild_characters(gregorio_character **param_character,
void gregorio_rebuild_first_syllable(gregorio_character **param_character,
bool separate_initial);
+void gregorio_set_first_word(gregorio_character **character);
+
#endif
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config.h
index 04f8734cb3b..04f8734cb3b 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config_.h.in b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config_.h.in
index de3782d35c3..5ac194127f1 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/config_.h.in
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/config_.h.in
@@ -33,9 +33,6 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
-/* Define to 1 if the system has the type `_Bool'. */
-#undef HAVE__BOOL
-
/* Name of package */
#undef PACKAGE
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/dump/dump.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/dump/dump.c
index 595d9b5b70b..c2806748ae1 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/dump/dump.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/dump/dump.c
@@ -87,12 +87,15 @@ static const char *dump_style_to_string(grestyle_style style)
return " ST_SPECIAL_CHAR";
case ST_VERBATIM:
return " ST_VERBATIM";
+ case ST_FIRST_WORD:
+ return " ST_FIRST_WORD";
case ST_FIRST_SYLLABLE:
return "ST_FIRST_SYLLABLE";
case ST_FIRST_SYLLABLE_INITIAL:
return "ST_FIRST_SYLLABLE_INITIAL";
+ default:
+ return unknown(style);
}
- return unknown(style);
}
static void dump_write_characters(FILE *const f,
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/encode_utf8strings.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/encode_utf8strings.c
index d932a9aeb4a..d932a9aeb4a 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/encode_utf8strings.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/encode_utf8strings.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-elements-determination.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-elements-determination.c
index eefdc86e49f..eefdc86e49f 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-elements-determination.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-elements-determination.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-glyphs-determination.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-glyphs-determination.c
index 90e1853eaca..d4713e99801 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-glyphs-determination.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-glyphs-determination.c
@@ -52,13 +52,15 @@ static __inline gregorio_scanner_location *copy_note_location(
*
****************************/
-static void close_glyph(gregorio_glyph **last_glyph,
+static gregorio_note *close_glyph(gregorio_glyph **last_glyph,
gregorio_glyph_type glyph_type, gregorio_note **first_note,
gregorio_liquescentia liquescentia, gregorio_note *current_note)
{
+ gregorio_note *new_current_note = current_note;
gregorio_scanner_location loc;
/* a variable necessary for the patch for G_BIVIRGA & co. */
gregorio_note *added_notes = NULL;
+ gregorio_note *next_note = NULL;
/* patch to have good glyph type in the case where a glyph ends by a note
* with shape S_QUADRATUM */
@@ -138,29 +140,39 @@ static void close_glyph(gregorio_glyph **last_glyph,
if (!added_notes) {
break;
}
+ next_note = current_note->next;
/* now we have what we want, we set up the links and free the old
* note */
- if (current_note->next) {
+ if (next_note) {
current_note->next->previous = added_notes;
- added_notes->next = current_note->next;
+ added_notes->next = next_note;
}
gregorio_go_to_first_note(&added_notes);
if (current_note->previous) {
current_note->previous->next = added_notes;
added_notes->previous = current_note->previous;
- }
- if (!current_note->previous && !current_note->next) {
+ } else {
+ new_current_note = added_notes;
+ }
+ /* Detaching current_note is not strictly necessary here because we
+ * are effectively plucking out added_notes into its own glyph;
+ * however, detaching the note is safer if this behavior changes in
+ * the future because gregorio_free_one_note nullifies surrounding
+ * pointers */
+ current_note->next = NULL;
+ current_note->previous = NULL;
+ gregorio_free_one_note(&current_note);
+ if (!next_note) {
current_note = added_notes;
break;
- } else {
- gregorio_free_one_note(&current_note);
- /* automatically sets first_note to the next note */
}
+ current_note = next_note;
}
gregorio_go_to_first_note(&current_note);
/* finally we set the just added glyph first_note to current_note */
(*last_glyph)->u.notes.first_note = current_note;
}
+ return new_current_note;
}
/* a small function to automatically determine the pitch of a custo : it is
@@ -872,7 +884,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
liquescentia += current_note->u.note.liquescentia;
/* once again, only works with the good values in the header
* file */
- close_glyph(&last_glyph, current_glyph_type,
+ current_note = close_glyph(&last_glyph, current_glyph_type,
&current_glyph_first_note, liquescentia, current_note);
current_glyph_type = G_UNDETERMINED;
liquescentia = L_NO_LIQUESCENTIA;
@@ -945,7 +957,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
continue;
}
}
- close_glyph(&last_glyph, current_glyph_type,
+ current_note = close_glyph(&last_glyph, current_glyph_type,
&current_glyph_first_note,
current_note->u.note.liquescentia, current_note);
current_glyph_type = G_UNDETERMINED;
@@ -954,7 +966,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
case DET_END_OF_CURRENT:
liquescentia += current_note->u.note.liquescentia;
/* once again, only works with the good values in the header file */
- close_glyph(&last_glyph, next_glyph_type,
+ current_note = close_glyph(&last_glyph, next_glyph_type,
&current_glyph_first_note, liquescentia, current_note);
current_glyph_type = G_UNDETERMINED;
liquescentia = L_NO_LIQUESCENTIA;
@@ -969,7 +981,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
}
current_glyph_type = G_UNDETERMINED;
liquescentia = L_NO_LIQUESCENTIA;
- close_glyph(&last_glyph, next_glyph_type,
+ current_note = close_glyph(&last_glyph, next_glyph_type,
&current_glyph_first_note,
current_note->u.note.liquescentia, current_note);
break;
@@ -977,7 +989,7 @@ gregorio_glyph *gabc_det_glyphs_from_notes(gregorio_note *current_note,
if (!next_note && current_glyph_type != G_UNDETERMINED) {
/* we must end the determination here */
- close_glyph(&last_glyph, current_glyph_type,
+ current_note = close_glyph(&last_glyph, current_glyph_type,
&current_glyph_first_note, liquescentia, current_note);
}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination-l.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination-l.c
index be6374b8e5c..be6374b8e5c 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination-l.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination-l.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination.l b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination.l
index d5a141fb538..d5a141fb538 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-notes-determination.l
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-notes-determination.l
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.c
index 09228015645..09228015645 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.h
index adf6e4656d3..adf6e4656d3 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-l.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-l.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.c
index fbe06ef6515..92f3abdde80 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.c
@@ -166,6 +166,7 @@ static gregorio_center_determination center_is_determined;
* (for key changes) */
static int current_key = DEFAULT_KEY;
static bool got_language = false;
+static bool started_first_word = false;
static struct sha1_ctx digester;
static __inline void check_multiple(const char *name, bool exists) {
@@ -311,10 +312,11 @@ static void initialize_variables(void)
translation_type = TR_NORMAL;
no_linebreak_area = NLBA_NORMAL;
euouae = EUOUAE_NORMAL;
- center_is_determined = 0;
+ center_is_determined = CENTER_NOT_DETERMINED;
for (i = 0; i < 10; i++) {
macros[i] = NULL;
}
+ started_first_word = false;
}
/*
@@ -414,8 +416,8 @@ static void end_definitions(void)
}
if (!got_language) {
- static char lang_Latin[] = "Latin";
- gregorio_set_centering_language(lang_Latin);
+ static char latin[] = "Latin";
+ gregorio_set_centering_language(latin);
}
}
@@ -484,10 +486,10 @@ static void gregorio_set_translation_center_beginning(
current_syllable->translation_type = TR_NORMAL;
}
-static void rebuild_characters(gregorio_character **param_character,
- gregorio_center_determination center_is_determined)
+static void rebuild_characters(void)
{
bool has_initial = score->initial_style != NO_INITIAL;
+
/* we rebuild the first syllable text if it is the first syllable, or if
* it is the second when the first has no text.
* it is a patch for cases like (c4) Al(ab)le(ab) */
@@ -495,10 +497,16 @@ static void rebuild_characters(gregorio_character **param_character,
|| (current_syllable && !current_syllable->previous_syllable
&& !current_syllable->text && current_character)) {
gregorio_rebuild_first_syllable(&current_character, has_initial);
+
+ started_first_word = true;
}
- gregorio_rebuild_characters(param_character, center_is_determined,
+ gregorio_rebuild_characters(&current_character, center_is_determined,
has_initial);
+
+ if (started_first_word) {
+ gregorio_set_first_word(&current_character);
+ }
}
/*
@@ -510,7 +518,8 @@ static void close_syllable(YYLTYPE *loc)
int i;
gregorio_add_syllable(&current_syllable, number_of_voices, elements,
first_text_character, first_translation_character, position,
- abovelinestext, translation_type, no_linebreak_area, euouae, loc);
+ abovelinestext, translation_type, no_linebreak_area, euouae, loc,
+ started_first_word);
if (!score->first_syllable) {
/* we rebuild the first syllable if we have to */
score->first_syllable = current_syllable;
@@ -524,6 +533,10 @@ static void close_syllable(YYLTYPE *loc)
}
if (position == WORD_ONE_SYLLABLE || position == WORD_END) {
position = WORD_BEGINNING;
+
+ if (started_first_word) {
+ started_first_word = false;
+ }
}
center_is_determined = CENTER_NOT_DETERMINED;
current_character = NULL;
@@ -543,7 +556,7 @@ static void close_syllable(YYLTYPE *loc)
* the translation pointer instead of the text pointer */
static void start_translation(unsigned char asked_translation_type)
{
- rebuild_characters(&current_character, center_is_determined);
+ rebuild_characters();
first_text_character = current_character;
/* the middle letters of the translation have no sense */
center_is_determined = CENTER_FULLY_DETERMINED;
@@ -553,7 +566,7 @@ static void start_translation(unsigned char asked_translation_type)
static void end_translation(void)
{
- rebuild_characters(&current_character, center_is_determined);
+ rebuild_characters();
first_translation_character = current_character;
}
@@ -699,7 +712,7 @@ static void gabc_y_add_notes(char *notes, YYLTYPE loc) {
}
}
-#line 702 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
+#line 716 "gabc/gabc-score-determination-y.c" /* yacc.c:339 */
# ifndef YY_NULLPTR
# if defined __cplusplus && 201103L <= __cplusplus
@@ -910,7 +923,7 @@ int gabc_score_determination_parse (void);
/* Copy the second part of user declarations. */
-#line 913 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
+#line 927 "gabc/gabc-score-determination-y.c" /* yacc.c:358 */
#ifdef short
# undef short
@@ -1216,18 +1229,18 @@ static const yytype_uint8 yytranslate[] =
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
static const yytype_uint16 yyrline[] =
{
- 0, 654, 654, 658, 663, 664, 668, 680, 686, 697,
- 703, 712, 719, 726, 736, 743, 750, 757, 764, 771,
- 784, 794, 805, 814, 825, 832, 839, 846, 854, 862,
- 869, 877, 885, 896, 909, 915, 921, 925, 931, 932,
- 933, 934, 935, 936, 937, 938, 939, 940, 941, 942,
- 943, 944, 945, 946, 947, 948, 949, 950, 951, 952,
- 953, 954, 955, 956, 957, 958, 959, 960, 961, 966,
- 967, 971, 993, 1016, 1029, 1042, 1047, 1056, 1059, 1062,
- 1065, 1068, 1071, 1074, 1077, 1080, 1089, 1092, 1095, 1098,
- 1101, 1104, 1107, 1110, 1113, 1122, 1125, 1131, 1134, 1140,
- 1141, 1144, 1145, 1146, 1147, 1150, 1151, 1155, 1161, 1164,
- 1170, 1176, 1181, 1187, 1190, 1196, 1197, 1200, 1201
+ 0, 668, 668, 672, 677, 678, 682, 695, 702, 713,
+ 720, 729, 736, 743, 753, 760, 767, 774, 781, 788,
+ 802, 812, 823, 832, 843, 850, 857, 864, 872, 880,
+ 887, 894, 902, 913, 926, 933, 939, 943, 949, 950,
+ 951, 952, 953, 954, 955, 956, 957, 958, 959, 960,
+ 961, 962, 963, 964, 965, 966, 967, 968, 969, 970,
+ 971, 972, 973, 974, 975, 976, 977, 978, 979, 984,
+ 985, 989, 1011, 1034, 1047, 1060, 1065, 1074, 1077, 1080,
+ 1083, 1086, 1089, 1092, 1095, 1098, 1107, 1110, 1113, 1116,
+ 1119, 1122, 1125, 1128, 1131, 1140, 1143, 1149, 1152, 1158,
+ 1159, 1162, 1163, 1164, 1165, 1168, 1169, 1173, 1179, 1182,
+ 1188, 1194, 1199, 1205, 1208, 1214, 1215, 1218, 1219
};
#endif
@@ -2059,7 +2072,7 @@ yyparse (void)
yychar = YYEMPTY; /* Cause a token to be read. */
/* User initialization code. */
-#line 628 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
+#line 642 "gabc/gabc-score-determination.y" /* yacc.c:1429 */
{
yylloc.first_line = 1;
yylloc.first_column = 0;
@@ -2069,7 +2082,7 @@ yyparse (void)
yylloc.last_offset = 0;
}
-#line 2072 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
+#line 2086 "gabc/gabc-score-determination-y.c" /* yacc.c:1429 */
yylsp[0] = yylloc;
goto yysetstate;
@@ -2256,17 +2269,18 @@ yyreduce:
switch (yyn)
{
case 3:
-#line 658 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 672 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_definitions();
}
-#line 2263 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2277 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 6:
-#line 668 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 682 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
number_of_voices=atoi((yyvsp[0]).text);
+ free((yyvsp[0]).text);
if (number_of_voices > MAX_NUMBER_OF_VOICES) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("can't define %d voices, maximum is %d"),
@@ -2274,19 +2288,20 @@ yyreduce:
}
gregorio_set_score_number_of_voices (score, number_of_voices);
}
-#line 2277 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2292 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 7:
-#line 680 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 695 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
+ free(macros[(yyvsp[-1]).character - '0']);
macros[(yyvsp[-1]).character - '0'] = (yyvsp[0]).text;
}
-#line 2285 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2301 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 8:
-#line 686 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 702 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if ((yyvsp[0]).text==NULL) {
gregorio_message("name can't be empty","det_score",
@@ -2295,48 +2310,49 @@ yyreduce:
check_multiple("name", score->name != NULL);
gregorio_set_score_name (score, (yyvsp[0]).text);
}
-#line 2298 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2314 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 9:
-#line 697 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 713 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
set_centering_scheme((yyvsp[0]).text);
+ free((yyvsp[0]).text);
}
-#line 2306 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2323 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 10:
-#line 703 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 720 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("language", got_language);
gregorio_set_centering_language((yyvsp[0]).text);
free((yyvsp[0]).text);
got_language = true;
}
-#line 2317 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2334 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 11:
-#line 712 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 729 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("gabc-copyright", score->gabc_copyright != NULL);
gregorio_set_score_gabc_copyright (score, (yyvsp[0]).text);
}
-#line 2326 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2343 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 12:
-#line 719 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 736 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("score_copyright", score->score_copyright != NULL);
gregorio_set_score_score_copyright (score, (yyvsp[0]).text);
}
-#line 2335 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2352 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 13:
-#line 726 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 743 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_message("\"gregoriotex-font\" header is deprecated. "
"Please use \\gresetgregoriofont in TeX instead.",
@@ -2344,56 +2360,56 @@ yyreduce:
check_multiple("GregorioTeX font", score->gregoriotex_font != NULL);
score->gregoriotex_font=(yyvsp[0]).text;
}
-#line 2347 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2364 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 14:
-#line 736 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 753 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("office part", score->office_part != NULL);
gregorio_set_score_office_part (score, (yyvsp[0]).text);
}
-#line 2356 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2373 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 15:
-#line 743 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 760 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("occasion", score->occasion != NULL);
gregorio_set_score_occasion (score, (yyvsp[0]).text);
}
-#line 2365 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2382 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 16:
-#line 750 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 767 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("meter", score->meter != NULL);
gregorio_set_score_meter (score, (yyvsp[0]).text);
}
-#line 2374 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2391 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 17:
-#line 757 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 774 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("commentary", score->commentary != NULL);
gregorio_set_score_commentary (score, (yyvsp[0]).text);
}
-#line 2383 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2400 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 18:
-#line 764 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 781 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("arranger", score->arranger != NULL);
gregorio_set_score_arranger (score, (yyvsp[0]).text);
}
-#line 2392 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2409 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 19:
-#line 771 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 788 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
/* So far this handling of the version is rudimentary. When
* we start supporting multiple input versions, it will become
@@ -2403,12 +2419,13 @@ yyreduce:
GABC_CURRENT_VERSION " ; there may be problems"),
"det_score", VERBOSITY_WARNING, 0);
}
+ free((yyvsp[0]).text);
}
-#line 2407 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2425 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 20:
-#line 784 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 802 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("mode", score->mode != 0);
if ((yyvsp[0]).text) {
@@ -2416,11 +2433,11 @@ yyreduce:
free((yyvsp[0]).text);
}
}
-#line 2419 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2437 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 21:
-#line 794 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 812 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("nabc lines", score->nabc_lines != 0);
if ((yyvsp[0]).text) {
@@ -2429,22 +2446,22 @@ yyreduce:
free((yyvsp[0]).text);
}
}
-#line 2432 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2450 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 22:
-#line 805 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 823 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if ((yyvsp[0]).text) {
score->initial_style=atoi((yyvsp[0]).text);
free((yyvsp[0]).text);
}
}
-#line 2443 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2461 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 23:
-#line 814 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (score->annotation [MAX_ANNOTATIONS - 1]) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
@@ -2453,87 +2470,86 @@ yyreduce:
}
gregorio_set_score_annotation (score, (yyvsp[0]).text);
}
-#line 2456 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2474 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 24:
-#line 825 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 843 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("author", score->si.author != NULL);
gregorio_set_score_author (score, (yyvsp[0]).text);
}
-#line 2465 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2483 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 25:
-#line 832 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 850 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("date", score->si.date != NULL);
gregorio_set_score_date (score, (yyvsp[0]).text);
}
-#line 2474 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2492 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 26:
-#line 839 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 857 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("manuscript", score->si.manuscript != NULL);
gregorio_set_score_manuscript (score, (yyvsp[0]).text);
}
-#line 2483 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2501 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 27:
-#line 846 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 864 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("manuscript-reference",
score->si.manuscript_reference != NULL);
gregorio_set_score_manuscript_reference (score, (yyvsp[0]).text);
}
-#line 2493 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2511 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 28:
-#line 854 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 872 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("manuscript-storage-place",
score->si.manuscript_storage_place != NULL);
gregorio_set_score_manuscript_storage_place (score, (yyvsp[0]).text);
}
-#line 2503 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2521 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 29:
-#line 862 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 880 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("book", score->si.book != NULL);
gregorio_set_score_book (score, (yyvsp[0]).text);
}
-#line 2512 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2530 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 30:
-#line 869 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 887 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("transcriber", score->si.transcriber != NULL);
gregorio_set_score_transcriber (score, (yyvsp[0]).text);
- /* free($2.text); */
}
-#line 2522 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2539 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 31:
-#line 877 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 894 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
check_multiple("transcription date",
score->si.transcription_date != NULL);
gregorio_set_score_transcription_date (score, (yyvsp[0]).text);
}
-#line 2532 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2549 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 32:
-#line 885 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 902 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (current_voice_info->style) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
@@ -2542,11 +2558,11 @@ yyreduce:
}
gregorio_set_voice_style (current_voice_info, (yyvsp[0]).text);
}
-#line 2545 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2562 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 33:
-#line 896 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 913 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (current_voice_info->virgula_position) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
@@ -2556,51 +2572,52 @@ yyreduce:
}
gregorio_set_voice_virgula_position (current_voice_info, (yyvsp[0]).text);
}
-#line 2559 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2576 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 34:
-#line 909 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 926 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
/* set_voice_generated_by (current_voice_info, $2.text); */
+ free((yyvsp[0]).text);
}
-#line 2567 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2585 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 35:
-#line 915 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 933 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_set_score_user_notes (score, (yyvsp[0]).text);
}
-#line 2575 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2593 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 36:
-#line 921 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 939 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
(yyval).text = (yyvsp[-1]).text;
}
-#line 2583 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2601 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 37:
-#line 925 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 943 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
(yyval).text = NULL;
}
-#line 2591 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2609 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 68:
-#line 961 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 979 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
next_voice_info();
}
-#line 2599 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2617 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 71:
-#line 971 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 989 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2623,11 +2640,11 @@ yyreduce:
voice=0;
nabc_state=0;
}
-#line 2626 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2644 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 72:
-#line 993 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1011 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2651,11 +2668,11 @@ yyreduce:
nabc_state=0;
update_position_with_space();
}
-#line 2654 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2672 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 73:
-#line 1016 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1034 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (voice<number_of_voices) {
gabc_y_add_notes((yyvsp[-1]).text, (yylsp[-1]));
@@ -2669,11 +2686,11 @@ yyreduce:
number_of_voices), voice+1, number_of_voices);
}
}
-#line 2672 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2690 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 74:
-#line 1029 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1047 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (!nabc_lines) {
gregorio_message(_("You used character \"|\" in gabc without "
@@ -2687,288 +2704,288 @@ yyreduce:
nabc_state = (nabc_state + 1) % (nabc_lines+1);
}
}
-#line 2690 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2708 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 75:
-#line 1042 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1060 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
voice=0;
nabc_state=0;
}
-#line 2700 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2718 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 76:
-#line 1047 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1065 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
elements[voice]=NULL;
voice=0;
nabc_state=0;
update_position_with_space();
}
-#line 2711 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2729 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 77:
-#line 1056 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1074 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_ITALIC);
}
-#line 2719 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2737 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 78:
-#line 1059 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1077 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_TT);
}
-#line 2727 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2745 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 79:
-#line 1062 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1080 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_UNDERLINED);
}
-#line 2735 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2753 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 80:
-#line 1065 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1083 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_COLORED);
}
-#line 2743 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2761 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 81:
-#line 1068 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1086 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_BOLD);
}
-#line 2751 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2769 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 82:
-#line 1071 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1089 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_SMALL_CAPS);
}
-#line 2759 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2777 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 83:
-#line 1074 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1092 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_VERBATIM);
}
-#line 2767 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2785 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 84:
-#line 1077 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1095 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_style(ST_SPECIAL_CHAR);
}
-#line 2775 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2793 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 85:
-#line 1080 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1098 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (!center_is_determined) {
gregorio_gabc_add_style(ST_FORCED_CENTER);
center_is_determined=CENTER_HALF_DETERMINED;
}
}
-#line 2786 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2804 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 86:
-#line 1089 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1107 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_ITALIC);
}
-#line 2794 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2812 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 87:
-#line 1092 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1110 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_TT);
}
-#line 2802 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2820 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 88:
-#line 1095 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1113 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_UNDERLINED);
}
-#line 2810 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2828 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 89:
-#line 1098 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1116 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_COLORED);
}
-#line 2818 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2836 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 90:
-#line 1101 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1119 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_BOLD);
}
-#line 2826 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2844 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 91:
-#line 1104 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1122 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_SMALL_CAPS);
}
-#line 2834 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2852 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 92:
-#line 1107 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1125 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_VERBATIM);
}
-#line 2842 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2860 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 93:
-#line 1110 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1128 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_end_style(ST_SPECIAL_CHAR);
}
-#line 2850 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2868 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 94:
-#line 1113 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1131 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
if (center_is_determined==CENTER_HALF_DETERMINED) {
gregorio_gabc_end_style(ST_FORCED_CENTER);
center_is_determined=CENTER_FULLY_DETERMINED;
}
}
-#line 2861 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2879 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 95:
-#line 1122 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1140 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_BEGINNING;
}
-#line 2869 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2887 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 96:
-#line 1125 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1143 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
euouae = EUOUAE_END;
}
-#line 2877 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2895 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 97:
-#line 1131 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1149 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_BEGINNING;
}
-#line 2885 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2903 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 98:
-#line 1134 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1152 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
no_linebreak_area = NLBA_END;
}
-#line 2893 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2911 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 100:
-#line 1141 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1159 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
gregorio_gabc_add_text((yyvsp[0]).text);
}
-#line 2901 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2919 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 107:
-#line 1155 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1173 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_NORMAL);
}
-#line 2909 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2927 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 108:
-#line 1161 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1179 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
end_translation();
}
-#line 2917 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2935 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 109:
-#line 1164 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1182 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
start_translation(TR_WITH_CENTER_END);
}
-#line 2925 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2943 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 110:
-#line 1170 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1188 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
abovelinestext = (yyvsp[-1]).text;
}
-#line 2933 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2951 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 111:
-#line 1176 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1194 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
- rebuild_characters (&current_character, center_is_determined);
+ rebuild_characters();
first_text_character = current_character;
close_syllable(&(yylsp[-2]));
}
-#line 2943 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2961 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 112:
-#line 1181 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1199 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(&(yylsp[-3]));
}
-#line 2951 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2969 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 113:
-#line 1187 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1205 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2959 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2977 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
case 114:
-#line 1190 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
+#line 1208 "gabc/gabc-score-determination.y" /* yacc.c:1646 */
{
close_syllable(NULL);
}
-#line 2967 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2985 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
break;
-#line 2971 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
+#line 2989 "gabc/gabc-score-determination-y.c" /* yacc.c:1646 */
default: break;
}
/* User semantic actions sometimes alter yychar, and that requires
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.h
index 54e30a15827..d68c9b6f591 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination-y.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination-y.h
@@ -1,6 +1,5 @@
/* A Bison parser, made by GNU Bison 3.0.4. */
-/* Make sure this file is newer than gabc-score-determinatio.y */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.h
index 0eb91794321..0eb91794321 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.l b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.l
index 4d2a07992e4..4d2a07992e4 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.l
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.l
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.y b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.y
index 40f70133ee9..e823f3785ec 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-score-determination.y
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-score-determination.y
@@ -92,6 +92,7 @@ static gregorio_center_determination center_is_determined;
* (for key changes) */
static int current_key = DEFAULT_KEY;
static bool got_language = false;
+static bool started_first_word = false;
static struct sha1_ctx digester;
static __inline void check_multiple(const char *name, bool exists) {
@@ -237,10 +238,11 @@ static void initialize_variables(void)
translation_type = TR_NORMAL;
no_linebreak_area = NLBA_NORMAL;
euouae = EUOUAE_NORMAL;
- center_is_determined = 0;
+ center_is_determined = CENTER_NOT_DETERMINED;
for (i = 0; i < 10; i++) {
macros[i] = NULL;
}
+ started_first_word = false;
}
/*
@@ -340,8 +342,8 @@ static void end_definitions(void)
}
if (!got_language) {
- static char lang_Latin[] = "Latin";
- gregorio_set_centering_language(lang_Latin);
+ static char latin[] = "Latin";
+ gregorio_set_centering_language(latin);
}
}
@@ -410,10 +412,10 @@ static void gregorio_set_translation_center_beginning(
current_syllable->translation_type = TR_NORMAL;
}
-static void rebuild_characters(gregorio_character **param_character,
- gregorio_center_determination center_is_determined)
+static void rebuild_characters(void)
{
bool has_initial = score->initial_style != NO_INITIAL;
+
/* we rebuild the first syllable text if it is the first syllable, or if
* it is the second when the first has no text.
* it is a patch for cases like (c4) Al(ab)le(ab) */
@@ -421,10 +423,16 @@ static void rebuild_characters(gregorio_character **param_character,
|| (current_syllable && !current_syllable->previous_syllable
&& !current_syllable->text && current_character)) {
gregorio_rebuild_first_syllable(&current_character, has_initial);
+
+ started_first_word = true;
}
- gregorio_rebuild_characters(param_character, center_is_determined,
+ gregorio_rebuild_characters(&current_character, center_is_determined,
has_initial);
+
+ if (started_first_word) {
+ gregorio_set_first_word(&current_character);
+ }
}
/*
@@ -436,7 +444,8 @@ static void close_syllable(YYLTYPE *loc)
int i;
gregorio_add_syllable(&current_syllable, number_of_voices, elements,
first_text_character, first_translation_character, position,
- abovelinestext, translation_type, no_linebreak_area, euouae, loc);
+ abovelinestext, translation_type, no_linebreak_area, euouae, loc,
+ started_first_word);
if (!score->first_syllable) {
/* we rebuild the first syllable if we have to */
score->first_syllable = current_syllable;
@@ -450,6 +459,10 @@ static void close_syllable(YYLTYPE *loc)
}
if (position == WORD_ONE_SYLLABLE || position == WORD_END) {
position = WORD_BEGINNING;
+
+ if (started_first_word) {
+ started_first_word = false;
+ }
}
center_is_determined = CENTER_NOT_DETERMINED;
current_character = NULL;
@@ -469,7 +482,7 @@ static void close_syllable(YYLTYPE *loc)
* the translation pointer instead of the text pointer */
static void start_translation(unsigned char asked_translation_type)
{
- rebuild_characters(&current_character, center_is_determined);
+ rebuild_characters();
first_text_character = current_character;
/* the middle letters of the translation have no sense */
center_is_determined = CENTER_FULLY_DETERMINED;
@@ -479,7 +492,7 @@ static void start_translation(unsigned char asked_translation_type)
static void end_translation(void)
{
- rebuild_characters(&current_character, center_is_determined);
+ rebuild_characters();
first_translation_character = current_character;
}
@@ -668,6 +681,7 @@ definitions:
number_of_voices_definition:
NUMBER_OF_VOICES attribute {
number_of_voices=atoi($2.text);
+ free($2.text);
if (number_of_voices > MAX_NUMBER_OF_VOICES) {
gregorio_messagef("det_score", VERBOSITY_WARNING, 0,
_("can't define %d voices, maximum is %d"),
@@ -679,6 +693,7 @@ number_of_voices_definition:
macro_definition:
DEF_MACRO attribute {
+ free(macros[$1.character - '0']);
macros[$1.character - '0'] = $2.text;
}
;
@@ -697,6 +712,7 @@ name_definition:
centering_scheme_definition:
CENTERING_SCHEME attribute {
set_centering_scheme($2.text);
+ free($2.text);
}
;
@@ -778,6 +794,7 @@ gabc_version_definition:
GABC_CURRENT_VERSION " ; there may be problems"),
"det_score", VERBOSITY_WARNING, 0);
}
+ free($2.text);
}
;
@@ -870,7 +887,6 @@ transcriber_definition:
TRANSCRIBER attribute {
check_multiple("transcriber", score->si.transcriber != NULL);
gregorio_set_score_transcriber (score, $2.text);
- /* free($2.text); */
}
;
@@ -909,6 +925,7 @@ virgula_position_definition:
generated_by_definition:
GENERATED_BY attribute {
/* set_voice_generated_by (current_voice_info, $2.text); */
+ free($2.text);
}
;
@@ -1175,7 +1192,7 @@ above_line_text:
syllable_with_notes:
text OPENING_BRACKET notes {
- rebuild_characters (&current_character, center_is_determined);
+ rebuild_characters();
first_text_character = current_character;
close_syllable(&@1);
}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-write.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-write.c
index e5375f62316..e5375f62316 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc-write.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc-write.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc.h
index 69aa7c64210..69aa7c64210 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gabc/gabc.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gabc/gabc.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregorio-utils.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregorio-utils.c
index c2a4b8b579d..c2a4b8b579d 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregorio-utils.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregorio-utils.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-position.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-position.c
index a3c58bcfc5c..8a7808b40d9 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-position.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-position.c
@@ -24,10 +24,6 @@
#include "gregoriotex.h"
-/* TODO: The numbers in the comments are a vestige of the older code; I'm
- * leaving them here for now, in case the refactor missed an instance
- * somewhere, but the numbers should evenually be removed */
-
/* (loose) naming convention, employing camel case to be TeX-csname-compliant:
* {specific-glyph-shape}{note-position}{note-shape}{first-ambitus}{second-ambitus}
*/
@@ -753,7 +749,11 @@ static gregorio_vposition advise_positioning(const gregorio_glyph *const glyph,
h_episemus = VPOS_ABOVE;
break;
default:
- note->gtex_offset_case = FinalConnectedVirga;
+ note->gtex_offset_case = last_note_case(glyph, FinalPunctum, note,
+ false);
+ if (glyph->u.notes.liquescentia & L_DEMINUTUS) {
+ v_episemus = VPOS_ABOVE;
+ }
h_episemus = VPOS_ABOVE;
break;
}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-write.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-write.c
index 8481b8228c9..15ac27980b3 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex-write.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex-write.c
@@ -256,7 +256,7 @@ static const char *gregoriotex_determine_note_glyph_name(gregorio_note *note,
return "OriscusScapusLongqueue";
case S_STROPHA:
*type = AT_STROPHA;
- if (glyph->u.notes.liquescentia == L_AUCTA) {
+ if (note->u.note.liquescentia == L_AUCTA) {
return "StrophaAucta";
}
return "Stropha";
@@ -387,7 +387,7 @@ static __inline int compute_ambitus(const gregorio_note *const current_note)
}
static const char *compute_glyph_name(const gregorio_glyph *const glyph,
- const char *const shape, const gtex_glyph_liquescentia ltype)
+ const char *shape, const gtex_glyph_liquescentia ltype)
{
static char buf[BUFSIZE];
@@ -415,6 +415,12 @@ static const char *compute_glyph_name(const gregorio_glyph *const glyph,
if (!(ambitus1 = compute_ambitus(current_note))) {
return "";
}
+ /* the salicus queue is at the end of the glyph, and it doesn't exist for
+ * the liquescent forms */
+ if (strcmp(shape, "SalicusLongqueue") == 0
+ && strcmp(liquescentia, "Nothing") != 0) {
+ shape = "Salicus";
+ }
current_note = current_note->next;
if (!current_note->next) {
gregorio_snprintf(buf, BUFSIZE, "%s%s%s", shape, tex_ambitus[ambitus1],
@@ -858,6 +864,9 @@ static void gtex_write_begin(FILE *f, grestyle_style style)
case ST_COLORED:
fprintf(f, "\\GreColored{");
break;
+ case ST_FIRST_WORD:
+ fprintf(f, "\\GreFirstWord{");
+ break;
case ST_FIRST_SYLLABLE:
fprintf(f, "\\GreFirstSyllable{");
break;
@@ -880,6 +889,7 @@ static void gtex_write_end(FILE *f, grestyle_style style)
switch (style) {
case ST_FORCED_CENTER:
case ST_CENTER:
+ case ST_SYLLABLE_INITIAL:
fprintf(f, "}{");
break;
case ST_INITIAL:
@@ -1066,6 +1076,9 @@ static grestyle_style gregoriotex_fix_style(gregorio_character *first_character)
return 0;
if (current_char->cos.s.style != ST_CENTER
&& current_char->cos.s.style != ST_FORCED_CENTER
+ && current_char->cos.s.style != ST_FIRST_WORD
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE_INITIAL
&& current_char->cos.s.style != ST_SPECIAL_CHAR
&& current_char->cos.s.style != ST_VERBATIM
&& current_char->cos.s.style != ST_INITIAL) {
@@ -1078,6 +1091,9 @@ static grestyle_style gregoriotex_fix_style(gregorio_character *first_character)
if (!current_char->is_character
&& current_char->cos.s.style != ST_CENTER
&& current_char->cos.s.style != ST_FORCED_CENTER
+ && current_char->cos.s.style != ST_FIRST_WORD
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE_INITIAL
&& current_char->cos.s.style != ST_INITIAL) {
state = 2;
} else if (current_char->cos.s.style != possible_fixed_style
@@ -1091,6 +1107,9 @@ static grestyle_style gregoriotex_fix_style(gregorio_character *first_character)
return 0;
if (current_char->cos.s.style != ST_CENTER
&& current_char->cos.s.style != ST_FORCED_CENTER
+ && current_char->cos.s.style != ST_FIRST_WORD
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE
+ && current_char->cos.s.style != ST_FIRST_SYLLABLE_INITIAL
&& current_char->cos.s.style != ST_SPECIAL_CHAR
&& current_char->cos.s.style != ST_VERBATIM
&& current_char->cos.s.style != ST_INITIAL) {
@@ -2556,13 +2575,18 @@ static void gregoriotex_write_text(FILE *f, gregorio_character *text,
bool *first_syllable)
{
if (text == NULL) {
- fprintf(f, "{}{}{}");
+ fprintf(f, "{}{}{}{}{}");
return;
}
fprintf(f, "{");
gregorio_write_text(first_syllable && *first_syllable, text, f,
(&gtex_write_verb), (&gtex_print_char), (&gtex_write_begin),
(&gtex_write_end), (&gtex_write_special_char));
+ fprintf(f, "}{");
+ gregorio_write_first_letter_alignment_text(
+ first_syllable && *first_syllable, text, f,
+ (&gtex_write_verb), (&gtex_print_char), (&gtex_write_begin),
+ (&gtex_write_end), (&gtex_write_special_char));
if (first_syllable) {
*first_syllable = false;
}
@@ -2758,7 +2782,7 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
* In this case, the first thing to do is to change the line clef
*/
gregoriotex_print_change_line_clef(f, clef_change_element);
- fprintf(f, "\\GreDiscretionary{%%\n");
+ fprintf(f, "\\GreDiscretionary{0}{%%\n");
gregoriotex_write_syllable(f, syllable, first_syllable,
line_number, 1, status);
fprintf(f, "}{%%\n");
@@ -2793,7 +2817,9 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
syllable->next_syllable? syllable->next_syllable->text : NULL);
fprintf(f, "\\GreSyllable");
}
+ fprintf(f, "{\\GreSetThisSyllable");
gregoriotex_write_text(f, syllable->text, first_syllable);
+ fprintf(f, "}{}{\\Gre%s}", syllable->first_word ? "FirstWord" : "Unstyled");
if (syllable->position == WORD_END
|| syllable->position == WORD_ONE_SYLLABLE || !syllable->text
|| !syllable->next_syllable
@@ -2811,7 +2837,7 @@ static void gregoriotex_write_syllable(FILE *f, gregorio_syllable *syllable,
fprintf(f, "}{%d}{",
gregoriotex_syllable_first_type(syllable->next_syllable));
} else {
- fprintf(f, "{\\GreSetNextSyllable{}{}{}}{");
+ fprintf(f, "{\\GreSetNextSyllable{}{}{}{}{}}{");
write_syllable_point_and_click(f, syllable, status);
fprintf(f, "}{0}{");
}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex.h
index eb2ee832dbc..eb2ee832dbc 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/gregoriotex/gregoriotex.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/gregoriotex/gregoriotex.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.c
index f5dc0c53d1a..f5dc0c53d1a 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.h
index fc25c143767..fc25c143767 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/messages.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/messages.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/plugins.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/plugins.h
index 377d3067241..377d3067241 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/plugins.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/plugins.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.c
index 64ab6bad55f..64ab6bad55f 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.h
index aa8ec20ed85..aa8ec20ed85 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/sha1.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/sha1.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.c
index e73ce97339a..88f415bbf6b 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.c
@@ -240,6 +240,7 @@ void gregorio_add_texverb_to_note(gregorio_note **current_note, char *str)
strcpy(res, (*current_note)->texverb);
strcat(res, str);
free((*current_note)->texverb);
+ free(str);
(*current_note)->texverb = res;
} else {
(*current_note)->texverb = str;
@@ -926,7 +927,8 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
gregorio_character *first_translation_character,
gregorio_word_position position, char *abovelinestext,
gregorio_tr_centering translation_type, gregorio_nlba no_linebreak_area,
- gregorio_euouae euouae, const gregorio_scanner_location *const loc)
+ gregorio_euouae euouae, const gregorio_scanner_location *const loc,
+ const bool first_word)
{
gregorio_syllable *next;
gregorio_element **tab;
@@ -951,6 +953,7 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
next->translation = first_translation_character;
next->translation_type = translation_type;
next->abovelinestext = abovelinestext;
+ next->first_word = first_word;
if (loc) {
next->src_line = loc->first_line;
next->src_column = loc->first_column;
@@ -1056,27 +1059,14 @@ gregorio_score *gregorio_new_score(void)
static void gregorio_free_source_info(source_info *si)
{
- if (si->date) {
- free(si->date);
- }
- if (si->author) {
- free(si->author);
- }
- if (si->manuscript) {
- free(si->manuscript);
- }
- if (si->manuscript_reference) {
- free(si->manuscript_reference);
- }
- if (si->manuscript_storage_place) {
- free(si->manuscript_storage_place);
- }
- if (si->transcriber) {
- free(si->transcriber);
- }
- if (si->transcription_date) {
- free(si->transcription_date);
- }
+ free(si->date);
+ free(si->author);
+ free(si->manuscript);
+ free(si->manuscript_reference);
+ free(si->manuscript_storage_place);
+ free(si->transcriber);
+ free(si->transcription_date);
+ free(si->book);
}
static void gregorio_free_score_infos(gregorio_score *score)
@@ -1087,31 +1077,18 @@ static void gregorio_free_score_infos(gregorio_score *score)
"gregorio_free_score_infos", VERBOSITY_WARNING, 0);
return;
}
- if (score->name) {
- free(score->name);
- }
- if (score->office_part) {
- free(score->office_part);
- }
- if (score->occasion) {
- free(score->occasion);
- }
- if (score->meter) {
- free(score->meter);
- }
- if (score->commentary) {
- free(score->commentary);
- }
- if (score->arranger) {
- free(score->arranger);
- }
- if (score->user_notes) {
- free(score->user_notes);
- }
+ free(score->name);
+ free(score->gabc_copyright);
+ free(score->score_copyright);
+ free(score->office_part);
+ free(score->occasion);
+ free(score->meter);
+ free(score->commentary);
+ free(score->arranger);
+ free(score->user_notes);
+ free(score->gregoriotex_font);
for (annotation_num = 0; annotation_num < MAX_ANNOTATIONS; ++annotation_num) {
- if (score->annotation[annotation_num]) {
- free(score->annotation[annotation_num]);
- }
+ free(score->annotation[annotation_num]);
}
gregorio_free_source_info(&score->si);
if (score->first_voice_info) {
@@ -1138,6 +1115,7 @@ void gregorio_set_score_name(gregorio_score *score, char *name)
"gregorio_set_score_name", VERBOSITY_WARNING, 0);
return;
}
+ free(score->name);
score->name = name;
}
@@ -1149,6 +1127,7 @@ void gregorio_set_score_gabc_copyright(gregorio_score *score,
"gregorio_set_score_gabc_copyright", VERBOSITY_WARNING, 0);
return;
}
+ free(score->gabc_copyright);
score->gabc_copyright = gabc_copyright;
}
@@ -1160,6 +1139,7 @@ void gregorio_set_score_score_copyright(gregorio_score *score,
"gregorio_set_score_score_copyright", VERBOSITY_WARNING, 0);
return;
}
+ free(score->score_copyright);
score->score_copyright = score_copyright;
}
@@ -1170,6 +1150,7 @@ void gregorio_set_score_office_part(gregorio_score *score, char *office_part)
"gregorio_set_score_office_part", VERBOSITY_WARNING, 0);
return;
}
+ free(score->office_part);
score->office_part = office_part;
}
@@ -1180,6 +1161,7 @@ void gregorio_set_score_occasion(gregorio_score *score, char *occasion)
"gregorio_set_score_occasion", VERBOSITY_WARNING, 0);
return;
}
+ free(score->occasion);
score->occasion = occasion;
}
@@ -1190,6 +1172,7 @@ void gregorio_set_score_meter(gregorio_score *score, char *meter)
"gregorio_set_score_meter", VERBOSITY_WARNING, 0);
return;
}
+ free(score->meter);
score->meter = meter;
}
@@ -1200,6 +1183,7 @@ void gregorio_set_score_commentary(gregorio_score *score, char *commentary)
"gregorio_set_score_commentary", VERBOSITY_WARNING, 0);
return;
}
+ free(score->commentary);
score->commentary = commentary;
}
@@ -1210,6 +1194,7 @@ void gregorio_set_score_arranger(gregorio_score *score, char *arranger)
"gregorio_set_score_arranger", VERBOSITY_WARNING, 0);
return;
}
+ free(score->arranger);
score->arranger = arranger;
}
@@ -1228,9 +1213,10 @@ void gregorio_set_score_user_notes(gregorio_score *score, char *user_notes)
{
if (!score) {
gregorio_message(_("function called with NULL argument"),
- "gregorio_set_score_name", VERBOSITY_WARNING, 0);
+ "gregorio_set_score_user_notes", VERBOSITY_WARNING, 0);
return;
}
+ free(score->user_notes);
score->user_notes = user_notes;
}
@@ -1257,12 +1243,8 @@ void gregorio_free_voice_infos(gregorio_voice_info *voice_info)
return;
}
while (voice_info) {
- if (voice_info->style) {
- free(voice_info->style);
- }
- if (voice_info->virgula_position) {
- free(voice_info->virgula_position);
- }
+ free(voice_info->style);
+ free(voice_info->virgula_position);
next = voice_info->next_voice_info;
free(voice_info);
voice_info = next;
@@ -1288,6 +1270,11 @@ void gregorio_set_score_annotation(gregorio_score *score, char *annotation)
break;
}
}
+ if (annotation_num >= MAX_ANNOTATIONS) {
+ free(annotation);
+ gregorio_message(_("too many annotations"),
+ "gregorio_set_annotation", VERBOSITY_WARNING, 0);
+ }
}
void gregorio_set_score_author(gregorio_score *score, char *author)
@@ -1297,6 +1284,7 @@ void gregorio_set_score_author(gregorio_score *score, char *author)
"gregorio_set_score_author", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.author);
score->si.author = author;
}
@@ -1307,6 +1295,7 @@ void gregorio_set_score_date(gregorio_score *score, char *date)
"gregorio_set_score_date", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.date);
score->si.date = date;
}
@@ -1317,6 +1306,7 @@ void gregorio_set_score_manuscript(gregorio_score *score, char *manuscript)
"gregorio_set_score_manuscript", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.manuscript);
score->si.manuscript = manuscript;
}
@@ -1328,6 +1318,7 @@ void gregorio_set_score_manuscript_reference(gregorio_score *score,
"gregorio_set_score_reference", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.manuscript_reference);
score->si.manuscript_reference = manuscript_reference;
}
@@ -1340,6 +1331,7 @@ void gregorio_set_score_manuscript_storage_place(gregorio_score *score,
VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.manuscript_storage_place);
score->si.manuscript_storage_place = manuscript_storage_place;
}
@@ -1350,6 +1342,7 @@ void gregorio_set_score_book(gregorio_score *score, char *book)
"gregorio_set_score_book", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.book);
score->si.book = book;
}
@@ -1360,6 +1353,7 @@ void gregorio_set_score_transcriber(gregorio_score *score, char *transcriber)
"gregorio_set_score_transcriber", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.transcriber);
score->si.transcriber = transcriber;
}
@@ -1371,6 +1365,7 @@ void gregorio_set_score_transcription_date(gregorio_score *score,
"gregorio_set_score_transcription_date", VERBOSITY_WARNING, 0);
return;
}
+ free(score->si.transcription_date);
score->si.transcription_date = transcription_date;
}
@@ -1381,6 +1376,7 @@ void gregorio_set_voice_style(gregorio_voice_info *voice_info, char *style)
"gregorio_set_voice_style", VERBOSITY_WARNING, 0);
return;
}
+ free(voice_info->style);
voice_info->style = style;
}
@@ -1392,6 +1388,7 @@ void gregorio_set_voice_virgula_position(gregorio_voice_info *voice_info,
"gregorio_set_voice_virgula_position", VERBOSITY_WARNING, 0);
return;
}
+ free(voice_info->virgula_position);
voice_info->virgula_position = virgula_position;
}
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.h
index 539c33e4ed8..04bd5e390bd 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/struct.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/struct.h
@@ -289,8 +289,10 @@ typedef enum grestyle_style {
ST_INITIAL, /* a style used to determine the initial */
ST_UNDERLINED,
ST_COLORED,
+ ST_FIRST_WORD,
ST_FIRST_SYLLABLE,
- ST_FIRST_SYLLABLE_INITIAL
+ ST_FIRST_SYLLABLE_INITIAL,
+ ST_SYLLABLE_INITIAL
} grestyle_style;
/*
@@ -605,6 +607,7 @@ typedef struct gregorio_syllable {
* word, WORD_ONE_SYLLABLE for syllable that are alone in their word,
* and i let you gess what are WORD_MIDDLE and WORD_END. */
ENUM_BITFIELD(gregorio_word_position) position:3;
+ bool first_word:1;
} gregorio_syllable;
/* The items in source_info used to be -- well, most of them -- in
@@ -764,9 +767,9 @@ void gregorio_add_syllable(gregorio_syllable **current_syllable,
gregorio_character *first_character,
gregorio_character *first_translation_character,
gregorio_word_position position, char *abovelinestext,
- gregorio_tr_centering translation_type,
- gregorio_nlba no_linebreak_area,
- gregorio_euouae euouae, const gregorio_scanner_location *loc);
+ gregorio_tr_centering translation_type, gregorio_nlba no_linebreak_area,
+ gregorio_euouae euouae, const gregorio_scanner_location *loc,
+ bool first_word);
void gregorio_add_special_sign(gregorio_note *current_note, gregorio_sign sign);
void gregorio_change_shape(gregorio_note *note, gregorio_shape shape);
void gregorio_position_h_episemus_above(gregorio_note *note, signed char height,
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.c
index 91851f38eac..91851f38eac 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.h
index 323b5ac4bc3..323b5ac4bc3 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/support.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/support.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.c
index f36bac8d543..f36bac8d543 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.h
index b55f1fde730..b55f1fde730 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/unicode.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/unicode.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h
index 902ce1e8f55..902ce1e8f55 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h.in b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h.in
index 030889bcd46..030889bcd46 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/utf8strings.h.in
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/utf8strings.h.in
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.c
index 594657c409b..594657c409b 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.h
index f954c765b0f..f954c765b0f 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-l.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-l.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.c
index c024316fb94..c024316fb94 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.h
index df47b6e2d5a..df47b6e2d5a 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules-y.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules-y.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.h
index bad87c1a400..bad87c1a400 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.l b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.l
index 2b0a318a951..2b0a318a951 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.l
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.l
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.y b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.y
index 3c5bc82ee24..3c5bc82ee24 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel-rules.y
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel-rules.y
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.c b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.c
index b58148ab17e..b58148ab17e 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.c
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.c
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.h b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.h
index 61e96bb0bb7..61e96bb0bb7 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/src/vowel/vowel.h
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/src/vowel/vowel.h
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.md b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.md
new file mode 100644
index 00000000000..e132725c18b
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.md
@@ -0,0 +1,22 @@
+# Gregorio Windows files
+
+This folder is dedicated to the windows installer. This file describes the steps to compile it.
+
+### Building the gregorio executable
+
+Building the `gregorio.exe` file cannot currently be made under Windows, but it is possible under Linux:
+
+ * install [mingw](http://www.mingw.org/) (`aptitude install mingw32` under Debian)
+ * run `./build.sh --mingw` in the main directory of the repository
+
+This will create `src/gregorio.exe`.
+
+### Building tds file
+
+To be able to install GregorioTeX, the installer will need a `.tds.zip` file containing the fonts and tex files:
+
+ * run `./install-gtex.sh tds` in the main directory of the repository, this will create `gregoriotex.tds.zip`
+
+### Building the installer
+
+You need [InnoSetup](http://www.jrsoftware.org/isinfo.php) to be able to compile the installer. It runs fine under [Wine](https://www.winehq.org/). Once you have it installed: run InnoSetup.exe, open the `windows/gregorio.iss` file and compile it, it will produce `windows/Output/setup.exe`. You can also run it from command line: `wine32 'C:\\Program Files\Inno Setup 5\ISCC.exe' gregorio.iss` in the `windows` directory (replace the `ISCC.exe` path with yours if different).
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.txt b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.txt
new file mode 100644
index 00000000000..41dfcdbfe3f
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/README.txt
@@ -0,0 +1,16 @@
+
+ GREGORIO
+
+ Congratulations! You have now installed the gregorio typesetting
+ system. Gregorio has no Graphical user interface, it's made to be
+ integrated in a TeX typesetting process.
+
+ To start creating scores, you can now configure TeXworks for Gregorio,
+ see http://gregorio-project.github.io/introduction-editor.html for
+ a small guide through the score compilation process.
+
+ (Optional) If you want to install the Gregorio Support for Scribus, please
+ copy the file 900_Gregorio.xml from the contrib\ directory of the installation
+ directory of Gregorio (ex: C:\Program Files\Gregorio\contrib)
+ into the share\editorconfig\ directory of your Scribus install
+ (ex: C:\Program Files\Scribus-x.y.z\share\editorconfig).
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-32.bmp b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-32.bmp
new file mode 100644
index 00000000000..4aa322a5c25
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-32.bmp
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-image.bmp b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-image.bmp
new file mode 100644
index 00000000000..02de41f2164
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-image.bmp
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/windows/gregorio-resources.rc b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-resources.rc
index 7b275651bbb..62d27168245 100644
--- a/Build/source/texk/gregorio/gregorio-4.0.0-beta2/windows/gregorio-resources.rc
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio-resources.rc
@@ -9,12 +9,12 @@ BEGIN
BEGIN
VALUE "CompanyName", "Gregorio project"
VALUE "FileDescription", "Gregorio"
- VALUE "FileVersion", "4.0.0-beta2"
+ VALUE "FileVersion", "4.0.0-rc1"
VALUE "InternalName", "gregorio"
VALUE "LegalCopyright", "See COPYING in the installation directory."
VALUE "OriginalFilename", "gregorio.exe"
VALUE "ProductName", "Gregorio"
- VALUE "ProductVersion", "4.0.0-beta2"
+ VALUE "ProductVersion", "4.0.0-rc1"
END
END
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.ico b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.ico
new file mode 100644
index 00000000000..5b1e78fdb1a
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.ico
Binary files differ
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.iss b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.iss
new file mode 100644
index 00000000000..0fb2ad6a806
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/gregorio.iss
@@ -0,0 +1,187 @@
+[Setup]
+AppName=gregorio
+AppVersion=4.0.0-rc1
+DefaultDirName={pf}\gregorio
+DefaultGroupName=gregorio
+SetupIconFile=gregorio.ico
+Compression=lzma2
+SolidCompression=yes
+LicenseFile=../COPYING.md
+AppCopyright=Copyright (C) 2006-2015 The Gregorio Project
+AppComments=Software for engraving Gregorian Chant scores.
+AppContact=gregorio-devel@gna.org
+AppPublisher=The Gregorio Project
+AppPublisherURL=https://github.com/gregorio-project/gregorio
+AppReadmeFile=https://github.com/gregorio-project/gregorio
+BackColor=$D4AE65
+BackColor2=$FDF7EB
+WizardSmallImageFile=gregorio-32.bmp
+WizardImageFile=gregorio-image.bmp
+ChangesAssociations=yes
+
+[Registry]
+Root: HKCR; Subkey: ".gabc"; ValueType: string; ValueName: ""; ValueData: "Gregorio"; Flags: uninsdeletevalue
+Root: HKCR; Subkey: "Gregorio"; ValueType: string; ValueName: ""; ValueData: "Gregorio score"; Flags: uninsdeletekey
+Root: HKCR; Subkey: "Gregorio\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\gregorio.ico"; Flags: uninsdeletekey
+Root: HKCR; Subkey: "Gregorio\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "texworks.exe ""%1"""; Flags: uninsdeletekey
+
+[Dirs]
+Name: "{app}\contrib"
+Name: "{app}\examples"
+Name: "{app}\texmf"
+Name: "{app}\texmf\tex"
+Name: "{app}\texmf\tex\luatex"
+Name: "{app}\texmf\tex\luatex\gregoriotex"
+Name: "{app}\texmf\fonts"
+Name: "{app}\texmf\fonts\truetype"
+Name: "{app}\texmf\fonts\truetype\public"
+Name: "{app}\texmf\fonts\truetype\public\gregoriotex"
+Name: "{app}\texmf\fonts\source"
+Name: "{app}\texmf\fonts\source\gregoriotex"
+Name: "{app}\texmf\doc"
+Name: "{app}\texmf\doc\luatex"
+Name: "{app}\texmf\doc\luatex\gregoriotex"
+
+[Files]
+Source: "../src/gregorio.exe"; DestDir: "{app}";
+Source: "gregorio.ico"; DestDir: "{app}";
+Source: "install-tl.lua"; DestDir: "{app}";
+Source: "install-mt.lua"; DestDir: "{app}";
+Source: "README.txt"; DestDir: "{app}"; Flags: isreadme
+Source: "../CHANGELOG.md"; DestDir: "{app}";
+Source: "../README.md"; DestDir: "{app}";
+Source: "../CONTRIBUTORS.md"; DestDir: "{app}";
+Source: "../UPGRADE.md"; DestDir: "{app}";
+; PARSE_VERSION_FILE_NEXTLINE
+Source: "../doc/GregorioRef-4_0_0-rc1.pdf"; DestDir: "{app}";
+; PARSE_VERSION_FILE_NEXTLINE
+Source: "../doc/GregorioNabcRef-4_0_0-rc1.pdf"; DestDir: "{app}";
+Source: "../COPYING.md"; DestDir: "{app}";
+Source: "../contrib/900_gregorio.xml"; DestDir: "{app}\contrib";
+Source: "../contrib/system-setup.bat"; DestDir: "{app}";
+Source: "../contrib/gregorio-scribus.lua"; DestDir: "{app}\contrib";
+Source: "../contrib/*"; DestDir: "{app}\contrib";
+Source: "../examples/*.gabc"; DestDir: "{app}\examples";
+Source: "../examples/main-lualatex.tex"; DestDir: "{app}\examples";
+Source: "../tex/gregoriotex.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex.sty"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex.lua"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-main.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-chars.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-signs.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-signs.lua"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-spaces.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-syllable.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-symbols.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-nabc.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriotex-nabc.lua"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gsp-default.tex"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregorio-vowels.dat"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../tex/gregoriosyms.sty"; DestDir: "{app}\texmf\tex\luatex\gregoriotex";
+Source: "../fonts/greciliae.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/greciliae-op.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/gregorio.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/gregorio-op.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/greextra.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/parmesan.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/parmesan-op.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/gregall.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/gresgmodern.ttf"; DestDir: "{app}\texmf\fonts\truetype\public\gregoriotex";
+Source: "../fonts/convertsfdtottf.py"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/greciliae-base.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/greextra.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/gregall.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/gresgmodern.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/gregorio-base.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/Makefile"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/parmesan-base.sfd"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../fonts/squarize.py"; DestDir: "{app}\texmf\fonts\source\gregoriotex";
+Source: "../README.md"; DestDir: "{app}\texmf\doc\luatex\gregoriotex";
+
+[Run]
+Filename: "texlua.exe"; Parameters: """{app}\install-tl.lua"" > ""{app}\install-tl.log"""; StatusMsg: "Configuring TeXLive texmf..."; Description: "Add files to TeXLive texmf tree"; Flags: postinstall ; WorkingDir: "{app}";
+Filename: "texlua.exe"; Parameters: """{app}\install-mt.lua"" > ""{app}\install-mt.log"""; StatusMsg: "Configuring MiKTeX texmf..."; Description: "Add files to MiKTeK texmf tree"; Flags: postinstall ; WorkingDir: "{app}";
+
+[Code]
+procedure URLLabelOnClickOne(Sender: TObject);
+var
+ ErrorCode: Integer;
+begin
+ ShellExec('open', 'https://www.tug.org/texlive/acquire.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
+end;
+
+procedure URLLabelOnClickTwo(Sender: TObject);
+var
+ ErrorCode: Integer;
+begin
+ ShellExec('open', 'http://gregorio-project.github.io/installation-windows.html', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
+end;
+
+procedure CreateTheWizardPages;
+var
+ Page: TWizardPage;
+ StaticText: TNewStaticText;
+begin
+ Page := CreateCustomPage(wpWelcome, 'Installation Requirements', 'Please read the following important information before continuing.');
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(0);
+ StaticText.Height := ScaleY(15);
+ StaticText.Caption := 'You are about to install the gregorio software, which is working with a';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Height := ScaleY(15);
+ StaticText.Top := ScaleY(13);
+ StaticText.Caption := 'typesetting software called LuaTeX.';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(35);;
+ StaticText.Caption := 'The installation and use of gregorio needs LuaTeX in order to work.';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(60);;
+ StaticText.Caption := 'The best way to install LuaTeX is to install the TeXLive distribution.';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(75);;
+ StaticText.Caption := 'If you have not already installed it, please do it before proceeding further!';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(100);;
+ StaticText.Caption := 'Note that you have to reboot your computer after having installed TeXLive';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(115);;
+ StaticText.Caption := 'and before installing Gregorio.';
+ StaticText.Parent := Page.Surface;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(145);;
+ StaticText.Caption := 'https://www.tug.org/texlive/acquire.html';
+ StaticText.Cursor := crHand;
+ StaticText.OnClick := @URLLabelOnClickOne;
+ StaticText.Parent := Page.Surface;
+ StaticText.Font.Style := StaticText.Font.Style + [fsUnderline];
+ StaticText.Font.Color := clBlue;
+
+ StaticText := TNewStaticText.Create(Page);
+ StaticText.Top := ScaleY(165);;
+ StaticText.Caption := 'http://gregorio-project.github.io/installation-windows.html';
+ StaticText.Cursor := crHand;
+ StaticText.OnClick := @URLLabelOnClickTwo;
+ StaticText.Parent := Page.Surface;
+ StaticText.Font.Style := StaticText.Font.Style + [fsUnderline];
+ StaticText.Font.Color := clBlue;
+end;
+
+procedure InitializeWizard();
+
+begin
+ CreateTheWizardPages;
+end;
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-mt.lua b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-mt.lua
new file mode 100644
index 00000000000..9170e701de6
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-mt.lua
@@ -0,0 +1,132 @@
+#!/usr/bin/env texlua
+--[[
+Gregorio Windows automatic installation script.
+Copyright (C) 2010-2015 Gregorio Project authors
+
+This program 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.
+
+This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+This texlua script is called in Windows automatic installer (see gregorio.iss),
+it installs GregorioTeX under Windows.
+--]]
+
+require("lfs")
+
+kpse.set_program_name("luatex")
+
+local pathsep = '/'
+
+local function fixpath(path)
+ return path
+end
+
+local function remove_trailing_slash(path)
+ return path:gsub("/$" ,"")
+end
+
+local function basename(path)
+ return path:gsub("^[^/]+/" ,"")
+end
+
+if os.type == "windows" or os.type == "msdos" then
+ pathsep = '\\'
+ fixpath = function(path)
+ return path:gsub("/", "\\")
+ end
+ remove_trailing_slash = function(path)
+ return path:gsub("\\$" ,"")
+ end
+ basename = function(path)
+ return path:gsub("^[^\\]+\\" ,"")
+ end
+end
+
+local texmflocal = fixpath(kpse.expand_var("$TEXMFLOCAL"))..pathsep
+local suffix = "gregoriotex"..pathsep
+
+function io.loaddata(filename,textmode)
+ local f = io.open(filename,(textmode and 'r') or 'rb')
+ if f then
+ local data = f:read('*all')
+ f:close()
+ return data
+ else
+ return nil
+ end
+end
+
+function io.savedata(filename,data,joiner)
+ local f = io.open(filename,"wb")
+ if f then
+ f:write(data or "")
+ f:close()
+ return true
+ else
+ return false
+ end
+end
+
+function copy_one_file(src, dest)
+ local destfile = dest..basename(src)
+ io.savedata(destfile, io.loaddata(src))
+end
+
+function copy_files()
+ if not lfs.isdir(texmflocal) then
+ lfs.mkdir(texmflocal)
+ end
+ print("Copying files...\n")
+ local texmfdist = kpse.expand_var("$TEXMFDIST")
+ --[[ MiKTeX uses slightly different paths for the location of it's bin
+ directory for 32 and 64 bit versions. Since the copy command will fail
+ silently if the destination directory doesn't exist, the simplest way to deal
+ with this is to simply try copying to both locations.
+ --]]
+ texmfbin_32 = fixpath(texmfdist.."/miktex/bin/")
+ texmfbin_64 = fixpath(texmfdist.."/miktex/bin/x64/")
+ print("gregorio.exe...")
+ copy_one_file("gregorio.exe", texmfbin_32)
+ copy_one_file("gregorio.exe", texmfbin_64)
+ print("GregorioTeX files...")
+ os.spawn("xcopy texmf "..texmflocal.." /e /f /y")
+end
+
+function run_texcommands()
+ print("Running initexmf\n")
+ local p = os.spawn("initexmf -u --admin")
+end
+
+function main_install()
+ copy_files()
+ run_texcommands()
+ print("Post-install script complete.")
+ print("Press return to continue...")
+ answer=io.read()
+end
+
+function scribus_config()
+ local f = io.open('contrib'..pathsep..'900_gregorio.xml', 'r')
+ local data = ""
+ for l in f:lines() do
+ if l:match("executable command") then
+ data = data..string.format(" <executable command='texlua \"%s\" \"%%file\" \"%%dir\"'/>\n", lfs.currentdir()..pathsep.."contrib"..pathsep.."gregorio-scribus.lua")
+ else
+ data = data..l.."\n"
+ end
+ end
+ io.savedata('contrib'..pathsep..'900_gregorio.xml', data)
+end
+
+main_install()
+scribus_config()
+
diff --git a/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-tl.lua b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-tl.lua
new file mode 100644
index 00000000000..80a809fd921
--- /dev/null
+++ b/Build/source/texk/gregorio/gregorio-4.0.0-rc1/windows/install-tl.lua
@@ -0,0 +1,189 @@
+#!/usr/bin/env texlua
+--[[
+Gregorio Windows automatic installation script.
+Copyright (C) 2010-2015 Gregorio Project authors
+
+This program 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.
+
+This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+
+This texlua script is called in Windows automatic installer (see gregorio.iss),
+it installs GregorioTeX under Windows.
+--]]
+
+require("lfs")
+
+kpse.set_program_name("luatex")
+
+local pathsep = '/'
+
+local function fixpath(path)
+ return path
+end
+
+local function remove_trailing_slash(path)
+ return path:gsub("/$" ,"")
+end
+
+local function basename(path)
+ return path:gsub("^[^/]+/" ,"")
+end
+
+if os.type == "windows" or os.type == "msdos" then
+ pathsep = '\\'
+ fixpath = function(path)
+ return path:gsub("/", "\\")
+ end
+ remove_trailing_slash = function(path)
+ return path:gsub("\\$" ,"")
+ end
+ basename = function(path)
+ return path:gsub("^[^\\]+\\" ,"")
+ end
+end
+
+local texmflocal = fixpath(kpse.expand_var("$TEXMFLOCAL"))..pathsep
+local suffix = "gregoriotex"..pathsep
+
+function io.loaddata(filename,textmode)
+ local f = io.open(filename,(textmode and 'r') or 'rb')
+ if f then
+ local data = f:read('*all')
+ f:close()
+ return data
+ else
+ return nil
+ end
+end
+
+function io.savedata(filename,data,joiner)
+ local f = io.open(filename,"wb")
+ if f then
+ f:write(data or "")
+ f:close()
+ return true
+ else
+ return false
+ end
+end
+
+function copy_one_file(src, dest)
+ local destfile = dest..basename(src)
+ io.savedata(destfile, io.loaddata(src))
+end
+
+function copy_files()
+ if not lfs.isdir(texmflocal) then
+ lfs.mkdir(texmflocal)
+ end
+ print("Copying files...\n")
+ local texmfbin = kpse.expand_var("$TEXMFDIST")
+ texmfbin = fixpath(texmfbin.."/../bin/win32/")
+ print("gregorio.exe...")
+ copy_one_file("gregorio.exe", texmfbin)
+ print("GregorioTeX files...")
+ os.spawn("xcopy texmf "..texmflocal.." /e /f /y")
+end
+
+function run_texcommands()
+ print("Running mktexlsr\n")
+ local p = os.spawn("mktexlsr "..texmflocal)
+end
+
+local old_base_dirs = {
+ fixpath(texmflocal.."tex/generic/gregoriotex"),
+ fixpath(texmflocal.."tex/latex/gregoriotex"),
+ fixpath(texmflocal.."fonts/ofm/gregoriotex"),
+ fixpath(texmflocal.."fonts/tfm/gregoriotex"),
+ fixpath(texmflocal.."fonts/type1/gregoriotex"),
+ fixpath(texmflocal.."fonts/ovp/gregoriotex"),
+ fixpath(texmflocal.."fonts/ovf/gregoriotex"),
+ fixpath(texmflocal.."fonts/map/gregoriotex"),
+}
+
+-- should remove the Read-Only flag on files under Windows, but doesn't work, no idea why... even the attrib command in cmd.exe doesn't work...
+-- Windows doesn't seem to be a very reliable OS, it should be avoided...
+function remove_read_only(filename)
+ if os.name == "windows" or os.name == "msdos" then
+ os.spawn(string.format("attrib -r \"%s\" /s /d", filename))
+ end
+end
+
+-- a function removing one file
+local function rm_one(filename)
+ print("removing "..filename)
+ remove_read_only(filename)
+ local b, err = os.remove(filename)
+ if not b then
+ if err then
+ print("error: "..err)
+ else
+ print("error when trying to remove "..filename)
+ end
+ end
+end
+
+-- a function removing a directory with all included files, using the previous one
+-- does not work with subdirectories (we shouldn't have any here)
+local function rmdirrecursive(dir)
+ print("Removing directory "..dir)
+ for filename in lfs.dir(dir) do
+ if filename ~= "." and filename ~= ".." then
+ rm_one(dir..pathsep..filename)
+ end
+ end
+ rm_one(dir)
+end
+
+-- gregorio used to be installed in other directories which have precedence
+-- over the new ones
+function remove_possible_old_install()
+ print("Looking for old GregorioTeX files...\n")
+ local old_install_was_present = false
+ for _, d in pairs(old_base_dirs) do
+ print("Looking for "..d.."...")
+ if lfs.isdir(d) then
+ old_install_was_present = true
+ print("Found "..d..", removing...")
+ rmdirrecursive(d)
+ end
+ end
+ if old_install_was_present then
+ os.spawn("updmap")
+ end
+end
+
+function main_install()
+ remove_possible_old_install()
+ copy_files()
+ run_texcommands()
+ print("Post-install script complete.")
+ print("Press return to continue...")
+ answer=io.read()
+end
+
+function scribus_config()
+ local f = io.open('contrib'..pathsep..'900_gregorio.xml', 'r')
+ local data = ""
+ for l in f:lines() do
+ if l:match("executable command") then
+ data = data..string.format(" <executable command='texlua \"%s\" \"%%file\" \"%%dir\"'/>\n", lfs.currentdir()..pathsep.."contrib"..pathsep.."gregorio-scribus.lua")
+ else
+ data = data..l.."\n"
+ end
+ end
+ io.savedata('contrib'..pathsep..'900_gregorio.xml', data)
+end
+
+main_install()
+scribus_config()
+
diff --git a/Build/source/texk/gregorio/version.ac b/Build/source/texk/gregorio/version.ac
index 714a197a50a..486065e3173 100644
--- a/Build/source/texk/gregorio/version.ac
+++ b/Build/source/texk/gregorio/version.ac
@@ -8,4 +8,4 @@ dnl
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current gregorio version
-m4_define([gregorio_version], [4.0.0-beta2])
+m4_define([gregorio_version], [4.0.0-rc1])