Index: src/base/ftsynth.c |
diff --git a/src/base/ftsynth.c b/src/base/ftsynth.c |
index d4ec0da570af3867234800aee915836873516c87..241d37f42629ae70f98bfe93a2c19bc3f71ce864 100644 |
--- a/src/base/ftsynth.c |
+++ b/src/base/ftsynth.c |
@@ -4,7 +4,7 @@ |
/* */ |
/* FreeType synthesizing code for emboldening and slanting (body). */ |
/* */ |
-/* Copyright 2000-2001, 2002, 2003, 2004, 2005, 2006, 2010 by */ |
+/* Copyright 2000-2006, 2010, 2012 by */ |
/* David Turner, Robert Wilhelm, and Werner Lemberg. */ |
/* */ |
/* This file is part of the FreeType project, and may only be used, */ |
@@ -33,6 +33,7 @@ |
#undef FT_COMPONENT |
#define FT_COMPONENT trace_synth |
+ |
/*************************************************************************/ |
/*************************************************************************/ |
/**** ****/ |
@@ -62,7 +63,7 @@ |
transform.xx = 0x10000L; |
transform.yx = 0x00000L; |
- transform.xy = 0x06000L; |
+ transform.xy = 0x0366AL; |
transform.yy = 0x10000L; |
FT_Outline_Transform( outline, &transform ); |
@@ -72,7 +73,7 @@ |
/*************************************************************************/ |
/*************************************************************************/ |
/**** ****/ |
- /**** EXPERIMENTAL EMBOLDENING/OUTLINING SUPPORT ****/ |
+ /**** EXPERIMENTAL EMBOLDENING SUPPORT ****/ |
/**** ****/ |
/*************************************************************************/ |
/*************************************************************************/ |
@@ -101,12 +102,7 @@ |
if ( slot->format == FT_GLYPH_FORMAT_OUTLINE ) |
{ |
/* ignore error */ |
- (void)FT_Outline_Embolden( &slot->outline, xstr ); |
- |
- /* this is more than enough for most glyphs; if you need accurate */ |
- /* values, you have to call FT_Outline_Get_CBox */ |
- xstr = xstr * 2; |
- ystr = xstr; |
+ (void)FT_Outline_EmboldenXY( &slot->outline, xstr, ystr ); |
} |
else /* slot->format == FT_GLYPH_FORMAT_BITMAP */ |
{ |
@@ -143,13 +139,10 @@ |
if ( slot->advance.y ) |
slot->advance.y += ystr; |
- slot->metrics.width += xstr; |
- slot->metrics.height += ystr; |
- slot->metrics.horiBearingY += ystr; |
- slot->metrics.horiAdvance += xstr; |
- slot->metrics.vertBearingX -= xstr / 2; |
- slot->metrics.vertBearingY += ystr; |
- slot->metrics.vertAdvance += ystr; |
+ slot->metrics.width += xstr; |
+ slot->metrics.height += ystr; |
+ slot->metrics.horiAdvance += xstr; |
+ slot->metrics.vertAdvance += ystr; |
/* XXX: 16-bit overflow case must be excluded before here */ |
if ( slot->format == FT_GLYPH_FORMAT_BITMAP ) |