From fccd789bbf541302533ca5c4ae75ce56b7d371db Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 4 Mar 2021 22:14:54 +0000 Subject: gregorio-6.0.0-beta2 git-svn-id: svn://tug.org/texlive/trunk@58126 c570f23f-e606-0410-a88d-b1316a301751 --- .../src/gabc/gabc-notes-determination.l | 69 +++++++++++++++------- 1 file changed, 47 insertions(+), 22 deletions(-) (limited to 'Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l') diff --git a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l index d19e53f51ae..d142b546a01 100644 --- a/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l +++ b/Build/source/texk/gregorio/gregorio-src/src/gabc/gabc-notes-determination.l @@ -3,7 +3,7 @@ * Gregorio is a program that translates gabc files to GregorioTeX * This file implements the note parser. * - * Copyright (C) 2006-2019 The Gregorio Project (see CONTRIBUTORS.md) + * Copyright (C) 2006-2021 The Gregorio Project (see CONTRIBUTORS.md) * * This file is part of Gregorio. * @@ -996,55 +996,55 @@ void gabc_det_notes_finish(void) \] { gregorio_end_autofuse(¤t_note, ¬es_lloc); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverBrace{%s}{0pt}{0pt}{%d}", gabc_notes_determination_text, char_for_brace); - gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); + gregorio_add_texverb_to_note(current_note, gabc_unescape(tempstr)); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreUnderBrace{%s}{0pt}{0pt}{%d}", gabc_notes_determination_text, char_for_brace); - gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); + gregorio_add_texverb_to_note(current_note, gabc_unescape(tempstr)); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{0}", gabc_notes_determination_text, char_for_brace); - gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); + gregorio_add_texverb_to_note(current_note, gabc_unescape(tempstr)); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_snprintf(tempstr, sizeof tempstr, "\\GreOverCurlyBrace{%s}{0pt}{0pt}{%d}{1}", gabc_notes_determination_text, char_for_brace); - gregorio_add_texverb_to_note(current_note, gregorio_strdup(tempstr)); + gregorio_add_texverb_to_note(current_note, gabc_unescape(tempstr)); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_cs_to_note(¤t_note, - gregorio_strdup(gabc_notes_determination_text), false); + gabc_unescape(gabc_notes_determination_text), false); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_cs_to_note(¤t_note, - gregorio_strdup(gabc_notes_determination_text), true); + gabc_unescape(gabc_notes_determination_text), true); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_texverb_to_note(current_note, - gregorio_strdup(gabc_notes_determination_text)); + gabc_unescape(gabc_notes_determination_text)); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_texverb_as_note(¤t_note, - gregorio_strdup(gabc_notes_determination_text), + gabc_unescape(gabc_notes_determination_text), GRE_TEXVERB_GLYPH, ¬es_lloc); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_texverb_as_note(¤t_note, - gregorio_strdup(gabc_notes_determination_text), + gabc_unescape(gabc_notes_determination_text), GRE_TEXVERB_ELEMENT, ¬es_lloc); } -[^\]]+ { +(\$.|[^\]])+ { gregorio_add_texverb_as_note(¤t_note, - gregorio_strdup(gabc_notes_determination_text), GRE_ALT, + gabc_unescape(gabc_notes_determination_text), GRE_ALT, ¬es_lloc); } \/\[ { @@ -1211,6 +1211,12 @@ Z- { `0 { add_bar_as_note(B_VIRGULA_HIGH); } +`\? { + add_bar_as_note(B_VIRGULA_PAREN); + } +`0\?|`\?0 { + add_bar_as_note(B_VIRGULA_PAREN_HIGH); + } \^ { add_bar_as_note(B_DIVISIO_MINIMIS); } @@ -1223,6 +1229,12 @@ Z- { ,0 { add_bar_as_note(B_DIVISIO_MINIMA_HIGH); } +,\? { + add_bar_as_note(B_DIVISIO_MINIMA_PAREN); + } +,0\?|,\?0 { + add_bar_as_note(B_DIVISIO_MINIMA_PAREN_HIGH); + } [,;][1-8] { add_bar_as_note(parse_dominican_bar(gabc_notes_determination_text[1])); } @@ -1275,16 +1287,29 @@ r8 { gregorio_add_special_sign(current_note, _MUSICA_FICTA_SHARP); } x { - gregorio_change_shape(current_note, S_FLAT, legacy_oriscus_orientation); + gregorio_change_shape(current_note, S_FLAT, + legacy_oriscus_orientation); + } +x\? { + gregorio_change_shape(current_note, S_FLAT_PAREN, + legacy_oriscus_orientation); } # { gregorio_change_shape(current_note, S_SHARP, legacy_oriscus_orientation); } +#\? { + gregorio_change_shape(current_note, S_SHARP_PAREN, + legacy_oriscus_orientation); + } y { gregorio_change_shape(current_note, S_NATURAL, legacy_oriscus_orientation); } +y\? { + gregorio_change_shape(current_note, S_NATURAL_PAREN, + legacy_oriscus_orientation); + } !?\/0 { gregorio_add_space_as_note(¤t_note, SP_HALF_SPACE, NULL, ¬es_lloc); -- cgit v1.2.3