Example #1
0
real
dia_font_descent(const char* string, DiaFont* font, real height)
{
  if (font->metrics) {
    real descent = pdu_to_dcm(pango_font_metrics_get_descent (font->metrics));
    return descent * (height / font->height);
  } else {
    /* previous, _expensive_ but string specific way */
    TextLine *text_line = text_line_new(string, font, height);
    real result = text_line_get_descent(text_line);
    text_line_destroy(text_line);
    return result;
  }
}
Example #2
0
static void
calc_ascent_descent(Text *text)
{
  real sig_a = 0.0,sig_d = 0.0;
  gint i;
    
  for ( i = 0; i < text->numlines; i++) {
    sig_a += text_line_get_ascent(text->lines[i]);
    sig_d += text_line_get_descent(text->lines[i]);
  }
  
  text->ascent = sig_a / (real)text->numlines;
  text->descent = sig_d / (real)text->numlines;
}