aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libtwin/twin_font.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/libtwin/twin_font.c b/libtwin/twin_font.c
index f7e5d70..5ad211c 100644
--- a/libtwin/twin_font.c
+++ b/libtwin/twin_font.c
@@ -156,19 +156,20 @@ static void _twin_text_compute_info (twin_path_t *path,
info->scale.x = path->state.font_size;
info->scale.y = path->state.font_size;
- if (font->type != TWIN_FONT_TYPE_STROKE)
+ if (font->type != TWIN_FONT_TYPE_STROKE) {
info->pen.x = info->pen.y = 0;
- else {
+ info->margin.x = info->margin.y = 0;
+ } else {
if (path->state.font_style & TWIN_TEXT_BOLD)
info->pen.x = path->state.font_size / 16;
else
info->pen.x = path->state.font_size / 24;
info->pen.y = info->pen.x;
+ info->margin.x = path->state.font_size / 24;
+ info->margin.y = info->margin.x;
+
}
- info->margin.x = path->state.font_size / 24;
- info->margin.y = info->margin.x;
-
info->pen_matrix = path->state.matrix;
twin_matrix_translate (&info->matrix,
info->margin.x + info->pen.x, -info->pen.y);
@@ -297,6 +298,9 @@ static twin_fixed_t _twin_glyph_width (twin_text_info_t *info,
right_side_bearing = right + info->margin.x;
width = right_side_bearing + info->margin.x;
+
+ DBGMSG(("gw: g_right=%d right=%f, rsb=%f, margin_x=%f, width=%f\n",
+ twin_glyph_right(b), F(right), F(right_side_bearing), F(info->margin.x), F(width)));
return width;
}