From e1b79cca4dbd29ea22ac84879fd457d4e242a73a Mon Sep 17 00:00:00 2001 From: "Henry So, Jr." Date: Wed, 3 Feb 2016 23:38:51 -0500 Subject: [PATCH] Added more tests for code coverage. For gregorio-project/gregorio#697 and #112. --- tests/gabc-dump/centered-initial.dump | 53 +++ tests/gabc-dump/centered-initial.gabc | 3 + tests/gabc-dump/glyphs/divisio_finalis.dump | 19 +- tests/gabc-dump/glyphs/divisio_finalis.exp | 4 +- tests/gabc-dump/glyphs/divisio_finalis.gabc | 3 +- tests/gabc-dump/glyphs/divisio_finalis.pdf | Bin 6990 -> 7213 bytes tests/gabc-dump/glyphs/shapes.dump | 352 ++++++++++++++++++++ tests/gabc-dump/glyphs/shapes.exp | 4 +- tests/gabc-dump/glyphs/shapes.gabc | 4 + tests/gabc-dump/glyphs/shapes.pdf | Bin 26924 -> 28763 bytes tests/gabc-dump/glyphs/styles.dump | 286 ++++++++++++++-- tests/gabc-dump/glyphs/styles.exp | 4 +- tests/gabc-dump/glyphs/styles.gabc | 4 + tests/gabc-dump/glyphs/styles.pdf | Bin 26545 -> 29891 bytes tests/gabc-dump/nabc-edge.dump | 60 ++++ tests/gabc-dump/nabc-edge.gabc | 4 + tests/gabc-gabc/centered-initial.exp | 4 + tests/gabc-gabc/centered-initial.gabc | 1 + tests/gabc-gabc/elision.exp | 3 +- tests/gabc-output/centered-initial.gabc | 1 + tests/gabc-output/centered-initial.pdf | Bin 0 -> 5251 bytes tests/gabc-output/elision.gabc | 1 + tests/gabc-output/elision.pdf | Bin 8723 -> 9887 bytes tests/gabc-output/first-bar.gabc | 8 + tests/gabc-output/first-bar.pdf | Bin 0 -> 5340 bytes 25 files changed, 779 insertions(+), 39 deletions(-) create mode 100644 tests/gabc-dump/centered-initial.dump create mode 100644 tests/gabc-dump/centered-initial.gabc create mode 100644 tests/gabc-dump/nabc-edge.dump create mode 100644 tests/gabc-dump/nabc-edge.gabc create mode 100644 tests/gabc-gabc/centered-initial.exp create mode 120000 tests/gabc-gabc/centered-initial.gabc create mode 120000 tests/gabc-output/centered-initial.gabc create mode 100644 tests/gabc-output/centered-initial.pdf create mode 100644 tests/gabc-output/first-bar.gabc create mode 100644 tests/gabc-output/first-bar.pdf diff --git a/tests/gabc-dump/centered-initial.dump b/tests/gabc-dump/centered-initial.dump new file mode 100644 index 00000000..a16fda7f --- /dev/null +++ b/tests/gabc-dump/centered-initial.dump @@ -0,0 +1,53 @@ +===================================================================== + SCORE INFOS +===================================================================== + number_of_voices 1 + name centered initial + + +===================================================================== + HEADERS +===================================================================== + name centered initial + + +===================================================================== + VOICES INFOS +===================================================================== + Voice 1 + initial_key 3 (c2) + + +===================================================================== + SCORE +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_FORCED_CENTER +--------------------------------------------------------------------- + character I +--------------------------------------------------------------------- + end of style ST_FORCED_CENTER +--------------------------------------------------------------------- + character n +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +===================================================================== diff --git a/tests/gabc-dump/centered-initial.gabc b/tests/gabc-dump/centered-initial.gabc new file mode 100644 index 00000000..e46e8f9a --- /dev/null +++ b/tests/gabc-dump/centered-initial.gabc @@ -0,0 +1,3 @@ +name: centered initial; +%% +(c2) {I}nitial(g) diff --git a/tests/gabc-dump/glyphs/divisio_finalis.dump b/tests/gabc-dump/glyphs/divisio_finalis.dump index 6057f339..723e549f 100644 --- a/tests/gabc-dump/glyphs/divisio_finalis.dump +++ b/tests/gabc-dump/glyphs/divisio_finalis.dump @@ -21,7 +21,7 @@ ===================================================================== SCORE ===================================================================== - type 8 (GRE_SYLLABLE) + type 5 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character d @@ -29,13 +29,13 @@ type 3 (GRE_ELEMENT) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - type 2 (GRE_GLYPH) - glyph_type 16 (G_PUNCTUM) + glyph_type 15 (G_PUNCTUM) - - - - - - - - - - - - - - - - - - - - - - - type 1 (GRE_NOTE) pitch d shape 1 (S_PUNCTUM) ===================================================================== - type 8 (GRE_SYLLABLE) + type 5 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER @@ -46,20 +46,23 @@ --------------------------------------------------------------------- end of style ST_CENTER --------------------------------------------------------------------- - type 11 (GRE_BAR) + type 8 (GRE_BAR) bar 5 (B_DIVISIO_FINALIS) --------------------------------------------------------------------- - type 13 (GRE_CUSTOS) + type 9 (GRE_CUSTOS) pitch h force_pitch true ===================================================================== - type 8 (GRE_SYLLABLE) + type 5 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- - type 11 (GRE_BAR) + type 8 (GRE_BAR) bar 5 (B_DIVISIO_FINALIS) --------------------------------------------------------------------- - type 13 (GRE_CUSTOS) + type 12 (GRE_TEXVERB_ELEMENT) + TeX string "{X}" +--------------------------------------------------------------------- + type 9 (GRE_CUSTOS) pitch f force_pitch true ===================================================================== diff --git a/tests/gabc-dump/glyphs/divisio_finalis.exp b/tests/gabc-dump/glyphs/divisio_finalis.exp index 5bafda46..84f3abfc 100644 --- a/tests/gabc-dump/glyphs/divisio_finalis.exp +++ b/tests/gabc-dump/glyphs/divisio_finalis.exp @@ -1,4 +1,4 @@ name: the final divisio finalis; -generated-by: gregorio 4.0.0-rc2-fix-670-af3219a-2704; +generated-by: gregorio 4.1.0-beta1-develop-7a5827a-3055; %% -(c3)d(d) h+(::h+) (::f+) +(c3)d(d) h+(::h+) (::[ev:{X}]f+) diff --git a/tests/gabc-dump/glyphs/divisio_finalis.gabc b/tests/gabc-dump/glyphs/divisio_finalis.gabc index 3813bf44..b85b0a9c 100644 --- a/tests/gabc-dump/glyphs/divisio_finalis.gabc +++ b/tests/gabc-dump/glyphs/divisio_finalis.gabc @@ -1,3 +1,4 @@ name: the final divisio finalis; +def-m1: {X}; %% -(c3) d(d) h+(::h+) (::f+) +(c3) d(d) h+(::h+) (::[em1]f+) diff --git a/tests/gabc-dump/glyphs/divisio_finalis.pdf b/tests/gabc-dump/glyphs/divisio_finalis.pdf index 1c36acec507f0333dadd70c2611dab3561432a64..433d72a7a577410109faa150b5d1c79565f9f0b9 100644 GIT binary patch delta 3914 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 Y`UA~-3sI9N8yyNbH#Z6;B}Gq03WSPl=l}o! delta 3736 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 diff --git a/tests/gabc-dump/glyphs/shapes.dump b/tests/gabc-dump/glyphs/shapes.dump index 42281919..ec53b2c1 100644 --- a/tests/gabc-dump/glyphs/shapes.dump +++ b/tests/gabc-dump/glyphs/shapes.dump @@ -1805,6 +1805,358 @@ ===================================================================== type 5 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 23 (G_PORRECTUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 24 (G_PORRECTUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 21 (G_TORCULUS_RESUPINUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character b +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 22 (G_TORCULUS_RESUPINUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch b + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch a + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character m +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character m +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 21 (G_TORCULUS_RESUPINUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch m + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch m + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character m +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character m +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 22 (G_TORCULUS_RESUPINUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch m + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch m + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character j +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character m +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 22 (G_TORCULUS_RESUPINUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch j + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch m + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch l + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character o +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character h +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + character h +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 22 (G_TORCULUS_RESUPINUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 10 (S_ORISCUS_ASCENDENS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch h + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch h + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + character w +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 22 (G_TORCULUS_RESUPINUS_FLEXUS) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 14 (S_QUILISMA) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER --------------------------------------------------------------------- diff --git a/tests/gabc-dump/glyphs/shapes.exp b/tests/gabc-dump/glyphs/shapes.exp index 3e3fab6d..f6330480 100644 --- a/tests/gabc-dump/glyphs/shapes.exp +++ b/tests/gabc-dump/glyphs/shapes.exp @@ -1,4 +1,4 @@ name: shapes; -generated-by: gregorio 4.1.0-beta1-fix-697-798934f-3052; +generated-by: gregorio 4.1.0-beta1-develop-7a5827a-3055; %% -(c3)fg(fg) gvFE(gvFE) ghg(ghg) ghgh(ghgh) ghghg(ghghg) gqh(gqh) gFE<(gFE<) gFE~(gFE~) gs(gs) gs<(gs<) gf(gf) g=(g=) h=(h=) fvE'D.(fvE'D.) gvFD(gvFD) hvGD(hvGD) ivHD(ivHD) iv>(iv>) ige(ige) ige~(ige~) dfec~(dfec~) dwfec~(dwfec~) egi(egi) egi~(egi~) GrGrFr(GrGrFr) GrGrFr<(GrGrFr<<) FrGrFr_0(FrGrFr_0) GrFrEr(GrFrEr) Gr<(Gr<~(gf~) g'f~(g'f~) g'0f~(g'0f~) (:) gor(gor) gor>(gor>) gor~(gor~) {g}r/Gr/gor<(gr/Gr/gor(-fg>) -fg<(-fg<) fwg>(fwg>) ivH<(ivH<) fWg(fWg) hs<(hs<) g'h'..(g'h'..) g'h..'(g'h'..) gv(gv) hv(hv) gV(gV) hV(hV) gO(gO) hO(hO) gfd~(gfd~) hge~(hge~) g.fd~(g.fd~) G~(Gr) h+(h+) +(c3)fg(fg) gvFE(gvFE) ghg(ghg) ghgh(ghgh) ghghg(ghghg) gqh(gqh) gFE<(gFE<) gFE~(gFE~) gs(gs) gs<(gs<) gf(gf) g=(g=) h=(h=) fvE'D.(fvE'D.) gvFD(gvFD) hvGD(hvGD) ivHD(ivHD) iv>(iv>) ige(ige) ige~(ige~) dfec~(dfec~) dwfec~(dwfec~) egi(egi) egi~(egi~) GrGrFr(GrGrFr) GrGrFr<(GrGrFr<<) FrGrFr_0(FrGrFr_0) GrFrEr(GrFrEr) Gr<(Gr<~(gf~) g'f~(g'f~) g'0f~(g'0f~) (:) gor(gor) gor>(gor>) gor~(gor~) {g}r/Gr/gor<(gr/Gr/gor(-fg>) -fg<(-fg<) fwg>(fwg>) ivH<(ivH<) fWg(fWg) hs<(hs<) g'h'..(g'h'..) g'h..'(g'h'..) gv(gv) hv(hv) gV(gV) hV(hV) gO(gO) hO(hO) gfd~(gfd~) hge~(hge~) g.fd~(g.fd~) bab(bab) baba(baba) abab(abab) ababa(ababa) lmlm(lmlm) lmlml(lmlml) ijiml(ijiml) gohghg(gohghg) gwigig(gwigig) G~(Gr) h+(h+) diff --git a/tests/gabc-dump/glyphs/shapes.gabc b/tests/gabc-dump/glyphs/shapes.gabc index 0470eb6e..f4ce11e5 100644 --- a/tests/gabc-dump/glyphs/shapes.gabc +++ b/tests/gabc-dump/glyphs/shapes.gabc @@ -9,7 +9,11 @@ GrGrFr(GrGrFr) GrGrFr<(GrGrFr<) FrGrFr_0(FrGrFr_0) GrFrEr(GrFrEr) Gr<(Gr~(gf~) g'f~(g'f~) g'0f~(g'0f~) (:) gor(gor) gor>(gor>) gor~(gor~) {g}r/Gr/gor<(gr/Gr/gor(-fg>) -fg<(-fg<) fwg>(fwg>) ivH<(ivH<) fWg(fWg) hs<(hs<) g'h'..(g'h'..) g'h..'(g'h..') gv(gv) hv(hv) gV(gV) hV(hV) gO(gO) hO(hO) gfd~(gfd~) hge~(hge~) g.fd~(g.fd~) +bab(bab) baba(baba) abab(abab) ababa(ababa) +lmlm(lmlm) lmlml(lmlml) ijiml(ijiml) +gohghg(gohghg) gwigig(gwigig) G~(Gr~) h+(h+) diff --git a/tests/gabc-dump/glyphs/shapes.pdf b/tests/gabc-dump/glyphs/shapes.pdf index a420ab34eb46b5a495aef41d0f3a8e4530f2037c..4e81364bf5f3a4406de16c465bd9c7167f61844e 100644 GIT binary patch delta 19270 zcmZUa1B`D?)8OyewrzXnj&0kv?fH*w+qQkjwr%r{t$m(%_uJj%%}G~R>r;lj@VI zUsqQz0B!C8QIIK!h|w|8vq6*1Ee)?hGqZ6KG7{PwSwZvgFvytNnY&mJGP5%?CK2(H z0cy0R<48K-dS2>onYcud2)uy$f4T9auW2WC*ghu{dXM9>r+t3;(6(*Ur>G=u#*F0i zY}4KmMSe=mf8TEQ6Zm=EFF(9c3@j3y3E=8bzaa{{aTO2p19-mftN1@*0H1GrIY&OP zyF%}WgoF`9dk+A30N~x)8R-U@w==vE07J#s9$u~t^+N0P{{48$kqV+VMy&_G`{TPd zQA#iU+vmse^_XGjZPvVo6k$$9%M#R=Om`KpP|lI0Zl{R`mMOSqLH(q#UNY*U{%?J z4i-gjYw75dQLo!?twojZwPik`f(!MOvEiJ@b-$JdA*B-MsB>6D}sFBN3`f%m8rLJ22xkX_3j{ArlyB_QZ7i)9TBtPQsRW;9Dy{vd_6pG-*A|Yrzv&K7NFdolG!3%}HP4ckMk=cPdK#Q#U`eEI$NDeRF$Vv1C7?6 zq|J`?71j{1puF~qC-4DYGZ0D{;URR{;B|;VfeT4BxVaY=gdwFrn|OiPZfA~ldel^a z1~#?UzL#`q4x`h6spDh--}~!^!R-EM&Knvh=qxeJ`RZqwG#KTCC?5xr$s0B)$T9*B zOfD+dWex&y$jXB`Gg8^)$@Q!e$E$v-*VNVy6D>`vzd;2ONZl_DBxBgAyK__#`3r=G z#{235Z7Uw1f#@;(-B!F-sDE`32kuq@A2|l+Z>$6iJP>kt4VlRUY~S4dRR(g0(3PDJ zm>Dzcmtjq(lf!9X(R3?j@7WYw8jw0r7ZmF8*_lPG1Gl^Rf@1nogiJ*`1J`n^$7msi zTB?sdViUk1D#m)cBc~B2+$UkUY9zF}u)Cdqp|1G{wu1V_xI@CwL#^l>|;FZ4d4#&PhNsvXfSuea!X7gSmv4-w$4c44JQ;h34TkzI0 zkL62aZ;4j0*OJ+?rdKfS|3e>tkk5E-TrR3O{_%K5j5G}S z`PCpQkN^!}^Jfl^Oy)$$_n;C(+fzALib)Jzw=M(&Kv7YX9ndVIAb1Png-Rn>jG+-rMMEYy>HGm!dr<6&0*kn_V^rm3XSMwk0gZulAw&=OZG2dnvEQLEkR?jMp~8K zhu=FUOHN*{Lh(-vc-p5*aYpKe15LSdiiQ)M{op}HFEM1l=~UK;kz;cW{>m4E!pK(| z(3E=sw6=++{H6vPH5bO=}?b_{9^ug*7>=mUdw$~_zWr7RL zYB@q(tlYHZ6pQl)CP}Fo$miz6GqD+JrnI>kVu6&5K%AP^U(??fMR};uaq)D9yI1S; zbr`S2{pRl&l<-AH2>cpTH*o-&9QpGJ!}{QeW$tDENls#6_E*q5T3me_73p58oU6AR z5aW*#2tnI?;?qMIokV@uti{l=@@DGdK0K-FKK*uhU|!C`B9vADg*rp^5}JxhmY^F? zbIx4G&UMf)sA!v-YMPjbHD$P05TmLG{^c7)HL>~Sk%8l}2P~6irRwSeBXmW&5PA;A z)RS$9-WzKl5#nftbXJ+9UU`SI`2kD`I9itc+eb#y_(qCz5T4Mff^=&!c>DG4E^2zV zbVAcTqldid5}%UI9m<6>{QYC=!LJINa)U#j4fEhT=ufG+Xt&F_5`XJxf>~7P)Mj{P zwG$R<=->enDiO}vm|*R(ZF%V1;7TtBo3>?iXX#4`948jnNVBowO(2e;<|dg27!VW9 zz~rVbDLITMsjPcw(7wbJ$8e^M{MC&8`@-Uiay`er!u9Bsy-{Lamz5%g|g_y6$m#ObpoJc(lH+eg6m}o_sB=5g&EFqk}~7H|*p5st*1CI6J zf`wmdfFkd4s39GkEY_+P8~dX}U7u0S@lwOz(Sz|6P-<(ElJj6A7M@J08a2cA=Pcef zputR`Y}0d&D|k#`GNZSOLsMlTi4cuNuV4%&BkTh9rG?y&fz76ZUrJhHfDZRM;9mZ1 zJs>36^k2Uif_Y4V1N717YGvbd#g+MiVKtR(gAl$pvnXvE>b7e7r=bmWntdv8)-o%` zfN>P7XJ;Ozd6I56@~>f5yc%(uA+8XwRrrr&HT{8m*0Kmwl#XSccjXyjv)QqZf;Vnm zI(gbcS$Tx8{>HC~GUPFr018sbFk@ER2P* zu|G!?)!jAt8a8c2y{zn}7OS_Q1d^tRS!|w4kht(*IkKAW8bOWJZCJ|E>2Q!N778j)sY=rJb z@iN7ztepm0r?NDl2bRa@aqzbTiAX;IH%_jHFay0uGaRDRAdAfzeevUx(fOZspu>qe*^K0v2UCT)B$Cjh7v5XL9?*XSATgaMz7?X@; z_1G?Ii_sZu$@dM%(Y}yAnB--jn%6YvXE%!kYqtePZOLyyeIJTS`v!`nQ?APesIT-n z%_s-q;gZ3WR1fekSydk&M>S9gu8?*bK5CB;tA~|6bgM5wJt*7!yGT!?*$H4+qUM() zVL%tSjiBqENGvXASdvN^_EpXlK@Zj6NPeSRB!T;6+e7KzpKm73;2FLx#&&)p4_eD@Adw=ez4~!_nF>nU3f+F z0*LTSBtDDnb_0H{iUd;co-XV1{7iZSSU-Mz^A-LP*l9<8STz=`ATD2tqo&Pe^FV!1 zlV^QJP;mjC%}4V}BL;SJQtTarsi09_EhVlpcr!Y5!^Vc zHH(Z<15a8b9=x3TVsLUO~~{btp|Z7CswX8~C<2*~3&HW^p{#<%5yY~XmIo3j5}6VU!3)FYI_AAl)Uqn$Cp@0dS>Z}O zcNaE!<{uGEvhkJ!(xx-YX1x&{vf&jo&nVWE@t!#k%UKFjp5%M1NM%r5vQw6Uawx7= z9F~~}td6G<+!Q(LS*ui9D1cnxN!AZp0N>s?1kas$=9irj_gjE{AorWU=ZtgGQ5LMc zpTA|s>biX-i@cvf#)FKXLC!zIA&aB7DR0J;od5O+B-f{p{WQa;PkF@icCe~zwbDNZg2c-f-^}B?9X1uSRY%H=J9&IR`2eU*bH4$2yT84??_So;642Z8>+SLZ zd|p25_;2;~YV-8yXY=&=eEd4PeZLlQey*RNR(JV7@6Yeg(^d&;^9q0N;z{rxDay@! zz8ToquvKJMP?NF*jv=E$Zs-65`fG96TrPq!#~Rx#orcOc^wgv{-x|S#T|~TI@pNYu$R&p$ zlB^np8k86USg7VT0sDGppss)={8_bHl6tw4+iD7lrBH#d_a7e;7kn1wU z<~woNCqWnsAe+#5VhAqTlUwlDk??6j7#nb{{J*&bD1y!ra{|`2!XWJSLPNt4H2Z^G zNiKZ*l&Pq<#%%W!yvBq)I0tL)roeA2a%n9=4_S)K*8Gmj@jK_1xBAp-C&_t)pniKB zdql$@qVdvcwei-M+~xwvI<7152NMyt!V$^T%C8EZ&aZ>7Erk_ zlHBe|NWE+!T3?ID;L+Ih8Lt}$p0{za=L&5u*)Nh1m55TJ&d2I%$aKQAqBtLPqPl7!agSA3inqk@g)mm z*=j{&6Bq?)$Nhu2Kb0EXb=Jqb9iQC-Lp_}_^>?6160yBQc`n3)-z#`8wDxQq30@Wh zU;f;x5E5%5)kw-y*y&dD)kX>&6Q3^t`e3nk(=EjOT8XAi!&^WK$%}}xD{A|BSp02H zbgXD1y!bdEE}#}5)AhcTUxur-`iP0ZUlw?ijb9hnki3>yskm`rIqF&n$GG+|ivNzbG3vOQ(>n8}n4%rK8LHpN{TBqM%; z#swxAXP@A&e_e8gtzFTdIZPJ>>SLoT#kjTr5C5{^_s9%*Ej?S4%z&s04F?V4wk_2w z7ePGw&=iPS`YPw5iY8QH*<}QY_Bj=Hr1pnnG}?|!cT><(1OYO{UVGI`fVMGkn~G95 z<+qX}=CrD3N3)tjJVb?-VJijy6VKZ(jkC~H8|kp1x9!MTnXx)j^q$ICm%0Rp22>Vg zDJmZ&iyaIg8_xcCCiGZ-g*NUa`dy})aHW~mbz6UmM4`nEjWF5YNgvs)^H(iQw&>=5 zW91^76n0HHtS4?Eqb9?CE_}L%I$4CumfuT`*rra2s%!i4(d7Y-Y@TCMprJoxQ^7|B z(X_5ot;bUo{~&2QWyN;*l+?H{m$x|VkrlLj#up#JnGE*_mny7Usu&C3HL*4;OBz8z z3T_vt8PpzfR&wB1_6i5;BO(#o?l9g*sCh6XWGhGUX>mCuV38wnw*>98{iS7;R z09>P+_;=Fm@^)jqAeWXhd{qk38q#H=$Hxts7*a=`#$^(lx}Rdtwkedb46iW|BEcV{ znvO)t|4vbTVcE-Ug4wnle1$Kdkz)JFP6Q3Gdc=2L`*4SE*>8mbs-Z?#6_!udH1thdH3qog&a{&e#RBi!+=EsAO zxiL$k6?n44z@a*G-`RvO6dRIPJ*IaIM-HdQb|XF=v3-{qK!CBdVuZ%;H+H+)UX%oI z;pWzohbFEs^t%|}3sEZSaqm?X56kKND%Zpi(F!c~5rhM_dagdJUCNe#_W@?62s7sI zx&+E9+v*reS({Lg9VAp1FjGU5INIQTT zINP;~qdFKyz%ZUT@N?cVx z@J$fB6S;UH4|uK&KX*KYy+9FcXrT&=`QF-DIaAFyur0t=9VNo>u=t0pZ>L0JDcbv|WMDjd?ND zurfVChuTmc#u;3jjH2_7v;1Y|9t! z3nss8APXOa8yeI-?|T}Z-6D0IRp<~rre2y?eD}w}f6P*7E#`OO+`<5(FT|U*Grvk& zIQqVOa92$^ToA23tSMeVA(pa>;mABGy&%LnMbF(v7wtFkuE~C{_X;r<^_30*L)|lO zMv)B1>Do(7jGv$Z+D3(K-r*6qG1HUq2yP3%V!YgK#Q5B`ZR9@L#(Sc|3C@;y4iB7;;_^@AZ}T^?{>G{W1b42ZuvP2af>%rN0R({h!2xgCl7ZmlA}7k@KH) zgB+j%rJ}6f)&pc`L=%(pv8ylXH!F&3rA?rkUDgWkim#vzo&qc+LXI^ADgviWI8Fow zm5vE+4h9OUh#F70RJiGz7%^2)}y@8$Zle#^(kq1R>3p317VW>nW-X!DyJ?%kbJ z?kovR1_m+W1lVjQ5|jOVE_-=-mEqC~<|4qibq2MYu#rmUhdn{~4>E+IJ!#KOxCAjY ze&HS!{39{5{cO^X9%*Xxcf$85#1&y^0_8_XUc}daK^wpCCBX^r(wAWL3u9;rVNmFG z^*2ubIn#KR>VuKW<-*|ti#d6jN$K!#t?Ua9(pRbeUio~H`1|xOV#^EzrIo8uqdp*- zdY(Zd1wG}AgE-gk{d)thviY(6u|4@{t+|}dab6KO} z%IMRKqE7ln8#kp`>*n+)+W#j?z4w?Uub1V~9Fc_4p2?o2C>>0OIcdNG3rBe%nJGnv zO?hyM1#XI{G=po#h3PZ{W-4v!WeVU+ofbwaz^uuvdLLktU{Yd|Lb{NY(B1@R9O^m8 z!7xJWsqVB$vi5*Ciz|PyJT7N!y{2Dcb$;4N=1b~3p`XxwKTpF}hpo@M>u$HJykqal zt(WzY`M1T}NsLbmpMqmT`{U0JL-Q_tqa=J+GhT+(o!$rav}O##tA6eqT^j&{-qI5? zG~pJ$I(S_Ks4f99psFtjW>D368uM7ZeoIf8NSc4c)M;t0ktE^nPQ=Yq?SzRHi7g$|cv*`NGou_bOpBj}7nLX!#ZDgSTD>0Xfnh@kJZ+=L_kw-2;?qrYt&Kx+x_xn674ju!h(KJvURljN5oIlY$UN; z?_T!xYUPq&P=-%zSgrL@?wCWPfFYLBAVOR%G!>NE{6xD8^iBPBO$)%*{=4rUS@-sU zjxobmsP(!t>&lX2{d_&b!a@;hh|ie%#x(Ob`aA|h219NoNf0pm7&0aM>Ks;eStb-M zwF!%k9(KWI?VO`40iV@EAMW0tpqx0k>lNv~#~MchLmYIX!8id|MAaMLYBT+%LFj~~ zSDGm_XA$2|o9=T%feCo4Cv#PdSQ6}wwIKt z^r81Mdm99U;X)T<)?4t5HZ8~ZyAHa&b8n?l%;1g6_o^(z?ZgEux%- zj3^PL4LL#QPynoXk3a;>A+*H8lD{+s(SJ$%7!(qQX`;8hel%E2r(qM+KE!H_?vl@V z7lYC8?SerW6+OiNISL9Th{qL11(eLBG`ejJVty z-$?JEjH5kDN>a^aHGS;75aw=6wQYmW=NXu&vjXr3gkkLahw7Pg@Z9hu-pBo@t7VQJ zux!Bi_o2McT{tWEk}XW{S0F_xGJ&Q9+E*yI*%IbfX5>UcA5No=+O^)e+UNw)^YIO5 z?f>%5?{R(cJ6`@fKKRL>O^}YLdZEEE=4>H#mdNUJO(oTHc-Q!Pj3PuYoVTkj_tLyN zTn7+{Xe2RP`BXi&v{GS5hp^Wd0Phy$vFxJq8UbGY-Uf?qM5w?2InpZ*jJX+!_YgZ= zbO@>n+MT^+=ba?0ZB(thQEBBu$O9D053~5@FGJ;Vxsz)Q<2bABI< za$#8hjS_`HK@Sbv39VPILrxGFS6VsDaklL^0g*1PBNp{azH8@jl!g2rzunjl8w05P zg*H^L1H)&@weB+NpKx9NkzIy;uwtf)TR1W|toK`Z+snFaXX>EiU9-GAC*-?yWN|g+ zRL8pBfTPJY=2%t3kkZug^_gpkA)e7B6bWr2)#P-v;a<8pAFq}ms5{msM*7hC1bayT zuqOcal>#Am*YC;s@Fb{WIj|(%mK{LQWEApMoO=+bOHe7i^|i#=CB3dQMh-9kh&zeV<8`-irssPXl+0j=e&k!E34hefSe0!JA*Hu-DH!`vEvN7@-1-0nF z1V8=G+&|dpVw;AUMbKz->|Pwkb~BT*)=9jE^b|0Xk?-@ixA99zc)N#I9Z$Q^7WD%n zAJ02;5t+lDe+rJxyr);_s*t#7NP^hubz5Pv?$^TNX1)MwPK{I3p8!Rmr{%G)jb1|y zKTI7t&eN@@0}U)@jiQit13Ori1*a7S2e8lWHl5+4(`xE${WkMG9qJxzyaHJ+*$1E8%rgQ%z(7myXU-pbb4 zYlm&Ki9aeA^n9c(vrMwUDAP_lm>Oq@j_%?@FP>TXqC2IWM;wgY+Cq5hNz2a~jY?Bi z?s~d}5r-KbRaz?iv}@=(DZ_pZv`9_;v+PuPPWzOxU@TTCoM_lYZLU38i<};(=&U-} zV|846Kt}*A3sBjZ&E{QdKQGjo3_T-5f>AFLVzIW_^h$)*%a#wTJI9Ku*ozo`qusG; zy=k+L79bUEWu&0V#7_aW&070u2i;k`|8YJYfKwNuGvq@`16&+P(p;|S#0m0OuNB3r1BS%QLZ_u_zTj)<7)MU!sZ>5P zsSK*#p%XXHn-R;_OXIwAU9_0f+YYzPN3+scQPz#?b1S>U13lcQzBw7aAi-T3>g{ z{6@R>1jMdTJs0}&xSXIgOWHLp8(wv`3YM-#1fPIjs2xp-aYd% z+YOK3oAYyUx?3wpk~?@ZR~REwBGg7E)vUADePuhMj_db^JwJiY>iO#EQL?LBx`3sp1RcE!j4#=o zIAD_Fx}uUlf4xntg^$Zl*Yuu9@Gn8RU$Z<(z+fEt?YLMUrX4l`)K)WXGbJ~{7Hw6aW>OJI4n~Ch=nPkXB8yOI*kVXLgu8? zdRV~{sBsDzUUjyIK z#ZE$Th)hJhtN>T@nEW~Ef<`wDZFJ>Eej`3Nr3q}DL3nRmgUwfC8;`1zC}dQmAZtMy zh__53T9EP`KcF-`ajqY=4eQ4fOZVXv?SArQnYi#lhc-u&@f=_zMwjX0z<3>13^*&a zLFW&@iV$Ud0#TzN0g_&mbR41yrAAZJ5?J(L-L)4&bX;9}=8;D^y2E@A(~%V5wI&EP z6rDCK${8k!m9r8sxgcAi4)R~Lk>~YbGZgKiNo!@f3&%zak{IF~q*nX;eQ@Nec+TsC z__eC<0KiB*Dsl}kh_xD}6G!<SB0<#OZVZ2vm zJ^gd1n|yoJU4Kl*y#F~gheEmBErwHRc`sh$v+)ZC=>Ii)c-Y*p%F@eUaG=>jC=Zn` z(6wudbpD+?iHe;kRj-K?_xuzJuq%jHY zFJ#?w8_&RM z2#0cs07fWt<&CSemUdw6wY!%Ek<0IA3xqtbQEiwhVOj}?b&0c$LQvgu=Tx5XzWw$tha#WZQ~J zfm3#o=9sYvnf?&bKxNCkA{G%k;;FHWL&78zK%6{DaxaW649o>O=$cskBcaIAB4|If zA|rf-uD=Nc$~WFO@*2R z8UVv~af9~rASe^RP1K(I6rp;8gYaLcLE~ipFFwNgFCU>y@}_0Q3KWM2`{f%Wd9*M*H`M5D$i&+EHgIV~w~?N9i|7P2Be(yHY@$+^>?fG!l(8sSPy=p|oAW zy4<~S+s04+B3N0!85>4*NjoA?R#MicN;`7(b=H}S`3=p$*db`Ve@H3G%fH-syT8bk z0E`HK83cI;K-ARDCHB0px6K&Nvb?UdbE;+kT7^*lH58C%4gMlytuT8Hvd6yfYiQxJ zJJWU;$Lqfe@@q#QJ}r{_sDp3zE|f7TW|4hGIX@`=HeoN;NXe1@2N{{ z6e5cM0N$5CGzUmyhh44Pdf0M`mlxT#@5=3eyh`Y>OS%gRGvOWo zVU2rtI>NvOLN#E>py82TQrSUnv*Ec7?{N;>4ai)bsMj@MZ;u5HYbEuDp^uY>0fq;0j_zV44@i7-P0)PUl zwUL(w>cQbF)Z9J)%`4HGl}Rp>}h^(PA-04jIvpBUgK+wQ9??h-2w+2K+d~_FEl3d9bUqzd`;+Gn+GnMyM89a@qx;EK*fA(UO=S6l-Qi-!lFP|{6 zn(+X?r({k78Vh&-h@w!fOIqW3u&Bi|m#~bJemE&3?hQQ_9qj#x6*r_8jDz*p5y}~CL+TMQ60(9b zo=9|=vu1A{k(BOHS!QKdaZ2OjIjoktmaZGeo%cbj9k<_R*NdZ{+-*ghmZ{uvu>T7? zmC7Z5ZiLv;2>{Dj-`VN10MO`ok9~@rLv*8(ToLhDnkrKrSHCD%=ebJ3)tB zSK0@f!nNFP=DgmF41+vqkgQGuSq~XhPvLiVj9zcm^sQD`K zIkbX^{dlN-kB^?{RKA2*DF$yI=26e5?jHTo@>0x>5JEeUq0^dtPO`{@S1XBS!=a4c z2M-&O@`cMixS=;Djd^qz1=>jZ8v;n#V81OVPF%h%qoY@xGr(q9KRh2US_xFHyz=M> z4GVO^v61!$8q8t_0@Xyi$kDc(I;A92;*vT3mSztG0ulH`0lYP$r2|YsI?XmYJz(s3 ziw?z7M$yHyH#pBQckv1CKEOw30;1UA=3*y6mLzKxcB{wq`<@Iu}tv=Qq7S< zQ}{qBSYq6V9=5K6()x5_)1fusoNa(+8)MjLIkbxC5E21h0iyt6rg2sbf8)-713Z zGeVC_-5X?#u=r#KCs?EYQmf}Ynz}jt)MSKVGEdA}3dq4W+F`LNxSTfvS)ng^c_&+5 zZrBM4a)_P~WV(CqiH(`vX7^}nz)$@FC-KzMALMQrsGri3;2Qu_p@y<9V#~X1*zj1t z2;aE=a$+P4pRBa{gD$t%E=P3$xsjYtxkLAUzYO;!r9g;F^!u;6i;jyhVcP6;ztWON zwRmd>HsDGztVkc8!jnt6WojVdORBv_v?8UrtES&tc(eA&+jFLm`dniPBL^2uSYD;x zNVdBW@>`2bOZNR(A+oKeLX*r90md%x51YQ~jadDqP}?qIKlI8!E1=whW`4(=B;6B7 zISgDhEXboP)Ib$oWI#T7b#5*NnFn1Jv>=+l06cd2@(Z*`$R4Wp3+?xEtsi=-!Qo4h zo8!NnxxNz4d_d)#4tr|8EIgROBWH~YAB;?;ZzfBw0{Pkzrj~f?(^b#{yLlHNc2`zl z!@LO3NVk$Dg#}(THGfVo!ms=&R%=tcf9q&{z>f-;{+$95LVMGVl*{$ZLFb*0bDjfZ z0Q9qG65RQSCAKH&q?Km09|OWjOlWjPL0l?^$ZDRf3e7eo$hRdMYf4?IGsSP7|2fmb z&!UvDO{Dh7zF!_68|e(DF_;ew#z5G+ARC|l{yG=1I3W-TP%-(W=oa-70P6!oai>aV zGUpC)4XJ^y6{^Cqu0(C2?_57@0wC}r0+f2p+{L07^||EiNG}`6gMPiwNTn5apL%9@(DsPHX_3P2l^T|l2pG0% zfJTp+K1rtQ9<)EzivP)9odnvG!lH1kd_8-Ga0#%`2U&XV;pm%-pgI}`s>%t86!Gw*Ot z`*-E79rJ@#EtkKaAzT)uVYzw86d-6_>E3D6R6o1?;57I0vJ<~Z?2|K~G^IYi9KP-b z)SDXyz{1z1{797hn&HU_O}(d>E|F^#tQ*X4Ael`evMcgrX)9h2Jh~Qtq`Rl_Qk28; zz6W7#8ZfiPC%0`6T*k5Rb5DPDCJ*n*F)?;zh2x%|(QwP(-IVDcnB$gu+$k}b!YLO=?XSa7CPswqRN^6 z#5O-HyZFvk(a*^dfZlWQ077wS^mA+B)>I(BMIbW&NUgq0)b!A5WGBQd7euV>7t0>d zmB%5b!&-cQQ3Xy8T1DwPPJc>!sD=KTq$edw(-aCfg6q0aDY1g0l3(-9^|K$c%o|rJ z#&oPC!eRPLmr{O;-huQ2bRo{OW%~8tRH#6>^ORG{Py^k-ZC{Os3SiD6NXJToFD#_# zf>nRN0-Pt3LNvetmQ898J)(<#`+Tx3#C9wwji+oSVoN+QkMd`6S+CNm^pnw!6=Kzz zHGrcRrc<$1i4J4tFiaVr^bPy&uVqQe>5O5}&}<^-idy3J2=0vf8b+}FNmZ$2 z#9={y`Ud&~E{rmg3Fsl{MK~w(ptMhM2ICZ z+LST88Gye54)8UP86A;W%wtL1a{e^AT@tQ)2lZYJ(^w&xv4g)v zJJx29nu+Mbc&GNG(w`nNNto=po8_LWr#)_M{q}4qczUOHPp=;Ks?k=clP(R=Yld;& z>*E%?-r-FHp-MRs7!EsT^WbxvJEaEa(A5sohexBLHQA7PC)6s* zyV`Adq)|s3z=j>`ZAt-Y8DBFK&YMy^VdCdpTlPGYv)=o{1cx*X9;v3R54N#ytxDyd z!9rX6R{St--?kgy)An(H^xo)h_+KJ#b3M=*YMSi19dkXNw`d%iZuL9?p1rp_Z#TTW zaq)`f0R6`uhnzR>BjOu$@9Evk(eNr(C;{76`q6 zaIbPy-rUuf)K93IwppwTwpPEVd|xzXqYyb$tNKcK+8E&+ds>qxsLK#WTtP2oD@VjQYn z`mk{H`~H(0d53rlpSr(N^EpBFCg=5FYVQ?x zUogLwlD$?;9_dHjMsz$lPoStz$?K8-h=-J*rHvOwW3iY`tsU93n0<2Xul7^}Y_8vm z_IRUv_dbtA-#9SL*YChitp6R9&UDC+o%?TZJn|o_|0w(%J_eF}rp#YIZczTGOs^=2 zj{xzKpJTVLx;IzBfzLKoXdd;q4?h!_m*{nJLYT_+69MEzv#c=F0beuiJ|=#SP4wI8 z?;HUn6KS?s(m+6TQr?RBJUdWaUxqC_svyfIPc?>GmMzdIF54!$1*%-8EfNnp&`LjP zvH_x)0V=^~TF zFq~z2R`JZLZ|9IbeLp(pGH?ppUQyK$0KPjasbIVjw)pSewroCvu zG_P>xTo+_$!W`IhxMF#;>e=ACT&TdIm!o2@L;03Wf4N?VSR25!zSryaoy8W6$d(VM zY&NY;Dh@RfDZ_~)8h=j#x4IcwGsI>uAw?s({LTNnPNlq&v$kXC<+;(^;_qeOx68)@ z{gA*xE1&@g;pI4QDs!ouYoJ=9DY;}XTNmm;vyEKiFZpN;U%_zQjI77&m4-3WTVm6I z$$ENbZ6fJo9aL<<^0W7i}r#lE*7;ZE**L-T4R1~R>Qe%hLf9{ zYhi7fft`(;k)A6h6BA87LJ_9*?lo5<9OZ-(N^KRS$>Dy{kTW#7Fqcy#YNO&*IU21b zS=R@umK&~!7oY0k=cuL_|l`$lV z+KhK2dl-%Sr96a&(OL+TG`%UkIGpSTb^8N$DF>4MACkw(_FrIyo$Y^V&~M_%gYWo ziR!M7oGH(lPdCLwf2-bk0mGN|^CRE5fbm|y_q%oXjg2B+WeuKlUQb16ko1Q3HLF;8zsh`O~fb(DURM!l4@!kx+bRF1+@#TZs%E`Y6k$*hn0^+NyBlm?KwQ;vq zeD2=25T4sB-DMfG8pf+&o`v1X^IrOoI%sUwm%Z8FEoQ)0%UXFg0QSLm27Klv+a0-f z@ba5QrYOCOs^^8v4&T<3H{)5())}Pe^%|@t*PFJ6UABMP`loEOX4h%m^E?eM?}f9A zE^HxOpjLbL=~O;<+?K}L#iVDBvnhcs=a7>Tq2MP3BFE^E=>(7xQ1i(o0-X>qNH2=P zp%A+zJQ9c`0+bYB0TTi+h(1!UDhg=|>i=o#|MdUg!$b*c*aqFD3S}WxEchn2LNn zH(8K2=qgtml20GVAc!miEu@4&Q~`(zw?HN?lnhTdqch5E(U6Hi2Tu;j|CI;K*HZdr zDf_{~)WNRogy&QV!?hfOG&~S*lu$sQP)e^T(J)3BI(3$qvA`ull_MOOBzIOElKuWL zdCW>4Nm8g0ggoaGizCJ{p)dB6xJB>lc=6l)@Vuj7^ZLeBb#pUniM^(-kO7|8bQNQ1 z(HZ{}D8|J{{$Fne=HzG^=J&(_=3-0|(3XH;VP<4zWMxc>)5iI~dV{tTGdsusb7~b& z2U7-lBP(SWTLw8oPG$x%ODAU+LJoG;|GD46%*Dv{ACNe$y=jNbf$Y1g{x}KD4&0!L zv4b4|B&|m#m2I=)l(;?hJSdWx0zqR9I?WmW<0tPb&60}t0vb*LIhAj3lNeT3si7*X z^cZ7LX*JlhhlyPhZEQnKfvcQEb`Wl^*HI8WP~9%oK8NT)tfu1_7?pkGuOwo+4xJX- zfoS&;8Uz@v%D|ReQAh=spHo^98_S$%Kx$}pvLY>4Rl}A9TE^Iwi1_x0F7iG@L9iQ)23;l0yt@ z<7Q?rO$?Ez^>L2F=@H}9ltO}Mg=8WlQ={5R4XiO%Qi3^X`mZ#-K)`|;3~vfY7ss6u z76A?H6)6q(C5ekxW5O8;wnPFEx3u0-%-J3*z=-8V6USc?f#BZKJ0F0EK_S}7fOk*M zcLI!>okt9u1?U2I_F!AW4XPD}W(3eEmWZw7NxTUAhx&%VAeo+_o+M}b3=@M`^1+Oh zl)OQ1D)UdH+o~r$GOzVexd*%YjY%=@rTZ}rAEN^ex-r=lAxDHnZiI=O4Uw^#L-Fz2 zn#v*c{nmT@08JKo`ucV3*Hy!BX5>s={s1#pa*SVs$X&n(tQCj2??KO3+jThJ=g0T& zfb02-XCp^$7PNcc4QsCT)$6$nl-pR*8@l{ zM7W{k^LV-YZsLBWoH2{3l68R+slm}F;azvCKuY+Qv4T-@g*XNXaFVF<0zuX$`FH3L z)Qp9!g|GsJ^I&4%lCGhbvp{0+#V>`Iy37Nx;T#>= z!K9vNu2?Odz`(^K-N{xU!nt>4%K-?IPV2$6zu5-s4wz4jOZHetF6IPWJ2?Z$QNM)12OPRdIzAz2% zFwXcD{6_K1-^(JJONUd8^Y@b#Vp;4%8Bo8VD?WUkiQ9a)Hr^?TF{M;FVmx54Oxb_T zvR)z}2X@D`PbAnHU8Y=%B!5dX12{SRZ4i9S1%fG{$pDrqX0k&p^!e2Rl1v9nCda^Ha zTmr%`uo!y3*e()pszB6aRIXX0R%Hqv%)<%AAGqMqaa2BhCXxT?zG*Zj2^3^+FqR0j z+Xfu|n_3l0!iPc`J9*Dyk`s*S&Y**3)DT)IS)C-`l4Ay$m(Oln>3pr!2`JyP#pD`-l}9_j zel(VM#MFe&fu_N>?GDA6pC4mc?#b=I?yG2)`{ahhP}ey)&zUr?^Ur0ou-(Tm-@P@R z*jdFGgu=Wp?BmIp0>6rEa;zUpyhVGWTrjs0!?CJW5?&|T`%&itm#8%GM<+6J=dAGa zYZuy)How`bEkdKZg@!51X8Gm>->FRti14MuTAY9U0NHrQ&R#cXuM5kfc>qfSl=vM5 zkJioRDO2MYf_(*}ots5=1EfOC%M7J?pT0TRTm&(t%hQA>Hzv|S8m+a8{f{e> zNs!vIMu#NtkWu2x2ygB+pzOgML`lTH+UE=Lq(tb3%oV4O59++~(K3mIfD`d<1<5sA z>pI!o9@>!ziiMx!O-XSf?ce#5M3~XR%lJ_7<{ak=e_}F$?~ZlZQS<2#;Z9U6H*$4{35uJpMR1EA?uR%92L z8%x~B?s9wBUW;YU5)zSlwBr0hdbuLOH*Ab0^OzpDYHGLW+psa8KN zEs_yCWcBi7nqi4PIA7qF4Ns;AY52Ve>KJ_tAR6*1*w5h!xXBE;F<8$wW1|V7+;$ z&B_*ar*wn9aX7z1-P}ygcX>5S8|*pskK!EeZ~8wdukM+lTU#p7Th@|a?i$x#=`JT= z|CX?oE^NNOd%P?KFTEYvokQE8PgeHb66;>+W^Qv`Q_*4wv;?Iey=b%TdD*i?W!_gX zeVDWjREzF2ca}R>AWF_;0mL_j2Jc}eo<6g)Ts|l^*%M6Z0U9czUadkqCS|es2d&{S{tdC!mRe`2z}_( z!#=(`s2sIK@Gi2cM4aMN^t5Q2cLI$)hXOnG0%%IR3x|05IxE zPm7C-Vty0rs}!ADU>^#4ve*3M4jhLBu!-Mg#r)9IrM@G{h^XX?=CNPjWgQrQSx+o3 zG!SG9))lL2iXDOQkK#oDG<8Yj6Xy*m)9?jX9DqwNF_`>K-vi&Lu;WfDvrfvli1xW5 z^St^5zcNfo-#9EjIwRZnfB9$FJa2N8`L8Q4W@~pc67np!ePoNav1A3!K{7P;%Soi-Z zM$)9;Wc};ScFy_`)J_poff0jKg@)t4A28<%-C7Q*%CoFZe;v0Nrnr2kbq~}@y3A?5 zrOZ2>j2NoiGj9pmv#|d>`{2-g{Ov@5OKD#j_JGeohy8tZZ;?35=;c^)(gXed&JgLT z^5ahn!ZkGr0)A{RdrIu{b4~6OUo_%;$)2^ zE!`#tQS($*&uQYd*3jMdvF1ERFL38h;6z1Y>YPCCp?h4tqZWN*Ip0!_Ue|rf{Kk3z z6+?w^1na9Ef6=ifIqIS>Hc(7gocH9xnqBMD;SDATsmqQYhF@-j=HO=yMa*F8Fd*oS5>><;4m3=?VsWkJJlOO-oZy{=s$sp3j%5aLuo^e;cyrfr3E*F zYnp1AKs8ZD8pbdbOh;4AK<59Kxc)N~@c7DT!nJuVUwQWcLL2 zwnG#17pgL_6nEG{`*{!~=AObdw=G)nS*D$W;Dh_V&} zGNUDVSx{+tbFbAw421#0$XPrz@_SwPx6S3>M~LppHJ|Qq**}9Y?G!Rz9#u3r^ymeU zzl?*k`KvLMn!H$^n!TVineDf;uhhP+Yn7PnNd!3_JM~P38ML@VlPim-R+%jCQiMr2 zBw3$t7M7DG{7a+^hK=&!n99VHe*M4%U-vUMQ>4mH7vsibIe?sq;7f}PND%cUXf7!n zsA*3(e(OIY)vuU;*O132rtV||Su(n$dUavyA!Ddb*HNHp01_Nqg=`39B&H6C9LSF- zyVeFjcr~DLpgE%ATF1cW51c+wIsZ6lETUa{i4-fyMAy*|)X%aO&j5X{?|?p0eqS}y z>!sTtBu|@Cw)+dXFFiA3-u{#!y+ylXz}xTMKW$&Q1YKPJE1x6hCh>L<(?1oeN2i)B z5%M_?Id{gER2Lapzi|8~rvAit7hq{ujl3qn8gY7Vv{P|<`=`n4BxHHFygkG>S3yR*=Ys1@^5 zs{1#9FIh@03P*Cp&Tw zf`k-6t+tEI=-Qbk5;c;Vf%NtKc|Yawd9Cn1n~${R zL>>M`U$Tt^pM*~4|Mj$cr2t$I?&%@M6OsZ4#_~vngL@(S{Na54f*&uj&jDyr4aY-o z{fIhi!x%H+PgmgvpL@Nt+x|XZIQfAp*LB|ST7IJwp)s?jQM`bYMKh#FCBH2u)HhHh7o|O zPE{i&M!5Njl@p)bYTX{I6*@BaC2Ogo-VT#_mEaQ&8b&!~4Yr`px^hTj&^c>cYZ*F0 zq_`|dytBY}MXwufNRgmPhNY$CokO-l_gV&fvZIlmNpxKrz1~@;Q<2-ZoJ^GJB%PW2 zt|(#iVe9W?>RLOH{MC_aWVYBiV;?|_j#+ld=W&+ZVD;?Rb+yIUnBRzsQ&MrMC+1k% zIu7N8_?d->ji~HHWBEfQe7>4vQS4u1#}s5G>5|#`ICPS$$ucTWFXoOS9Hl*bd(7bC zN9Lk16KHXDNm7lS2>LPPe1te^q1Cp}XGdLbUDyL@FFne+shPsN*R8WM!dd{$SYRp1 zgaT`!I2_%Hu=J==ge68}QX@E6)9{lg9>KH{4<*MKT0=13RuF3DSpplKrF?X%dz_f` zLfii^2EJt-*4ppeS3C{NQ9Re35{9^QNcCtUZU}M!6@n z8gf&}PwFZeuLGzMUGR0Sv$d*k2T`#8^{@$J5a`Q&h$Ma3z4OH!Z*xF803~VmO#YBz zjjSSjy)O z{f%@gJs5i_iHki%)ElI2Ir<(c=DatzuwCYzdE zkN;MVfEpYq)8GO4Z=X9@OY4s93b5KPX%pkPO4*N~?o&qV4`9~WaHkG1i(U7XokF=p zs)cm4190D30Cz=@ACX=eGDHHyF;8Hru}Zd5)fXx35=&|9I7&MEwx%)v)M`4j3f;1KVyDL}OCjMPK#F=U^@KIEy8vX!49b*6teRMG z&s(NcM^ft3y_s(G7q;R(judAaqi0q^qblVDD#|w)Fw`JaCbm>96qv7yp(*X*2W8K1 zo>tTpZVxBmI~0a~qS9!(fm`rGogGQa5_8S@^hV6Mn6Y)dp{WO=w?9@DXkr{uXv_|r z^V)j}0UDzMRN{#cZHgeW?b@_0PvzF7g=;gdmFLu3!+a?WzdnB0f=O)#tL&@LO_}Gy z8A4(kT5zfUYFDdTJORjnGs;P=y)*H1dA=ah#zeCi3Gby*`HbB@?D2+&nOc4QHt-MR z?&^m#)_~e)KFbe3>n4V~BwERVye8O(`1~C)0O)tyMhd_Q5%?)VOQvE_4C2NVkXN_I zvSinP1~n0}9+Zsg`ZMoW0f^Jz!KN~Yi$NApX*s06^uP_h5(%W63~g!Od*mz0zW2j8 zZNZ86DFWfMeOJThV%@|61iEIA7c9%8#oL^d;2S)hIoTnybLO_XE)n60>c&G~@8$q3 zAPS1E<;b^>ST>o4Ovf$#Zg@>hC!V1vEBXzY#dm&J6d848GAZ!JT z46*u0dS7M+msL3Y;wAtX7KBFHgZdUCM*m{!Bra0o2!o3?z-t1Q< zV@#6zL&!K7;hfHyzjI%E7$0s2jXUl!YZcB)B24-DY3ihBp9Hk9)V-zB_r=BX08e*S z8wH7Eva))Y^;$RCl@a_f(r>kKamM_-litUAIs_-B@wO|@7bJM{F#AKnjA3jwZhgMz z$hjdeyCQ>4&@aZOLpQoYM0}^bb(%gmm5!itj0dfkuMy;zGpQxOxX`;-H2{e62J_*WgQ;;DIAb=1?DxA(d$(qek#&9ciYau_*8!VQ?s8J{{RfNy14h(2%}*p;=}0$NGka4PS7$RL zyZ_?;%dKHy6Jq%;wjlp7NSRTTt!$D$bXz)W^z?dpPH@R_W$m_@6Rz87ZlXILQsT zRePj3oTOj|X^Pb+Dl2oS{=YDB_q_vFTMQG>wd+t}L)Gyh$LOUi*>xc(lN@!N43c;I zF#fEmI!^C-^gH=fbr^^SXy(FzgjsVj-vQD4CC|1|$sto3_r{YDcRwT1Wubdl=h_2> z7%b=Ja&>4G3X((6zDGw#?VV8e$^z_v-Di3Tw#D5nXC}H$);gZF) zSoZzikyL7{AZlr(JA53?T5EZHYrJOh>)E_@7Owc%UoHaF?4}XB--68HSXg7VJQk=v z{JsT74@=FTXqZBJ$||vKECA-91Zzng0iAlp`jenU+8-bg!syRs*jpy{!iKSc`16fq zCTkmY>^Ij5nvh`y^@{9oo)hbPeZu|H74oOW zANjB8)&MwuzlY_+{C=QA|MTYc;sLllK7L~S{lu7G5CX6EetEn3uy}VI?@;$CbK3v@ z@p{+&dt2b^u^5=1>sffl@CHN$*=Ty_Ij^<_pOmtIkJqzuqBloH^RM>yK$^Gy-auMs z!5DS6tiUe+@qMQC#lJt<5R1X$zw<#J%_m97-~{h7JPcv0h(qDfkJ0Jbya7frmBqnv zh&*8{^8=%Je)(SA?3Z^zImRYcCdCLp#y8`i?2v^%G%>xOqmg@Y)}!A` zJ<>Bnp7VX5jkdj)EY$m-8|7D{hUY z$6F3whgFDlq|&0`;6jzBC*7I;p2&I?9`>>m`uH<_AZ$LEAf4q&q`PV8a3|C)xIPvU z>f98XU263#k^Yasbe5JSQq{Ft?+ zeAVAk6-jT^+8&v<-7J}~5Inn=nO{8o238?@#Sh7sx=2mx(#QH3%D97skk@wCCxrUw zRgp+3cElu@pNvyaVwtp#?eNkY90gzMBoWU!`(qARZQO%oN#m!?aLRTm9@pfI-MAl@ z&?*3--1`$TN)re9r{nuT{z?xC=M=tB!p%4qPP{51^GThzNC=xzASKyv>c_d9!Feo> z_GSFGV2v&nwn-6}1dvkcH)}+T5Ib5n!!fiDcot`@Hu67eP`f8#jw>V;Y*;MawDI2~ z^_j^iH(G zmnNxK@)DHql~bF-SM3b^Q;_sZ_^M)LwF%#`9nIF+%OLZdE%o-937z87K?&kD$h)o@ z5ndYqTU(c!zE`jP@}GYaFRBH@W+w?vJAhoiH24s3Pw5nn2MY-Y>%)fSR|ZnW_|0F| z_qg;yLADgwhDQX`LSu}x=pNNi1TN!EBw1dnT43&n zknitUmm$A$CG-x0yFIlvq-iNg352b(!5AFp9O1yq(IrEyCdTW9FwYe=6#4aPUU>=j zJ8f6h?ZCt3q^?4e9apB>>y}mDG3;TwCpoLA3S5I-Sx(dA7Mdi#<)b>j^RtNLT7uN@ zLqk0*F>MBq`k^w#tk~X}i6D@-1)$JD$JNN@XoJGUr5=_{NqPfmRx0d5jmGRLyN?gy zQ0VVTwu<2@@}OOX0O@#>h8pd54=K{a1fld<+o?;F@y|YQNu&!aNkzR^J|`+Xac*Tq ztyD=?(o^zH4$j|%4Jo*NoSHCO33%bb?w*_5oxFB6qWvLLH8Off zffqup=rT>4&D4BfWiqqv>SHG=UByGc=L>k@8I8ESoK5LR?vHfZ9* zkAfPw67j}WvOqM=izHVAWH)8m!v5-)odXT0_k;-Fgb27RRvbT2OMpYrIG3b{2 zGP2`339WYmjOV~Q3kw7nksFy_ZN02k8N&2Wp6`l}VjjJ`N+Zl(vR$--lz6eKex(US z@7P0;ZGJBkhvU_xNXj8A!8t~oOPsPPda*iMZ;I1>v_-BPN3;I-QGg^4jPMpCD7_8Q zKWrzs$`T9~z(-8e=I@hg`14jPm)h*Msf9#xJeXfIu78N|9YKlxD*R~p%5x$h5y8@? zF-q`qEaG=ZbFwS1ptb@m>2=X(N+Jm?1ptp)sZ%|J$lLWXR|7{%FQn4Pt8?> zjWR1ZBjDGr}8y14tad<}aGdZfd;Zo{)f0V)xPHKSb!XlI0EO37fS}#9irH8zO|R zX%&2Ks_i*+Jy>q4v)&Fqw^Cpk3nrggBpkhpfrtf$ z_9cT&9rTD-aUkwov3~3NT*;wG`rBH9=yAA_N&W4CpWE>{wez%6E8kz{?M3aUQcAqN>}6x2 z=ud_^Uj9C;HFpF^s@h_Z$EU*%`tHVH)$UZi36QL0GZCr0sI3VUd8MxHo5S`C!V3zX zwSHko-Qu0HVNirywvA}A5u)xb0Uw{XtftSF+#$QFpUJd90CpI@Uo-;HuO0fL)O?4OS zfBGFeQ*tFC6&MRUNAj1@cR<5NRYe0+K0wB@Fmp1OSDGa+`njSFQLROr$d5|>49yo_ z0R?#wFEIi}l0ASg2|pFKlYBe(a7TZ7Ko2_Uk#VYj1t>{G#Gtc@cc{SUcM=$Z8$0G|qwO@Cw5udRbH$|Lc4v}S% zY0(R!*<9ddU*8j=;9nP zV+nYN#C9~j&WM=3r;*>eK{?y*Gj87*K4S1p4EsD{lVcKBH%B`{yY;-xHfeL~<$WKb zc+cuwIlJ;5q2iedW%wSw{`g%u9H3F-&)u6yr)e=>UOa7-Ccc9L6a`6Ae%ZV(@-$KMkwf4@5~m_B}FN*R*KaD~N-POm4Jv z7>$u0KS~CC8?ND?3U}B-=}6(sW603HQ$Oh)tts$MGj+o^DVa5nsM4kny8g+m2y*Fd zDCU&*8xcB!v>Xu?Y}CY=U!Eo(tJijsQkgc?Q{Da29PCGwL#`DNMcu7qM72Zm`<60^h{2Q{B#F z;SuMn&~7K8642Xhyh$pt;&M@mKDM+vAVl!vXkuV>jR&b1Q^MXCT3s}@AoCmUjiG~6}dAFY{RrhqbXJfSQy*ZmL?i#diWTn8y!m^4V?cWH;<@8 z{J>N}Pp3xt@l+T7Bvn3*Ne~4*WM*sOSt23XZJOz5Tn&bIN_*hIHf|PgolRv5BX@({ zwifXMXtJfTx?KJoKe>Rnj;8k*j(?+z={=icIMUCj6*5nP13?szTacSlikVw#68xGl zsT~@Q1;yrsIatGrGg!lVD80{Npn^EcNXP1kQrG9vWiCX_trAPnw{+ml`<#6bII4ZZnj~jg~Ob(vwKHor2T1sN8EutH5*Vg>=xSJ|n ziBbMf*8S_(*POuCbDPWU|J; z>aZl&Ey!`FN;LZrIK+tIQyKbA}s(t zJmPwLPKnm!Yp{(arhnfA-;LZ*F-mR6{ii>76)5uiXF>vh}rQ1 ztzFltY|}HR+xF~)kL;>`8@+^qPW9}$8|9BZUhwoXl-ZMrcRBJ?B-_0v%TXDTC*p@| z;E}S1q2YB^N~(XLK``7pEsz*Dc5y9-;1%?jG<%I&cGugr%~zxe??p8!qf#Bc zXizikVwh5n@}k`pTWg)*FuzVlcD#;D_{}V!(=!aQQSU>WELd=bL3o58K8B?QQ7<+B zB6g@}dHmdJQzzQ2iv?2RTt~R)BO-!sshCvihrB;2S+69l&yF?JIdDFu^i;(^s~cEC zd+w0{1ML2Md2{f$-`vX4AIp}`;4lftnW~{|MF)=35ilktYP$V6VW5h^WnRZ=z1Q9dZVk)#y3hW zDGJ%%Z{f>%LC=sITIKuK7GZ5GAY-1`^OPdxQnQ;bwjIx9ySPmk+{;@EoYIXcjKoH= z!tUm>h{mkZ96YZ4b~ZNrLLbukFVrry=a!C)vX*HG;qJ4lz%#=}Vx+X87>?{}Yq{Z5 zM)_fi?E;Hh9sA0;=ciLHx&52F7)nx7CE1cc6r}_5c@0j|BgJy<(=#y=0MMB#ATPD$QpKc501lrL8BOCu9ZCqbal##`%_!Vd|0AhiS zRD8Ty3TAN+kgtpEPy9Vw{4x0Z(Xm+rDR^w?(nZ4_appVW{%^*&gmlDYI|)|R0zSBS z$SDbL8Zg{(#5lX*ayh-fdDSCz#jREI4hqyQdO>)YlC8_dxh)|nS*kSpVchKV8IMK4 z>KW@mYtNbDu~uIM_}Sp??TS?|!ys|EMr~=Y>;5()fJ+VTVXF?autDM4B$jKv3u}U1 zC6RuT^5LSrWk%p#B~fMHP3qxs9H^`rrleyhBbWRBVuUC zRKr$OOk8}s_l%ssK<4&Dse{->4RN6?<$%>QecpS#iyk#`Itin5joCFkiG6dhV&C}r z$I!YFnI|8sRGmo8tsx(L`uC97_-fnls6GpA z3)_Poa}%ywonj)%ctHfKl=D3R74|{u_Km6k( z1i}=8#(AW9$1=CZxxI5L;8(bnA&(Z=orW1WfW8<^Hlesw^5vS%zE*vin=i?jhM@XW z^!a!|=;Oqg$=&ZuZD5^4mdvD#4e!R#+^}(gZ-w51p2>grE(goiVVp-O^7h_*50x#Y0`^6Tag!z)xRqq9_h)oIi$j*6RkyL6T*r;%(kS1LM=h zum+6}4}X09V^>QyQM0?t`)9v7FOseIli)gH1!spfYy9RQQ2#wl-BvsDC768 z+P_>e;&|V_rW-<=$oI*MCQ}BPD5hz?Hi7RkV#m~sa8%%);YJWQzh9sA3_n^W0C+fJ zaQr%4#rG=`kdAjv6ne$(B=Ty;zT-B6$1|HTSqZE@9CcXoVm!{o5jpF;*FqKkW$t~Iuky|6l37_geQhy1_1_j1z^Y;9$90!1r2eZBMbxC_bdT^YAjv!?TEW^Cegd5%;nH@jg@KZuIFytAM$ptl1hE9#9 zr6wWF$-3J{0@-V0?t?Fmz}*>J9Kt|ed_UwE?*Etn%`pohwzI1Kg&kgnYfAn_h3xs#v%m#ROB3rf57+N(V8PA zE`UwL8(39Qp@tGWt+q)Q+4+#iB#Xg<;qLtG-^R%vE7 z`x;+E>@uID=$M!-ax-skp$^AY{emSH(l6d*_4zH=8J;(t%r~vJEQsw~H#tSTJNe3a z0x^^NTDB@+>mL9pJnh?jwaWZ?2DLyi*}dH1(}lfo&UUMKjW+tqAD2zpjAWs^gLBnj zKh2DknCWz~O_j}BmtW7V z=rxC1>^$}6FFJ*?xGAIfE1kRc9w$DuhGgdhQXTGO(QE{u%9pjQ&D$t}>8#$kSQV)W zZfy*C%oy1QdPP9MFyO)H>7*3Exj|akrTyfz&CT2%1)=zgVx&Iv?3(|Vf{FDKLKDS1 zi(wI!iTh4&@g72@Ul=)_SrU;%PXX;}FCw}Tku#32t4ZDwE}vh_I^0GoJDyo|RL$e0 zqVvhnLQe-&=pY;73DE>2Cn^{RQ;H6-DTG-bCY$FY$KorcVl2m0Nb`|Yp{j&iiZ#Ou ztFo2~rD>{owtO?8yDcv@53%e@Q2a4>#0nsGS`> zP(9Mz0Hs9TLEyg8!U0G0PFiPBF6NMV2lZW-)(@8QKT~n+?EevbbF%#lzNwPQnArG* zYXqvgGtij|(iSlszkQ=kfc*JC86L-fe1naNljXnbl`i;gY;}HnZF4`}>TgY@KX;{w zMRgU~DmPI?Atkz+@}E;B){ZvXD$T?UOUX^Okc%)%%Ho&Hsh5kSjh>;l*aVn2B$|ij zntQF{Ad{c1o1Nr%zM-JQHME9?Lu`@>1^g6gHhjpEe49Be-D*2DwNXCsC1SYhJkGoN z;F1VI06;;$Ve~WpEX-E%Xv>|uha`^p0$cJHyr?@jm^Npr&Hf|^6g8fjy_mf?qo(P9=GaGZ)=UX50 z&$O}8@8Ph5IDR5veTnh(7CE?&RIer*XBR`XVn?izpu)Gw11@~46 zdj_~cYY7-9Nqh2nD76^ed#Dug2e|{~bXM=9n?wapJrf&VTDrFgWV-QABX2M99Oftm z1auXiNOE+YTQ(Vl( zPR?CSngF;LFfL{ckdyBjhLUpSf=d(Z#GK+DQl@ zQa`5LQK{1=&ENaNpj{I4t*QtTIjIrDi$}XAPMbO-x6xF5Y@e;pxWzwI@2%cyVV5hg zueYe7Y(6X&6C2z)YVmLcpK$pQjsc}(^2sD)e}jyJE=h)J2t{=rRrjPH>Eoj8qC7Cs zk{r2J6ati~yzHEAtF<_5p%aE4)Ocv331Ujfxw&!T_1nvr)-9d7X;3w{0^u7ZbGSk! zNkxy4Y|#ZD8I$(uGO;ByFN5B%h<3r-Qkf1PE<^+EyD&#XO}JDtacHU{X~14dvSseA z_=p)Ls`Rwx1>&iHfOU`<+$ zrtMq`hpgwECd*9JU*sKrh*DCod}JwoG>DhZ$Bj?U8|DFnuvmz zk*9|i*VM$aQ2xQJGT`D8qv&M=QPuXu@je;fE_Y?IdhxN?&?$kTDOh-pPQw#oU zOZXbySBlg$TN)5MxC3h_qW@c939cu=gq;KXS@57rJ{@zPA!1H=u< z1j8fI9yNJLRQ{l;6JWrNUJTRykwmd36`s;i^k}whOOHZ@QJb`mP1-HthX4|O(4wxT z)05ZhA-TB$Q>u!%>N~xRM6{8za)CK9ez)E!;|QB)DlpiG#oB?Wm7tg3ysmY4ns&L0 zXMdgQQMmKRr{fX*jB^vbb?Z-i=i8Le70a8&2*Y@Rn58TfD=_S<(H8npoC;~HBX>nm zU1f9aO(g#lP8KmL((T^k())9!aAWGj@lpbN0!|$1Y7lma#fGAj3BghpbwyloW7(TtwWLJ`al=N{B9?rU@x^%=0c-|0QBfGa?+M3u9wE?{q5Ef= zQ>>T|#`3aZG_ZOBCQU^`byD?!DILcva#1^@t<|@!?V@u1Q_jEs$5c-gB;!#u!(>Jw zB~4F}T+kx*t4*pTJC0(Il+cC#Z@R@XvG&=OwCXAkvgYhyk4@B3SPsu#B$QPo*jM~1 z@*N2@lcFJequ=^cG?GatSU4{4Uh0d1k~!|E>XJ1)AAtRKev!7R-aZ2R%X@w0-VI;* za*iyydHy}N+cWgS2Y2xusorQW&*nKykvAW?dRa`DTxJatc1xgT*o9wf$pW}-n{VGy zSeZ55pKV1(?gYu4n)y7FLx()~hR<2UO_t7RE3J!-i(riPHHQeb11u?VzBd>3dpbde zA$3m-M4;h4;&7o!c6PD0%l=F574z#xm6+?zBT15m+GYy7TypsauU&mgW@ZF=-$6OXLFeQO_3jZG9gKJy83r{}I?JAl$mQxK9czRr8D|wSvXPTt<-R4kLa9t>Wbzm#2i(_JNv~L= zoXdJBfnYQB@tSFs5&~XLzs&4y0@BZ#iQ!ElmU--~uw+XMHdd}3JELF1czm%eKv~oW zw)w!9Cb*VaHsu<5RaCmFRP$ALFDwS%A=lvz{rA}t*a46ioY%px6!_aIOu4;LcinKv+7jLEHl*J`cM<*VwNNLAT2cP)!PpKYCc(X3hJAw+v=_dc%fBpsR&J=-`zzY>fYi|)7^}&; zJe%v`N)xSLo1ptdQ|{_;de$$2xG}D>p)msrf(+W)RNaZXs=yv9m-oBOX1h0K4BfpX zx~$SOb!$TsdDhaS){5sMqNn7u>rk&>_&r^W=Mu@0m9#I$DrP!^%~aJx(Fb6Eu+&dZ zT1%8eGc7wSk>GLJv2$pifcyPtuLY`sWRhm_amI;$VQVQwy+x)W2C`yENDcPr3n{n> zGb!EqHZ-B*^C|PZ%&v3&TBtfT+ArMpY+7r-X?dv}jn*TLYBmLPo$$F}uVPlgVi-?X zJru^w4DOy?2!DkZ*-f z5|SD7yqE-vYgQuq#_T=PNRL|Ay!|PmcYO}tQ~y?XJ&b~}fGxYW<6}M_r^aKqJs+^P z*12V%^jopcNQn{3Y13ovma&^h06hDe0q<)_P~ge-P{8B;HhYiaM8vmc2A~afT?kL# z4%rxyaTz;~i%w7bS4M2MAv{{(Kk~%8G5vN@?F+SJvDM#VIpcG9co15BZS0)K!5|pt zH_F;=V0Cd~)|Hyie+|1er9rPh@bZ-Uf|h^lQ*VK#muM!SUALHN)>8jVFN~2U=aYWi z^Ef$quktK;u?^th0dW2ErH^T!ufDR5vv#a@9QmD2pEr|%K+63u0Ox~`lgn}EXCN39 zB0d)#FWG0*Tfl$uY4;-r&P3N4F8}6+u+TyXFTwr^{9nm`%x*KJH>yAH7i8*xul;{h zn!L6-V~E2dGS?u(V+g+1FnxXCf~1^@WCtj>G+sU+)TK&YYd?XF6Z8+TR~ElyeYR`< zLTP9Nuzqq`n0UBZ;=Z_N2U2!LPUg?dy}+|ksQRc`-G7CJYPR}hTWzocz2fhc;Q83y z0_9w8o6jHYdw{CqR);wL{&*spMBI1(XtJ?cn9uX*s1^MG|HSQl z@c%sl|ILlfBJ>UW_x`+-d*(-;`l^LmWyEhVU|WTCy4#lL-hFx5KK&z;&prl@uEaWq zZpv&F2cgL*U>PT-dne*z3$p$0Kp|P6S+&L(5(SGYXrkE23=%In%?wdqk!=Fv9+5rW z7-2J$VFJe%bv)e&P8bcnVT2pS1YXP(255kc@!*F^WdxvB%mo)ybA{Q68)1t(%7=^R z*bVx?qDFAzZ$`ON45O3?M9q4YP?Ls}yyuJ_7fViWoiYWmvW}kfKYKx2c*|+=oC`DT zhrL5fQ_(HbfKJ;im5*RkkOaE~hsk$Y9Wp7iPDT7>?#SIyEGZgq)PDdQU-lNyBI@zMVNn!SIS@fwo^JM{dtYM6B zmVN^bwcns_nmfpkAVh-g8pg2GfdT@rcynZC8WJg6q56#$(>(oLzS&cJXL2EFet;K7GLM* z7a{}{bExIFRrpGtNK^Z&ne>;)_#u+jO1v-x=qp88ijm^b-O#!DxcPZ1fvdbcK4ttt z3f7ULt;K#D$AYWT-rx_gm*?lg?+;PVM{04yYHp6Eu4V5mf?gf2Elhe#PR6#b6aP<0j&dd*buKP- zIvxEvpZ1G+xKekw64fkgz`-sTCyOwbW_s8{d~7dyaj5pA_wULsMkmY=M(aRLc6aQm z{Jx3P^JOC_A`SPljd-P{sv$nD!dS&=wIls(dCY6gk|iciVQg=OtdhbAns>JVBi>kL z8hW(Yqqa1I!X5`}BpTIU;yzjuv7`?=g^^IZzk{Mv1ICpJOZ5Zqi~vaMpoi%H1R8Mt z2WY^-!j#O6^&N0anf}*efgbwg1v?8G$w2ix|(Xr?}XgPmjg{SNv{W-ixB(O$avf6PiAT@ z8nkV9ae)anRCk}!_qqAH8ooEL3lEPiRgZ2=*^M{dc;~N=!g)vo&#m;fI_gjyJ?SpN zXD*BQwOD`=U&gGK(UZO0@9^}CiKfQwlPbqzGvLK$${?9DeUwFtt{~%g=tY*D{f3=e z!@w`Q?AbLsmwYe7>OK3MV(WIOE|_*8wh!U3znz}m^pCL2%wY}{xYZmgIvNb3v{2MI zKe={*Fe&v9nFMe%;w7miDFjsF4#|#j7|B3XMQ}h`2o9N#f)8VXV&Q+E82|47kJP}k z0vdEeH>DtQC^T*UFX6dr6n8_e;I2Ua7n%Pf21o`JJ~GcyO|w8X)O!kX1LXsX zaT(SkHj>GNbP~p3H}MtWIhr6wAyiQq;RTw12Pse@ACbUALVDU7QSsZDnL-;|5mp$K z4}!0??88d#jTJ>Jn_5eOYgvwKIW+84Sk8@kOH-z+EmIFCjpTa4nhad-GlGX=YdF273Vvkk{c3Z;hKn=H(?g%Su_pT znJ||L-Wn2BQS@^~Pw@u@#7gRYkP^9^ni4PwU*~=%T+diOk}zhyx?G8KB(-quZk-Bq}y@CAPqbQV%G)^ zAc4LkFPYq+G>2r^VV*mUk4m&huYrwk8 z$fgF7Q&zz~3MZ+iv~E@_2=p4P6&yFe0B7aV)ylIEp>*Fq- zESLTC-7K2bRDM5%kBrsjO$*MRHeUjpBYRB({iicn8qFj9U*faso6c&C0<{c+wWoI{ zZz?{3hfZ%t-+Mz%I#F5rW>eGX_mHqsBR^lqhVXs|5SqqGYLQFlRANL@?L$L_>U0!P z)NM&@&=i`$ELbivMZ+7AABqa_GlwXk%J!;+kmPyQ;N0wq(Z&J9L8FE9Q8}aHi{A=% z1_}ukg5qS5nJU83JYy`S(LRPOK~pDlU@Q!P%n`Vxsw7s~?s{o_B4TS_)&hY*l~lQL zV+!+t&}#VE??SYZP9c^pkzkfBsvvdVLpdolVTiHm+{hh2zyb=`{9GNUh%{T>JkeC=u|B(`#1A4R`6QsK39CJV$Yg4>q z6=SaBOeR8_ZZu8xAWlN!W-PiUG=~2GoJTYzwrOkyDH%|djH;pwwZ&|lENgUoca#f`@bN3>5 zR8Diol0qe1P;`eP@Hc*N!HYB zP}~pta>-sYCS9m|2EFl`6z_usCN+y2yY{n!12;Sl-6&mdXJsqgxr%L&ka&{Nprv?d zG!|7i)(@P8#Dw=MR;{rF(77<=jYXc>(U1_XqL-}2A&lVPF|9kNiR)B8;uGcy4p#$T z9Hnbd8XZ3yXSqm}UXNp}hq7<7fx^;2XV4ty}|JY{+p z+LbDva|Wbf;Tj8zCJys1l|SNbN_(rfDqiyqPTy~>E~T)Kq5QK5z@CJHdYGynIgx75 zT4Ky6Sgvo}!bFqjQYaa2+dNO5{;JW*)1PM0h_3E?-9Qh>`?}v??0^3RD=_@K+#=AG zk;j;OPmm{|=X?1?<=MR*9;=<_ewTXpuzP=dZ14U#Fv)TDdU0dz&CKh^BG~^|kyp!& z2=LH86}0b)dirPqB$}gVE_-T~2nhv;Zk0;e3wUX_9H+OQU$5>KN7iip^@;KW_iWvI zzg#|CyUt(h49K+V&un3XEcNBjr3t879?nLxU*OT)h^s_I8`-LLz_bn@_R9Ay7|YV} zZjsRXyEi`|1i{|g`tLm8-n=8}dGfw2Ku+ts?$(^$+%5VZ;RemuO0^iZ@5YF!l^^uvdCxY!z0t?VCC2nq8)LQD5Xl}cp^jBkq5~kuV9Pm ztVqe}SwbR5%!QOBqzR1kR&&K4EM;Oid``hnm%;`Us{bVYj@<0q`$Z2Sh@wDmgb;)v zr>`@pYfbqE5KreJyPMX?$;#ctpeZd$DM|3&k(aEptP~3bF-%IUf1=&KJ#J2PYlI8( zb^dL5`n~9PzF!`Fvh2sb)y`y}pFo!)To++K%>9hqpYWH;iEQzW?p3Z)-XNlNG*+`& zEW%@?>s_qTA9{!XM!k=6OBzt_`LOpkkZB2v6+ONJsONd43gyP{Ny%N4uy47f5`G39 z6j4MVhOdx+U!Okoy^C(|S2uMo*KSkmmg@OvMV^;Sjkb~mu3nCy3TOKa#L70P*YPh- zm2`SyLk6$CGpYaeRMz8Pb1EWIDI!yWKV2D}tSH=HZI}1uH?#O;gH0yDt~cm2o>A^b zvO{kIJy6KzbN3WaxY#w}8PYUaufn4}IDX@>%xUVVE!*lHI|g+zAPS!Up%}zS)-52w_@!>)IS+!9J)62ULM%Kpwde53IG2t9@KyLAabxJAKMZD z9PE0GDpuZR#4H@_|7-f;(S`~}3Wl-zLHYS5KoQV{dXT6AmPs$JYmr$hmn zQ4=2>S{pV06Z@IpJ1f4{+MR#?{r9)m*OgmEHB(hRPkVYy3$k3UcsrIWXkuH5=J8lI zqop>_byB>4o?E>kN~`3YRbZ4i6Cr05q{$ZtJ))`)(mmDgegyOy#& z7s{D1Yp(akz^r0D=bcv`#x(i{slR{Yw0^f&NTTtorFOqq*lM@4nyzr2YvN+xBY6Mn zV#eN#Np3HX8$8^dwq=26?xiKW*Jey#_T$W!^Rh2orklL}Y*ym^`P}V`%DNWc7x`P& zKc3^TzvNscgY}Znd)_nY?YiCR$deec%cWj2ykmX~H&62y z`H!Z(Kekbx-9YhfS-C*_66iwcOX7f7vQbbyaQVlL1fR)q*2|Ths~*qk)Oo3U zzxH{t*^R`M_V=}E?Gt6|3exHg{eQhU!=@}9Q<7G_(c#yVGyjx+|9%4|AA!kNVDcG= zj4n#6pZK@7Jgt1A*RPjnzA4@Q{q)SUq~0&H@BcoYzD@jf!1?(PjAwV}=$Rd~t_}`Z zcf$4slXPe93w}xMFQ*mHg#Oy6D$=7ZVpE>StGfPA%H)l*vI|Sx7Jg~peJh|-dz7xesPUeC2G0{CHvx%#G;alqSQ1{AIH*= LOI6j?-;E0ZkiLDD diff --git a/tests/gabc-dump/glyphs/styles.dump b/tests/gabc-dump/glyphs/styles.dump index 4fce2b2f..771e0ad9 100644 --- a/tests/gabc-dump/glyphs/styles.dump +++ b/tests/gabc-dump/glyphs/styles.dump @@ -21,7 +21,7 @@ ===================================================================== SCORE ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_ITALIC @@ -97,10 +97,10 @@ pitch g shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character < @@ -156,10 +156,10 @@ pitch f shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_SMALL_CAPS @@ -207,7 +207,7 @@ pitch e shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character x @@ -251,10 +251,10 @@ pitch e shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER @@ -358,10 +358,10 @@ pitch i shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_BOLD @@ -425,10 +425,10 @@ pitch g shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_BOLD @@ -464,7 +464,7 @@ pitch c shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_SMALL_CAPS @@ -512,7 +512,7 @@ pitch d shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_COLORED @@ -554,7 +554,7 @@ pitch e shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER @@ -592,7 +592,7 @@ pitch f shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_TT @@ -636,7 +636,7 @@ pitch g shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER @@ -680,7 +680,7 @@ pitch h shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- beginning of style ST_CENTER @@ -714,10 +714,10 @@ pitch i shape 1 (S_PUNCTUM) --------------------------------------------------------------------- - type 6 (GRE_END_OF_LINE) + type 5 (GRE_END_OF_LINE) ragged true ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character M @@ -759,7 +759,7 @@ pitch g shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character W @@ -813,7 +813,7 @@ pitch g shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character C @@ -853,7 +853,7 @@ pitch g shape 1 (S_PUNCTUM) ===================================================================== - type 5 (GRE_SYLLABLE) + type 0 (GRE_SYLLABLE) position 4 (WORD_ONE_SYLLABLE) --------------------------------------------------------------------- character D @@ -894,4 +894,244 @@ type 1 (GRE_NOTE) pitch g shape 1 (S_PUNCTUM) +===================================================================== + type 0 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_FORCED_CENTER +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + beginning of style ST_BOLD +--------------------------------------------------------------------- + character B +--------------------------------------------------------------------- + character o +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character d +--------------------------------------------------------------------- + end of style ST_BOLD +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + end of style ST_FORCED_CENTER +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) +===================================================================== + type 0 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + character N +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character d +--------------------------------------------------------------------- + beginning of style ST_VERBATIM +--------------------------------------------------------------------- + character +--------------------------------------------------------------------- + end of style ST_VERBATIM +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character i +--------------------------------------------------------------------- + character c +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch h + shape 1 (S_PUNCTUM) +===================================================================== + type 0 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character T +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + character R +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + beginning of style ST_BOLD +--------------------------------------------------------------------- + character p +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character d +--------------------------------------------------------------------- + end of style ST_BOLD +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + beginning of style ST_BOLD +--------------------------------------------------------------------- + end of style ST_BOLD +--------------------------------------------------------------------- + character +--------------------------------------------------------------------- + character S +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character y +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) +===================================================================== + type 0 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character T +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + beginning of style ST_ITALIC +--------------------------------------------------------------------- + character R +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + beginning of style ST_BOLD +--------------------------------------------------------------------- + character p +--------------------------------------------------------------------- + beginning of style ST_TT +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character a +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character d +--------------------------------------------------------------------- + end of style ST_TT +--------------------------------------------------------------------- + end of style ST_BOLD +--------------------------------------------------------------------- + end of style ST_ITALIC +--------------------------------------------------------------------- + beginning of style ST_BOLD +--------------------------------------------------------------------- + beginning of style ST_TT +--------------------------------------------------------------------- + end of style ST_TT +--------------------------------------------------------------------- + end of style ST_BOLD +--------------------------------------------------------------------- + beginning of style ST_TT +--------------------------------------------------------------------- + character +--------------------------------------------------------------------- + character S +--------------------------------------------------------------------- + end of style ST_TT +--------------------------------------------------------------------- + character t +--------------------------------------------------------------------- + character y +--------------------------------------------------------------------- + character l +--------------------------------------------------------------------- + character e +--------------------------------------------------------------------- + character s +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch i + shape 1 (S_PUNCTUM) ===================================================================== diff --git a/tests/gabc-dump/glyphs/styles.exp b/tests/gabc-dump/glyphs/styles.exp index 10205474..995d39e5 100644 --- a/tests/gabc-dump/glyphs/styles.exp +++ b/tests/gabc-dump/glyphs/styles.exp @@ -1,4 +1,4 @@ name: styles, verb and special characters; -generated-by: gregorio 4.1.0-beta1-fix-697-798934f-3052; +generated-by: gregorio 4.1.0-beta1-develop-04dacb5-3074; %% -(c3)italicsbold
    underline
+a(gZ) +%><>(fZ) Small Caps(e) xcolored(eZ) ItalicBoldSmallColoredCapsFaceFont(iZ) BoldTeletypeFont(gZ) Bold(c) Small Caps(d) Colored(e) Italics(f) Teletype(g)
    U
    nderlined
(h) elision(iZ) Mis-matched(g) With C{en}ter(g) Cent{e}r(g) Double bold(g) +(c3)italicsbold
    underline
+a(gZ) +%><>(fZ) Small Caps(e) xcolored(eZ) ItalicBoldSmallColoredCapsFaceFont(iZ) BoldTeletypeFont(gZ) Bold(c) Small Caps(d) Colored(e) Italics(f) Teletype(g)
    U
    nderlined
(h) elision(iZ) Mis-matched(g) With C{en}ter(g) Cent{e}r(g) Double bold(g) {Bold}(g) Nested italics(h) TestRepeated Styles(i) TestRepeated Styles(i) diff --git a/tests/gabc-dump/glyphs/styles.gabc b/tests/gabc-dump/glyphs/styles.gabc index 9e31a9cd..493b4202 100644 --- a/tests/gabc-dump/glyphs/styles.gabc +++ b/tests/gabc-dump/glyphs/styles.gabc @@ -9,3 +9,7 @@ name: styles, verb and special characters; Teletype(g)
    Underlined
(h) elision(iZ) Mis-matched(g) With C{en}ter(g) Cent{e}r(g) Double bold(g) +{Bold}(g) +Nested italics(h) +TestRepeated Styles(i) +TestRepeated Styles(i) diff --git a/tests/gabc-dump/glyphs/styles.pdf b/tests/gabc-dump/glyphs/styles.pdf index ecce059728f2189318b51aff2ac420f8287bb5cb..eabab72f17f2ce481841c203c9867d86578fe7a6 100644 GIT binary patch delta 18344 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 W4+67X3E??;dD-D8DJ7Mp;Qk-rT-65v diff --git a/tests/gabc-dump/nabc-edge.dump b/tests/gabc-dump/nabc-edge.dump new file mode 100644 index 00000000..1656e588 --- /dev/null +++ b/tests/gabc-dump/nabc-edge.dump @@ -0,0 +1,60 @@ +===================================================================== + SCORE INFOS +===================================================================== + number_of_voices 1 + name nabc edge cases + nabc_lines 1 + + +===================================================================== + HEADERS +===================================================================== + name nabc edge cases + nabc-lines 1 + + +===================================================================== + VOICES INFOS +===================================================================== + Voice 1 + initial_key 7 (c4) + + +===================================================================== + SCORE +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + character g +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) +- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + type 2 (GRE_GLYPH) + glyph_type 15 (G_PUNCTUM) +- - - - - - - - - - - - - - - - - - - - - - - + type 1 (GRE_NOTE) + pitch g + shape 1 (S_PUNCTUM) + nabc_lines 1 + nabc_line 1 "pu" +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + beginning of style ST_CENTER +--------------------------------------------------------------------- + character h +--------------------------------------------------------------------- + end of style ST_CENTER +--------------------------------------------------------------------- + type 3 (GRE_ELEMENT) + nabc_lines 1 + nabc_line 1 "vi" +===================================================================== + type 5 (GRE_SYLLABLE) + position 4 (WORD_ONE_SYLLABLE) +--------------------------------------------------------------------- + type 8 (GRE_BAR) + bar 4 (B_DIVISIO_MAIOR) +===================================================================== diff --git a/tests/gabc-dump/nabc-edge.gabc b/tests/gabc-dump/nabc-edge.gabc new file mode 100644 index 00000000..625a6b58 --- /dev/null +++ b/tests/gabc-dump/nabc-edge.gabc @@ -0,0 +1,4 @@ +name: nabc edge cases; +nabc-lines: 1; +%% +(c4) g(g|pu) h(/|vi) (:) diff --git a/tests/gabc-gabc/centered-initial.exp b/tests/gabc-gabc/centered-initial.exp new file mode 100644 index 00000000..f89b1736 --- /dev/null +++ b/tests/gabc-gabc/centered-initial.exp @@ -0,0 +1,4 @@ +name: centered initial; +generated-by: gregorio 4.1.0-beta1-fix-697-798934f-3052; +%% +(c2){I}nitial(g) diff --git a/tests/gabc-gabc/centered-initial.gabc b/tests/gabc-gabc/centered-initial.gabc new file mode 120000 index 00000000..37eaa860 --- /dev/null +++ b/tests/gabc-gabc/centered-initial.gabc @@ -0,0 +1 @@ +../gabc-dump/centered-initial.gabc \ No newline at end of file diff --git a/tests/gabc-gabc/elision.exp b/tests/gabc-gabc/elision.exp index f6fe6d8f..27b9a0df 100644 --- a/tests/gabc-gabc/elision.exp +++ b/tests/gabc-gabc/elision.exp @@ -1,4 +1,5 @@ name: elision; -generated-by: gregorio 4.1.0-beta1-fix-697-1abc209-3047; +mode: C; +generated-by: gregorio 4.1.0-beta1-develop-7a5827a-3055; %% (c4)A(d)gno(e)ce(f) clara(gh) in(d)si(efwg)gni(fe)a(e.) (;) clara(gh) (:) clara(gh) (::) diff --git a/tests/gabc-output/centered-initial.gabc b/tests/gabc-output/centered-initial.gabc new file mode 120000 index 00000000..37eaa860 --- /dev/null +++ b/tests/gabc-output/centered-initial.gabc @@ -0,0 +1 @@ +../gabc-dump/centered-initial.gabc \ No newline at end of file diff --git a/tests/gabc-output/centered-initial.pdf b/tests/gabc-output/centered-initial.pdf new file mode 100644 index 0000000000000000000000000000000000000000..27e3302bdb3dce4d39d9fa8e8ed0135be4c6a009 GIT binary patch literal 5251 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 clara(gh) in(d)si(efwg)gni(fe)a(e.) (;) clara(gh) (:) diff --git a/tests/gabc-output/elision.pdf b/tests/gabc-output/elision.pdf index 7fdbb8b714407b8c475a293cc3fed62643949571..aae08933080867f616e291615f157dbd9e76dd84 100644 GIT binary patch delta 5191 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 diff --git a/tests/gabc-output/first-bar.gabc b/tests/gabc-output/first-bar.gabc new file mode 100644 index 00000000..e82daf52 --- /dev/null +++ b/tests/gabc-output/first-bar.gabc @@ -0,0 +1,8 @@ +name: first bar; +author: author; +gabc-copyright: CC0; +score-copyright: CC0; +annotation:; +annotation:two; +%% +(c4) x(:) y(g) (::) diff --git a/tests/gabc-output/first-bar.pdf b/tests/gabc-output/first-bar.pdf new file mode 100644 index 0000000000000000000000000000000000000000..994a542d7484bbd32fbd25deb3800596d7afdf69 GIT binary patch literal 5340 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 L0A5~I9VFmCU`J=} literal 0 HcmV?d00001