summaryrefslogtreecommitdiffstats
path: root/src/base/ftsynth.c
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2012-08-28 22:24:56 -0700
committerSteve Kondik <shade@chemlab.org>2012-08-29 00:08:19 -0700
commit4d3876eef9f90a75f2ae55e880759937482e6b3f (patch)
treed11d43d70415c861aabf09e1c77a2fc6c49cfd8e /src/base/ftsynth.c
parent8bef833fa7b6f73a362a99dcaa83ee5a98f58e4d (diff)
downloadandroid_external_freetype-4d3876eef9f90a75f2ae55e880759937482e6b3f.tar.gz
android_external_freetype-4d3876eef9f90a75f2ae55e880759937482e6b3f.tar.bz2
android_external_freetype-4d3876eef9f90a75f2ae55e880759937482e6b3f.zip
freetype: Add Infinality patchesjellybean-stablejellybean
* See here for details: * http://www.infinality.net/blog/infinality-freetype-patches/ Change-Id: I4f747e45332fc7f16fb22ac3499069519017035f
Diffstat (limited to 'src/base/ftsynth.c')
-rw-r--r--src/base/ftsynth.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/base/ftsynth.c b/src/base/ftsynth.c
index 81e2ed2..b186d8d 100644
--- a/src/base/ftsynth.c
+++ b/src/base/ftsynth.c
@@ -88,7 +88,26 @@
FT_Face face = slot->face;
FT_Error error;
FT_Pos xstr, ystr;
+#ifdef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+ int checked_use_various_tweaks_env = 0;
+ FT_Bool use_various_tweaks = FALSE;
+ if ( checked_use_various_tweaks_env == 0 )
+ {
+ char *use_various_tweaks_env = getenv( "INFINALITY_FT_USE_VARIOUS_TWEAKS" );
+ if ( use_various_tweaks_env != NULL )
+ {
+ if ( strcasecmp(use_various_tweaks_env, "default" ) != 0 )
+ {
+ if ( strcasecmp(use_various_tweaks_env, "true") == 0) use_various_tweaks = TRUE;
+ else if ( strcasecmp(use_various_tweaks_env, "1") == 0) use_various_tweaks = TRUE;
+ else if ( strcasecmp(use_various_tweaks_env, "on") == 0) use_various_tweaks = TRUE;
+ else if ( strcasecmp(use_various_tweaks_env, "yes") == 0) use_various_tweaks = TRUE;
+ }
+ }
+ checked_use_various_tweaks_env = 1;
+ }
+#endif
if ( slot->format != FT_GLYPH_FORMAT_OUTLINE &&
slot->format != FT_GLYPH_FORMAT_BITMAP )
@@ -101,6 +120,11 @@
if ( slot->format == FT_GLYPH_FORMAT_OUTLINE )
{
+#ifdef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+ if ( use_various_tweaks )
+ (void)FT_Outline_EmboldenXY( &slot->outline, xstr, FT_PIX_FLOOR( ystr ) );
+ else
+#endif
/* ignore error */
(void)FT_Outline_EmboldenXY( &slot->outline, xstr, ystr );
}
@@ -141,6 +165,9 @@
slot->metrics.width += xstr;
slot->metrics.height += ystr;
+#ifdef FT_CONFIG_OPTION_INFINALITY_PATCHSET
+ /*if ( !use_various_tweaks ) */
+#endif
slot->metrics.horiAdvance += xstr;
slot->metrics.vertAdvance += ystr;