#include "open-type-font.hh"
#include "dimensions.hh"
+
+const Real point_constant = 1 PT;
+
FT_Byte *
load_table (char const *tag_str, FT_Face face, FT_ULong *length)
{
load_scheme_table (char const *tag_str, FT_Face face)
{
FT_ULong length = 0;
- FT_Byte* buffer =load_table (tag_str, face, &length);
+ FT_Byte* buffer = load_table (tag_str, face, &length);
SCM tab = SCM_EOL;
if (buffer)
return otf->self_scm ();
}
-Open_type_font::Open_type_font(FT_Face)
+Open_type_font::Open_type_font(FT_Face face)
{
+ face_ = face;
lily_character_table_ = SCM_EOL;
lily_global_table_ = SCM_EOL;
SCM char_alist = entry;
- SCM att_scm =scm_cdr (scm_assq (char_alist, ly_symbol2scm ("attachment")));
+ SCM att_scm =scm_cdr (scm_assq (ly_symbol2scm ("attachment"), char_alist));
return ly_scm2offset (att_scm);
}
Box b (Interval (-hb, m.width - hb),
Interval (-vb, m.height - vb));
- Real point_constant = 1 PT;
b.scale (design_size() * Real (point_constant) / face_->units_per_EM);
Real
Open_type_font::design_size () const
{
- return scm_to_double (scm_hashq_ref (lily_global_table_, ly_symbol2scm ("staffsize"), SCM_BOOL_F));
+ return point_constant * scm_to_double (scm_hashq_ref (lily_global_table_, ly_symbol2scm ("staffsize"), SCM_BOOL_F));
}
String glyph_name;
if (prefix_set & VIRGA)
{
- glyph_name = "vaticana-punctum";
- primitive->set_property ("add-stem", ly_bool2scm (true));
+ glyph_name = "vaticana.punctum";
+ primitive->set_property ("add.stem", ly_bool2scm (true));
}
else if (prefix_set & QUILISMA)
- glyph_name = "vaticana-quilisma";
+ glyph_name = "vaticana.quilisma";
else if (prefix_set & ORISCUS)
- glyph_name = "solesmes-oriscus";
+ glyph_name = "solesmes.oriscus";
else if (prefix_set & STROPHA)
if (prefix_set & AUCTUM)
- glyph_name = "solesmes-stropha-aucta";
- else glyph_name = "solesmes-stropha";
+ glyph_name = "solesmes.stropha.aucta";
+ else glyph_name = "solesmes.stropha";
else if (prefix_set & INCLINATUM)
if (prefix_set & AUCTUM)
- glyph_name = "solesmes-incl-auctum";
+ glyph_name = "solesmes.incl.auctum";
else if (prefix_set & DEMINUTUM)
- glyph_name = "solesmes-incl-parvum";
+ glyph_name = "solesmes.incl.parvum";
else
- glyph_name = "vaticana-inclinatum";
+ glyph_name = "vaticana.inclinatum";
else if (prefix_set & DEMINUTUM)
if (i == 0)
{
// initio debilis
- glyph_name = "vaticana-reverse-plica";
+ glyph_name = "vaticana.reverse.plica";
}
else if (prev_delta_pitch > 0)
{
if (!(prev_context_info & FLEXA_RIGHT))
/* correct head of previous primitive */
if (prev_delta_pitch > 1)
- prev_glyph_name = "vaticana-epiphonus";
+ prev_glyph_name = "vaticana.epiphonus";
else
- prev_glyph_name = "vaticana-vepiphonus";
- glyph_name = "vaticana-plica";
+ prev_glyph_name = "vaticana.vepiphonus";
+ glyph_name = "vaticana.plica";
}
else // (prev_delta_pitch <= 0)
{
if (i > 1)
{
/* cephalicus head with fixed size cauda */
- prev_glyph_name = "vaticana-inner-cephalicus";
+ prev_glyph_name = "vaticana.inner.cephalicus";
}
else
{
/* cephalicus head without cauda */
- prev_glyph_name = "vaticana-cephalicus";
+ prev_glyph_name = "vaticana.cephalicus";
}
/*
prev_primitive->set_property ("add-cauda",
ly_bool2scm (false));
}
- glyph_name = "vaticana-reverse-plica";
+ glyph_name = "vaticana.reverse.plica";
}
else if (prefix_set & (CAVUM | LINEA))
if ((prefix_set & CAVUM) && (prefix_set & LINEA))
- glyph_name = "vaticana-linea-punctum-cavum";
+ glyph_name = "vaticana.linea.punctum.cavum";
else if (prefix_set & CAVUM)
- glyph_name = "vaticana-punctum-cavum";
+ glyph_name = "vaticana.punctum.cavum";
else
- glyph_name = "vaticana-linea-punctum";
+ glyph_name = "vaticana.linea.punctum";
else if (prefix_set & AUCTUM)
if (prefix_set & ASCENDENS)
- glyph_name = "solesmes-auct-asc";
+ glyph_name = "solesmes.auct.asc";
else
- glyph_name = "solesmes-auct-desc";
+ glyph_name = "solesmes.auct.desc";
else if ((context_info & STACKED_HEAD) &&
(context_info & PES_UPPER))
if (prev_delta_pitch > 1)
- glyph_name = "vaticana-upes";
+ glyph_name = "vaticana.upes";
else
- glyph_name = "vaticana-vupes";
+ glyph_name = "vaticana.vupes";
else
- glyph_name = "vaticana-punctum";
+ 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"))
+ if (!String::compare (glyph_name, "vaticana.punctum"))
primitive->set_property ("add-cauda", ly_bool2scm (true));
/*
{
if ((context_info & PES_UPPER) && (context_info & STACKED_HEAD))
{
- if (!String::compare (prev_glyph_name, "vaticana-punctum"))
+ if (!String::compare (prev_glyph_name, "vaticana.punctum"))
if (prev_delta_pitch > 1)
- prev_glyph_name = "vaticana-lpes";
+ prev_glyph_name = "vaticana.lpes";
else
- prev_glyph_name = "vaticana-vlpes";
+ prev_glyph_name = "vaticana.vlpes";
}
}