formatting
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
diff --git a/ChangeLog b/ChangeLog
index 5adb4e5..8b3631b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,7 @@
2007-02-21 David Turner <david@freetype.org>
- * src/pshinter/pshalgo.c: fixed a bug in the hinting of small
- and ghost stems in the Postscript interpreter
+ * src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
+ of small and ghost stems in the Postscript interpreter.
2007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
diff --git a/builds/mac/ftmac.c b/builds/mac/ftmac.c
index d6a8558..45365dc 100644
--- a/builds/mac/ftmac.c
+++ b/builds/mac/ftmac.c
@@ -283,7 +283,7 @@
kCFStringEncodingMacRoman );
ats_font_id = ATSFontFindFromName( cf_fontName,
kATSOptionFlagsUnRestrictedScope );
- CFRelease(cf_fontName);
+ CFRelease( cf_fontName );
if ( ats_font_id == 0 || ats_font_id == 0xFFFFFFFFUL )
return FT_Err_Unknown_File_Format;
diff --git a/src/pshinter/pshalgo.c b/src/pshinter/pshalgo.c
index a01ca2a..a22b80f 100644
--- a/src/pshinter/pshalgo.c
+++ b/src/pshinter/pshalgo.c
@@ -543,53 +543,57 @@
/* the stem is less than one pixel; we will center it
* around the nearest pixel center
*/
- if (len >= 32)
+ if ( len >= 32 )
{
- /* this is a special case where we also widen the stem
- * and align it to the pixel grid.
- *
- * stem_center = pos + (len/2)
- * nearest_pixel_center = FT_ROUND(stem_center-32)+32
- * new_pos = nearest_pixel_center-32
- * = FT_ROUND(stem_center-32)
- * = FT_FLOOR(stem_center-32+32)
- * = FT_FLOOR(stem_center)
- * new_len = 64
- */
- pos = FT_PIX_FLOOR( pos + (len >> 1) );
- len = 64;
+ /* This is a special case where we also widen the stem
+ * and align it to the pixel grid.
+ *
+ * stem_center = pos + (len/2)
+ * nearest_pixel_center = FT_ROUND(stem_center-32)+32
+ * new_pos = nearest_pixel_center-32
+ * = FT_ROUND(stem_center-32)
+ * = FT_FLOOR(stem_center-32+32)
+ * = FT_FLOOR(stem_center)
+ * new_len = 64
+ */
+ pos = FT_PIX_FLOOR( pos + ( len >> 1 ) );
+ len = 64;
}
- else if (len > 0)
+ else if ( len > 0 )
{
- /* this is a very small stem, we simply align it to the
- * pixel grid, trying to find the minimal displacement
- *
- * left = pos
- * right = pos + len
- * left_nearest_edge = ROUND(pos)
- * right_nearest_edge = ROUND(right)
- *
- * if ( ABS(left_nearest_edge - left) <= ABS(right_nearest_edge - right)
- * new_pos = left
- * else
- * new_pos = right
- */
- FT_Pos left_nearest = FT_PIX_ROUND(pos);
- FT_Pos right_nearest = FT_PIX_ROUND(pos+len);
- FT_Pos left_disp = left_nearest - pos;
- FT_Pos right_disp = right_nearest - (pos+len);
-
- if (left_disp < 0) left_disp = -left_disp;
- if (right_disp < 0) right_disp = -right_disp;
- if (left_disp <= right_disp)
- pos = left_nearest;
- else
- pos = right_nearest;
+ /* This is a very small stem; we simply align it to the
+ * pixel grid, trying to find the minimal displacement.
+ *
+ * left = pos
+ * right = pos + len
+ * left_nearest_edge = ROUND(pos)
+ * right_nearest_edge = ROUND(right)
+ *
+ * if ( ABS(left_nearest_edge - left) <=
+ * ABS(right_nearest_edge - right) )
+ * new_pos = left
+ * else
+ * new_pos = right
+ */
+ FT_Pos left_nearest = FT_PIX_ROUND( pos );
+ FT_Pos right_nearest = FT_PIX_ROUND( pos + len );
+ FT_Pos left_disp = left_nearest - pos;
+ FT_Pos right_disp = right_nearest - ( pos + len );
+
+
+ if ( left_disp < 0 )
+ left_disp = -left_disp;
+ if ( right_disp < 0 )
+ right_disp = -right_disp;
+ if ( left_disp <= right_disp )
+ pos = left_nearest;
+ else
+ pos = right_nearest;
}
else
{
- /* this is a ghost stem, we're going to simply round it */
- pos = FT_PIX_ROUND( pos );
+ /* this is a ghost stem; we simply round it */
+ pos = FT_PIX_ROUND( pos );
}
}
else