From 6205aa0eca87e3fce1e206883742f2945fd27022 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 8 Feb 2011 18:57:12 +0000 Subject: Use horizontal metrics to create text boxes instead of guessing at bad vertical values. --- fitz/dev_text.c | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) (limited to 'fitz/dev_text.c') diff --git a/fitz/dev_text.c b/fitz/dev_text.c index 8f22cfd1..d24cb555 100644 --- a/fitz/dev_text.c +++ b/fitz/dev_text.c @@ -338,25 +338,17 @@ fz_textextractspan(fz_textspan **last, fz_text *text, fz_matrix ctm, fz_point *p { FT_Fixed ftadv = 0; int mask = FT_LOAD_NO_BITMAP | FT_LOAD_NO_HINTING | FT_LOAD_IGNORE_TRANSFORM; - if (text->wmode) - mask |= FT_LOAD_VERTICAL_LAYOUT; + + /* TODO: freetype returns broken vertical metrics */ + /* if (text->wmode) mask |= FT_LOAD_VERTICAL_LAYOUT; */ + FT_Get_Advance(font->ftface, text->els[i].gid, mask, &ftadv); adv = ftadv / 65536.0f; - if (text->wmode) - { - adv = -1; /* TODO: freetype returns broken vertical metrics */ - rect.x0 = 0; - rect.y0 = 0; - rect.x1 = 1; - rect.y1 = adv; - } - else - { - rect.x0 = 0; - rect.y0 = descender; - rect.x1 = adv; - rect.y1 = ascender; - } + + rect.x0 = 0; + rect.y0 = descender; + rect.x1 = adv; + rect.y1 = ascender; } else { -- cgit v1.2.3