shithub: freetype+ttf2subf

Download patch

ref: 5621fdd412a0b02a5ed858baa7c2a9db4795ae1f
parent: c18c1882c22593c3c51d1d0958493c89a567545c
author: Werner Lemberg <[email protected]>
date: Wed Feb 29 08:33:33 EST 2012

[autofit] Don't synchronize digit widths for light rendering mode.

We don't hint horizontally in this mode.

* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
Implement it.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2012-02-29  Werner Lemberg  <[email protected]>
+
+	[autofit] Don't synchronize digit widths for light rendering mode.
+
+	We don't hint horizontally in this mode.
+
+	* src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
+	Implement it.
+
 2012-02-26  Alexei Podtelezhnikov  <[email protected]>
 
 	[type42] Minor code optimization (again).
--- a/src/autofit/afloader.c
+++ b/src/autofit/afloader.c
@@ -433,9 +433,10 @@
         slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance,
                                                x_scale );
 #else
-      if ( FT_IS_FIXED_WIDTH( slot->face )                              ||
-           ( af_face_globals_is_digit( loader->globals, glyph_index ) &&
-             metrics->digits_have_same_width                          ) )
+      if ( scaler->render_mode != FT_RENDER_MODE_LIGHT                      &&
+           ( FT_IS_FIXED_WIDTH( slot->face )                              ||
+             ( af_face_globals_is_digit( loader->globals, glyph_index ) &&
+               metrics->digits_have_same_width                          ) ) )
       {
         slot->metrics.horiAdvance = FT_MulFix( slot->metrics.horiAdvance,
                                                metrics->scaler.x_scale );