summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex')
-rw-r--r--Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex237
1 files changed, 237 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex
new file mode 100644
index 00000000000..79edaf7ad73
--- /dev/null
+++ b/Master/texmf-dist/tex/luatex/gregoriotex/gregoriotex-symbols.tex
@@ -0,0 +1,237 @@
+%GregorioTeX file.
+%
+% Copyright (C) 2007-2015 The Gregorio Project (see CONTRIBUTORS.md)
+%
+% This file is part of Gregorio.
+%
+% Gregorio is free software: you can redistribute it and/or modify
+% it under the terms of the GNU General Public License as published by
+% the Free Software Foundation, either version 3 of the License, or
+% (at your option) any later version.
+%
+% Gregorio is distributed in the hope that it will be useful,
+% but WITHOUT ANY WARRANTY; without even the implied warranty of
+% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+% GNU General Public License for more details.
+%
+% You should have received a copy of the GNU General Public License
+% along with Gregorio. If not, see <http://www.gnu.org/licenses/>.
+
+% this file contains definitions of the symbols
+
+\ifcsname gregoriotex@symbols@loaded\endcsname\endinput\fi%
+\def\gregoriotex@symbols@loaded{}%
+
+\gre@debugmsg{general}{Loading gregoriotex-symbols.tex}%
+\gre@declarefileversion{gregoriotex-symbols.tex}{4.1.1}% GREGORIO_VERSION
+
+\RequireLuaModule{gregoriotex}%
+
+\def\gre@symbolfontsize{\f@size}%
+
+% Defines a symbol which automatically scales with \f@size
+% #1 = control sequence name
+% #2 = font name
+% #3 = glyph name or code point
+\def\gredefsymbol#1#2#3{%
+ \directlua{gregoriotex.init_variant_font([[#2]],false)}%
+ \directlua{gregoriotex.def_symbol([[#1]],[[#2]],[[#3]],false)}%
+}%
+
+% Defines a symbol which takes a point size as argument
+% #1 = control sequence name
+% #2 = font name
+% #3 = glyph name or code point
+\def\gredefsizedsymbol#1#2#3{%
+ \directlua{gregoriotex.init_variant_font([[#2]],false)}%
+ \directlua{gregoriotex.def_symbol([[#1]],[[#2]],[[#3]],true)}%
+}%
+
+%%%%%%%%%%%%%
+%% symbols %%
+%%%%%%%%%%%%%
+
+\gredefsizedsymbol{greABar}{greextra}{ABar}
+\gredefsizedsymbol{greRBar}{greextra}{RBar}
+\gredefsizedsymbol{greVBar}{greextra}{VBar}
+\gredefsizedsymbol{greABarSlant}{greextra}{ABarSlant}
+\gredefsizedsymbol{greRBarSlant}{greextra}{RBarSlant}
+\gredefsizedsymbol{greVBarSlant}{greextra}{VBarSlant}
+\gredefsizedsymbol{greABarSC}{greextra}{ABarSC}
+\gredefsizedsymbol{greRBarSC}{greextra}{RBarSC}
+\gredefsizedsymbol{greVBarSC}{greextra}{VBarSC}
+\gredefsizedsymbol{greABarSmall}{greextra}{ABarSmall}
+\gredefsizedsymbol{greRBarSmall}{greextra}{RBarSmall}
+\gredefsizedsymbol{greVBarSmall}{greextra}{VBarSmall}
+\gredefsizedsymbol{greABarSmallSlant}{greextra}{ABarSmallSlant}
+\gredefsizedsymbol{greRBarSmallSlant}{greextra}{RBarSmallSlant}
+\gredefsizedsymbol{greVBarSmallSlant}{greextra}{VBarSmallSlant}
+\gredefsizedsymbol{greABarSmallSC}{greextra}{ABarSmallSC}
+\gredefsizedsymbol{greRBarSmallSC}{greextra}{RBarSmallSC}
+\gredefsizedsymbol{greVBarSmallSC}{greextra}{VBarSmallSC}
+\gredefsizedsymbol{greABarCaption}{greextra}{ABarCaption}
+\gredefsizedsymbol{greRBarCaption}{greextra}{RBarCaption}
+\gredefsizedsymbol{greVBarCaption}{greextra}{VBarCaption}
+\gredefsizedsymbol{greABarCaptionSlant}{greextra}{ABarCaptionSlant}
+\gredefsizedsymbol{greRBarCaptionSlant}{greextra}{RBarCaptionSlant}
+\gredefsizedsymbol{greVBarCaptionSlant}{greextra}{VBarCaptionSlant}
+\gredefsizedsymbol{greABarCaptionSC}{greextra}{ABarCaptionSC}
+\gredefsizedsymbol{greRBarCaptionSC}{greextra}{RBarCaptionSC}
+\gredefsizedsymbol{greVBarCaptionSC}{greextra}{VBarCaptionSC}
+\gredefsizedsymbol{greABarAlt}{greextra}{RBar.alt}
+\gredefsizedsymbol{greRBarAlt}{greextra}{RBar.alt}
+\gredefsizedsymbol{greVBarAlt}{greextra}{VBar.alt}
+
+\def\grebarredsymbol#1#2#3#4#5{%
+ \leavevmode\hbox to 0pt{}\kern #4\lower#5%
+ \hbox{\csname #2\endcsname{#3}}\kern -#4\relax #1%
+}%
+
+%% Intermediate version or barred glyph definition
+%% #1: the csname you want to define
+%% #2: the letter you'll typeset (you can use bold, italic, etc.)
+%% #3: the symbol corresponding to the glyph in greextra. Must be defined with \gredefsizedsymbol
+%% #4: the size of greextra
+%% #5: the kern of the bar from the beggining of the glyph
+%% #6: greextra glyph lowering
+\def\gredefbarredsymbol#1#2#3#4#5#6{%
+ \expandafter\gdef\csname #1\endcsname {%
+ \grebarredsymbol{#2}{#3}{#4}{#5}{#6}%
+ }%
+}%
+
+%% Most simple version or barred glyph definition
+%% #1: A, R or V
+%% #2: the negative kern
+\def\gresimpledefbarredsymbol#1#2{%
+ \gredefbarredsymbol{#1bar}{#1}{gre#1Bar}{\f@size}{#2}{0pt}%
+}%
+
+% defining \ABar, \VBar and \RBar for libertine font, define yours for your font
+\gresimpledefbarredsymbol{A}{.30em}%
+\gresimpledefbarredsymbol{R}{.35em}%
+\gresimpledefbarredsymbol{V}{.10em}%
+
+\gre@iflatex{%
+ \def\gre@latex@barredsymbol#1#2#3#4{%
+ \IfStrEq{\f@series/\f@shape}{#1}{\grebarredsymbol{#2}{#3}{\f@size}{#4}{0pt}}%
+ }%
+
+ %% define a barred symbol that handles italic, slanted, and small cap shapes
+ %% simply (LaTeX-only)
+ %% Most simple version or barred glyph definition
+ %% #1: A, R or V
+ %% #2: the negative kern for upright shape
+ %% #3: idem, for italic/slanted shape
+ %% #4: idem, for bold shape
+ %% #5: idem, for bold and italic/slanted shape
+ \def\grelatexsimpledefbarredsymbol#1#2#3#4#5{%
+ \expandafter\gdef\csname #1bar\endcsname {%
+ \gre@latex@barredsymbol{m/n}{#1}{gre#1Bar}{#2}{%
+ \gre@latex@barredsymbol{m/it}{#1}{gre#1BarSlant}{#3}{%
+ \gre@latex@barredsymbol{m/sl}{#1}{gre#1BarSlant}{#3}{%
+ \gre@latex@barredsymbol{bx/n}{#1}{gre#1Bar}{#4}{%
+ \gre@latex@barredsymbol{bx/it}{#1}{gre#1BarSlant}{#5}{%
+ \gre@latex@barredsymbol{bx/sl}{#1}{gre#1BarSlant}{#5}{%
+ \gre@latex@barredsymbol{b/n}{#1}{gre#1Bar}{#4}{%
+ \gre@latex@barredsymbol{b/it}{#1}{gre#1BarSlant}{#5}{%
+ \gre@latex@barredsymbol{b/sl}{#1}{gre#1BarSlant}{#5}{%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+ }%
+
+ \grelatexsimpledefbarredsymbol{A}{.30em}{.35em}{.30em}{.33em}%
+ \grelatexsimpledefbarredsymbol{R}{.35em}{.38em}{.45em}{.48em}%
+ \grelatexsimpledefbarredsymbol{V}{.10em}{.12em}{.14em}{.18em}%
+}%
+
+% the gothic R and V
+\gredefsymbol{gothRbar}{greextra}{RWithBarGoth}%
+\gredefsymbol{gothVbar}{greextra}{VWithBarGoth}%
+
+% the macro to typeset a dagger
+\gredefsymbol{GreDagger}{greextra}{Dagger}%
+
+% macro to typeset a (malt) cross
+\gredefsymbol{grecross}{greextra}{Cross}%
+\gredefsymbol{grealtcross}{greextra}{Cross.alt}%
+
+%stars
+\gredefsymbol{greheightstar}{greextra}{StarHeight}%
+\gredefsymbol{gresixstar}{greextra}{StarSix}%
+\let\GreStar\gresixstar%
+
+%%%%%%%%%%%%
+%% Lines %%
+%%%%%%%%%%%%
+%Unlike the character symbols above, we require that the font size be specified when using the lines.
+
+\gredefsizedsymbol{greLineOne}{greextra}{Line1}%
+\gredefsizedsymbol{greLineTwo}{greextra}{Line2}%
+\gredefsizedsymbol{greLineThree}{greextra}{Line3}%
+\gredefsizedsymbol{greLineFour}{greextra}{Line4}%
+\gredefsizedsymbol{greLineFive}{greextra}{Line5}%
+
+%lines
+%#1 is the type of line (1-5)
+%#2 is the number of pt of the font it will use
+\def\greseparator#1#2{%
+ \ifcase#1\relax %
+ \or\greLineOne{#2}%
+ \or\greLineTwo{#2}%
+ \or\greLineThree{#2}%
+ \or\greLineFour{#2}%
+ \or\greLineFive{#2}%
+ \fi%
+}%
+
+\def\gresep#1#2{%OBSOLETE
+ \gre@obsolete{\protect\gresep}{\protect\greseparator}%
+}
+
+%%%%%%%%%%%
+%% Ornamentation
+%%%%%%%%%%%
+
+\gredefsizedsymbol{greOrnamentOne}{greextra}{Drawing1}%
+\gredefsizedsymbol{greOrnamentTwo}{greextra}{Drawing2}%
+
+\def\greornamentation#1#2{%
+ \ifcase#1\relax%
+ \or\greOrnamentOne{#2}%
+ \or\greOrnamentTwo{#2}%
+ \fi%
+}%
+
+%% Specials
+
+\def\gresetspecial#1{\directlua{gregoriotex.define_special_character("#1")}}%
+\def\greunsetspecial#1{\directlua{gregoriotex.undefine_special_character("#1")}}%
+\def\GreSpecial#1{\directlua{gregoriotex.special_character("#1")}}%
+
+\gresetspecial{A/}{\Abar{}}%
+\gresetspecial{\string\037}{\%{}}%
+\gresetspecial{R/}{\Rbar{}}%
+\gresetspecial{V/}{\Vbar{}}%
+\gresetspecial{'æ}{\'\ae{}}%
+\gresetspecial{'ae}{\'\ae{}}%
+\gresetspecial{'œ}{\'\oe{}}%
+\gresetspecial{'oe}{\'\oe{}}%
+\gresetspecial{ae}{\ae{}}%
+\gresetspecial{oe}{\oe{}}%
+\gresetspecial{*}{\GreStar{}}%
+\gresetspecial{+}{\GreDagger{}}%
+\gresetspecial{-}{\gre@char@zerohyph{}}%
+\gresetspecial{\string\092}{\textbackslash{}}%
+\gresetspecial{\string\038}{\&{}}%
+\gresetspecial{\string\035}{\#{}}%
+\gresetspecial{\string\095}{\_{}}%
+\gresetspecial{\string\126}{\gretilde{}}%