rfont->driver = &mfont__ft_driver;
rfont->info = ft_rfont;
rfont->fontp = ft_face;
- rfont->ascent = ft_face->size->metrics.ascender >> 6;
- rfont->descent = - ft_face->size->metrics.descender >> 6;
- rfont->max_advance = ft_face->size->metrics.max_advance >> 6;
+ rfont->ascent = ft_face->size->metrics.ascender;
+ rfont->descent = - ft_face->size->metrics.descender;
+ rfont->max_advance = ft_face->size->metrics.max_advance;
rfont->baseline_offset = 0;
rfont->x_ppem = ft_face->size->metrics.x_ppem;
rfont->y_ppem = ft_face->size->metrics.y_ppem;
if (! FT_IS_SCALABLE (ft_face)
&& FT_Get_BDF_Property (ft_face, "_MULE_BASELINE_OFFSET", &prop) == 0)
{
- rfont->baseline_offset = prop.u.integer;
- rfont->ascent += prop.u.integer;
- rfont->descent -= prop.u.integer;
+ rfont->baseline_offset = prop.u.integer << 6;
+ rfont->ascent += prop.u.integer << 6;
+ rfont->descent -= prop.u.integer << 6;
}
}
#endif /* HAVE_FTBDF_H */
if (FT_IS_SCALABLE (ft_face))
rfont->average_width = 0;
else
- rfont->average_width = ft_face->available_sizes->width;
+ rfont->average_width = ft_face->available_sizes->width << 6;
rfont->next = MPLIST_VAL (frame->realized_font_list);
MPLIST_VAL (frame->realized_font_list) = rfont;
MDEBUG_PRINT (" ok\n");
g->g.ascent = metrics->horiBearingY;
g->g.descent = metrics->height - metrics->horiBearingY;
}
- g->g.ascent += rfont->baseline_offset >> 6;
- g->g.descent -= rfont->baseline_offset >> 6;
+ g->g.yadv = 0;
+ g->g.ascent += rfont->baseline_offset;
+ g->g.descent -= rfont->baseline_offset;
g->g.measured = 1;
}
}
if (FT_IS_SCALABLE (ft_face))
rfont->average_width = 0;
else
- rfont->average_width = ft_face->available_sizes->width;
+ rfont->average_width = ft_face->available_sizes->width << 6;
rfont->next = MPLIST_VAL (frame->realized_font_list);
MPLIST_VAL (frame->realized_font_list) = rfont;
adjustment[i].xoff = (base_x - mark_x);
adjustment[i].yoff = - (base_y - mark_y);
adjustment[i].back = (g - prev);
+ adjustment[i].xadv = 0;
+ adjustment[i].advance_is_absolute = 1;
adjustment[i].set = 1;
}
}