[HarfBuzz] harfbuzz-ng: Branch 'master' - 2 commits

Behdad Esfahbod behdad at kemper.freedesktop.org
Wed Jul 11 16:01:34 PDT 2012


 src/hb-ft.cc |    8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

New commits:
commit 2023e2b54d91924dddfd228ffdbb46021135b068
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Jul 11 19:00:30 2012 -0400

    [ft] Disable ppem setting
    
    The calculations were wrong.
    
    FreeType makes it really hard to set size and ppem independently.
    For now, disable it.  Need to come up with a fix later.

diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index 17c68df..90937ca 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -466,8 +466,11 @@ hb_ft_font_set_funcs (hb_font_t *font)
 
   FT_Set_Char_Size (ft_face,
 		    font->x_scale, font->y_scale,
+		    0, 0);
+#if 0
 		    font->x_ppem * 72 * 64 / font->x_scale,
 		    font->y_ppem * 72 * 64 / font->y_scale);
+#endif
 
   ft_face->generic.data = blob;
   ft_face->generic.finalizer = (FT_Generic_Finalizer) _release_blob;
commit cdf7444505a7ae49d20f9ba6776dea92c1fde2a6
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Wed Jul 11 18:52:39 2012 -0400

    [ft] Use unfitted kerning if x_ppem is zero

diff --git a/src/hb-ft.cc b/src/hb-ft.cc
index 0589c9e..17c68df 100644
--- a/src/hb-ft.cc
+++ b/src/hb-ft.cc
@@ -158,7 +158,7 @@ hb_ft_get_glyph_v_origin (hb_font_t *font HB_UNUSED,
 }
 
 static hb_position_t
-hb_ft_get_glyph_h_kerning (hb_font_t *font HB_UNUSED,
+hb_ft_get_glyph_h_kerning (hb_font_t *font,
 			   void *font_data,
 			   hb_codepoint_t left_glyph,
 			   hb_codepoint_t right_glyph,
@@ -167,7 +167,8 @@ hb_ft_get_glyph_h_kerning (hb_font_t *font HB_UNUSED,
   FT_Face ft_face = (FT_Face) font_data;
   FT_Vector kerningv;
 
-  if (FT_Get_Kerning (ft_face, left_glyph, right_glyph, FT_KERNING_DEFAULT, &kerningv))
+  FT_Kerning_Mode mode = font->x_ppem ? FT_KERNING_DEFAULT : FT_KERNING_UNFITTED;
+  if (FT_Get_Kerning (ft_face, left_glyph, right_glyph, mode, &kerningv))
     return 0;
 
   return kerningv.x;



More information about the HarfBuzz mailing list