- else if (prefix_set & (CAVUM | LINEA))
- if ((prefix_set & CAVUM) && (prefix_set & LINEA))
- glyph_name = "vaticana_linea_punctum_cavum";
- else if (prefix_set & CAVUM)
- glyph_name = "vaticana_punctum_cavum";
- else
- glyph_name = "vaticana_linea_punctum";
- else if (prefix_set & AUCTUM)
- if (prefix_set & ASCENDENS)
- glyph_name = "solesmes_auct_asc";
- else
- glyph_name = "solesmes_auct_desc";
- else if ((context_info & STACKED_HEAD) &&
- (context_info & PES_UPPER))
- if (prev_delta_pitch > 1)
- glyph_name = "vaticana_upes";
- else
- glyph_name = "vaticana_vupes";
- else
- glyph_name = "vaticana_punctum";
-
- /*
- * This head needs a cauda, if it starts a flexa, is not the upper
- * head of a pes, and if it is a punctum.
- */
- if ((context_info & FLEXA_LEFT) && !(context_info & PES_UPPER))
- if (!String::compare (glyph_name, "vaticana_punctum"))
- primitive->set_property ("add-cauda", gh_bool2scm(true));
-
- /*
- * Execptional rule for porrectus:
- *
- * If the current head is preceded by a \flexa and succeded by a
- * \pes (e.g. "a \flexa g \pes a"), then join the current head and
- * the previous head into a single curved flexa shape.
- */
- if ((context_info & FLEXA_RIGHT) && (context_info & PES_LOWER))
- {
- check_for_prefix_loss (prev_primitive);
- prev_glyph_name = "flexa";
- prev_primitive->set_property ("flexa-height",
- gh_int2scm (prev_delta_pitch));
- prev_primitive->set_property ("flexa-width",
- gh_double2scm (flexa_width));
- bool add_cauda = !(prev_prefix_set && PES_OR_FLEXA);
- prev_primitive->set_property ("add-cauda",
- gh_bool2scm (add_cauda));
- check_for_prefix_loss (primitive);
- glyph_name = "";
- primitive->set_property ("flexa-width",
- gh_double2scm (flexa_width));
- }
-
- /*
- * Exceptional rule for pes:
- *
- * If this head is stacked on the previous one due to a \pes, then
- * set the glyph of the previous head to that for this special
- * case, thereby avoiding potential vertical collision with the
- * current head.
- */
- if (prefix_set & PES_OR_FLEXA)
- {
- if ((context_info & PES_UPPER) && (context_info & STACKED_HEAD))
+ else if (prefix_set & QUILISMA)
+ glyph_name = "vaticana.quilisma";
+ else if (prefix_set & ORISCUS)
+ glyph_name = "solesmes.oriscus";
+ else if (prefix_set & STROPHA)
+ if (prefix_set & AUCTUM)
+ glyph_name = "solesmes.stropha.aucta";
+ else glyph_name = "solesmes.stropha";
+ else if (prefix_set & INCLINATUM)
+ if (prefix_set & AUCTUM)
+ glyph_name = "solesmes.incl.auctum";
+ else if (prefix_set & DEMINUTUM)
+ glyph_name = "solesmes.incl.parvum";
+ else
+ glyph_name = "vaticana.inclinatum";
+ else if (prefix_set & DEMINUTUM)
+ if (i == 0)