summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Kramm <kramm@quiss.org>2010-04-13 16:50:37 -0700
committerMatthias Kramm <kramm@quiss.org>2010-04-13 16:53:15 -0700
commite00b10147bcf64db3d6b052d911c9c2e76f98253 (patch)
treebf36b81bbf7bd698aa9caafb27409661cf0aaa71
parent5112bbb4b5727d38ed2a9d2b63d16867be841934 (diff)
fixed lsb issue
-rw-r--r--lib/filters/remove_font_transforms.c2
-rw-r--r--lib/gfxfont.c12
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/filters/remove_font_transforms.c b/lib/filters/remove_font_transforms.c
index 91335691..c04d1106 100644
--- a/lib/filters/remove_font_transforms.c
+++ b/lib/filters/remove_font_transforms.c
@@ -226,7 +226,7 @@ static gfxresult_t* pass1_finish(gfxfilter_t*f, gfxdevice_t*out)
if(count)
average_xmax /= count;
- fd->dx = -total.xmin;
+ fd->dx = 0;//-total.xmin;
font->ascent = total.ymax;
font->descent = -total.ymin;
diff --git a/lib/gfxfont.c b/lib/gfxfont.c
index acc8e349..7c71ca75 100644
--- a/lib/gfxfont.c
+++ b/lib/gfxfont.c
@@ -665,7 +665,19 @@ ttf_t* gfxfont_to_ttf(gfxfont_t*font)
}
}
+ /* make sure coordinates are always to the right of the origin */
+ int xshift=0;
+ if(dest->xmin < 0) {
+ xshift = -dest->xmin;
+ for(s=0;s<count;s++) {
+ dest->points[s].x += xshift;
+ }
+ dest->xmin += xshift;
+ dest->xmax += xshift;
+ }
+
dest->bearing = dest->xmin;
+ dest->xmin=0;
dest->advance = src->advance*scale;
int u = font->glyphs[t].unicode;